Hi, I've been wanting to start my own game for a while, and am trying to decide where to start. I want to eventually create a turn-based strategy game (think Fire Emblem), and want to start learning how to do it. I know some Python, but other than that, I am rather inexperienced, so I have no language bias. Should I use an engine or learn a language? Which one would be best? I have time to make smaller projects and learn, so I'm ok if your recommendations become complex.
Should I use an engine or learn a programming language?
49 minutes ago, Obliviouslifeform said:Should I use an engine or learn a language?
If you are more interested in learning how games work than making a game then making a game from scratch is best. If you want to start making games as fast as possible then a engine would be better.
You will still need to code when using a engine.
The few engines that allow you to make games without any code is very restricting. Most engines have a coding language that the developer can use to make their game Unreal has C++ and Blueprints, Unity has C#, GameMaker uses GML.
Unreal is the hardest to learn. A top quality 3D game engine with more tools than you can ever use. It's a engine mostly aimed at experienced developers, although new developers could still make good games with it. Free to use with terms.
Unity a beginner friendly engine. Not as powerful as Unreal in 3D but makes up for it in usability, It's 2D side is as good as most 2D focused engines and allows for mixing with 3D; this is the engine most recommended for new developers. Free to use with terms.
GameMaker the easiest engine to learn, much easier than Unreal or Unity. GameMaker is a 2D focused engine and is the leading 2D engine at the moment. It is a million times easier to learn than any other engine. Has a free trial.
These are the 3 most dominant engines, with most games being sold right now made with these.
Welcome to the forums!
The short answer is: Both. It's becoming more and more common to use a pre-made engine instead of making your own. The simple reason for that is because you can make a better game faster using a pre-made engine.
The only thing I'd add to the above is to consider finding a game that you can mod. By modding a game you'll get some crazy insight into how it works, and you'll also get your feet wet in all sorts of things (art, sound, level design) that you might not touch for months if you make your own game from the ground up. It's always good to know where your strengths are.
That said, don't let me stop you from jumping into a language or engine. The best way to learn is to jump in and do it!
-Timmmmmmmmmmmmmmmm..
You would end up doing both in the end, as everyone has stated.
In the end though, Fire Emblem level may be a bit difficult as a first game regardless of engine or language. Start small projects that are related. So, Tic-tac-toe, Checkers, then chess. etc. Maybe the typical arcades like Pong. Because you will be overwhelmed realizing all the assets, code, and tools you have to make or learn before you get anywhere, regardless if you use Unity, Pygames, or make your own engine from your choice of language.
Having tried a few engines I also think it matters which engine you use. Unfortunately it took me a couple of years to realise that because when I started I didn't give each one at least a demo run for a few hours. Different people will prefer different ones. I expect it's the same with learning language so don't be afraid to try a few things before you settle on what path to take.
Here for the fun.
If you want to make a proper game you at least need to learn some coding. Even Gamemaker has it's own scripting language and could be a good start. There is also Unreal Engine, which allows you to code with blueprints in a visual manner, but for a bit more complicated systems you have to code in C++ which is a lot harder to pickup. This is how I would progress:
- Start with some basic programming tutorials. Teamtreehouse has a week long free trial, try to get in a lot of hours and it will be a nice jump start all for free.
- Create a command line game like hangman in the language you chosen. Keep things very simple, it is very easy to grow the scope of a game and then fail to complete it.
- Pick and learn a framework like Libgdx or Monogame.
- Code simpel games from start to finish worthy of releasing. They do not need to be great or extremely polished but they "just" need to work. You will get a tremendous boost from releasing a finished project on your own but don't expect any sales or income from them.
- Repeat making simple games, look for making clones that teach you something new and perhaps something you could use in your turn based game.
Depending on your time it might take a view years until you are able to make something you want. Games are very complex and you need to know a lot about programming to finish a slightly complex game on your own. Don't let this put you off, if you like to code and solve problems the road to your goal will often be fun and satisfying.