Hello. I would like to program 2d and 3d games but I’m an absolute beginner at it. I know a little bit of c++ and c#. People seem to recommend Unity since it has a big community. Although also some people recommended Godot for it’s ease of use. Which one should I use?
Stick to 2D…
Stick to 2D…
I would strongly recommend for you to stick to 2D for a start. And then I would recommend to try the free version of Game Maker, although the studio have completely ruined the software, it’s still much easier to wrap your head around it rather than something like unity.
Also Game Maker used to have a drag and drop command function, so you don’t have to know coding at all, but I am not sure if they removed that feature.
The issue with 3D for a beginner is in basically everything. Coding is multiple times more comes, collisions are crazy complicated, then there are 3D models and texturing and 3D animations and stuff…
2D is much easier to wrap your head around until you know what you are doing and then layer the extra dimension on top of what you know.
To be fair I never heard of Godot, so I have no idea what it is…
How “absolute beginner” are we talking here?
- Dabled in Scratch or Lego Mindstorms (drag&drop programming)
- Ruby, Python, Processing “did some light coding”
- Java, C/C++, C# “venturing into GUI land”
- Worked as software engineer at NASA for 25 years and want to make a game now
If you are 1) or 2) on the above list, try mocking up your game in Python, Ruby or Processing. Then look into Java or C/C++ and engines.
For all else, follow what @psycho_666 said:
Do you intend to learn programming? Or just wanna design games?
Might wanna try Unreal Engine 4 and their node based game scripting. Although I don’t have an experience with that, heard good stuff.
And if you want to do the programming route you can code in C++ for UE4, then expose some functionality as nodes, so you can use both.
If you’re gonna use Unity or UE4, it’s nothing like he says, coz the physics are prebuilt for ya. You’re not writing it from scratch. You can do 3D from the get go, although 2D will be easier, but it’s not as bad as he makes it to be here.
Unless ofc you’re coding it from scratch, which you said you’re not, so
At least argument it. As someone who did most of my gamedev in unity, imma say that unity is pretty meh, coz you still need to do a lot of backend by yourself, which defeats the purpose of the engine, UE4 has a lot more stuff from the get go, although Unity has more docs and larger community.
Okay my point was that Unity will teach someone how to handle the backend. While engines out there can do it for you, Its valuable knowledge to have. Unity has a lot of documentation and a great support community like you said. I thought this was pretty self evident given a minimum amount of research
it won’t teach you, you’ll have to learn yourself.
and UE4 might be better for it anyways, since you have all the source for the engine.
But I see where’re you coming from
This is basically what I meant. Unless you get your hands dirty I dont feel youve done yourself justice. For example for me Offensive Security or Security first comm engineering etc… You will never get good at it unless you continuously teach yourself. When you can run circles around other programmers its quite an accomplished feeling. Thats why i suggested UE. It will yield similar feelings in game programming
U meant all that with one word?
ur making me physically experience pain
It was a clear definitive answer to the OP’s question. I dont very much like the Godot engine. I think it has some progress to be made. That said its not a bad engine or anything of the sort
It was a name drop without anything to back it up.
And you just said that you suggested UE, when you suggested Unity 2 times.
oops I thought we were abbreviating with acronym soup again. When I said UE … I meant Unity.
Unreal engine is good too I didnt think of that. However a lot of people are up in arms about epic games so it depends on how the OP feels about that
Have you ever programmed 3D movement in unity? With all the vectors and stuff, cause the physics are done for you, but you still need to program everything else…
Now in Game Maker the animation depends on the sprite. No code.
The movement code is literally
Done. You move to the right. No vectors, no nothing. That is all the code needed for a sprite to move.
Even in 2D Unity is much more complex to program and wrap your head around for a complete newcomer.
I think the question is, what OP wants to do longer term.
If you have no clear plan for your game and just feel like you want to do something, i agree it’s much better to stick to 2D and worry more about characters, storys and mechanics.
If you have a clearer goal in mind and this involves a 3D world, there is not much sense “wasting” time on 2D stuff that you 1. don’t want to do 2. maybe don’t enjoy and 3. can’t reuse in your actual project in large parts.
OP need’s to be aware, that diving into 3D Games is bound to be a LOT of work and learning. I wouldn’t discourage it though. I feel like you’re at your best when you’re working towards something you actually want to do.
As for Engines: It literally doesn’t matter. Any of the mentioned ones will be capable of doing what ever you want. The difference in features and capabilities are irrelevant at the level we are talking about here.
Install all the Engines you find interesting and fire up a beginner Tutorial part 1. Work with that for an hour or so. After that you’ll have a rudamentary idea of how the workflow and interface will work. Then pick the one that you liked most. Not much sense in comparing backends, frontends and capabilities here.
My personal pick would be Godot. I looked into it some weeks back and really enjoyed the workflow. I don’t work on a Game, so i have no use for it, but i like to dabble in those things.
The idea is to practice gaming concepts and designs in 2D before jumping to 3D…
It’s simpler to make a 2D battle system than 3D one… Later on you can add jumps and what not, but before you know the basics full 3D everything could be massively overwhelming…
I guess the OP can try 3D and see how it feels about it. He may easily be more adjusted to it than me…
Yes I did. There are built in character controllers for ya, and in any case, with a little math and trial and error it’s not hard.
u can do the same in 3D, it’s as simple as that. It’s only complex when you’re simulating something complex, just like in 2D.
I can get unity’s movement working without any coding needed on my part if I wanted. You really don’t have to go into vectors and such yourself unless you want something fancy and unique.
If you are starting out, I would go for Unity.
The amount of resources that you have at your disposal is massive and helpful to newcomers compared to Godot. Which does make Unity easier to learn than Godot.
Once you conquer Unity, then you can branch out to any kind of game engine you want with ease. You’ll have practically seen it all at that point.
Something to consider is Godot is mainly 2D dedicated. Unity does both but in a different way. On Unity, 2D and 3D are interchangeable. Which means it runs a 2D perceptive within a 3D space when you pick 2D. Which sounds more complex than it actually is. That doesn’t matter as much if you are starting out or even sometimes after. But if you really need to free up resources on the computer with a 2D game then building it in something like Godot might be better since Godot specializes in 2D.