Hi all,
For starters, I'm a beginner-intermediate game programmer that has made small games in both Unity and Game Maker, as well as plenty of unfinished larger-scope projects.
I have a game concept that I want to start prototyping, but I'm having a bit of difficulty choosing an engine that would best suit my needs. The game is an "AI companion"-based action platformer, the scope of which is Shovel Knight at its most ambitious and Mario Bros. (the arcade game) at its most tame (a demo, basically). The two game engines I'm looking at are Unity and Game Maker Studio 2, although I'm more than open to any other 2D-capable game engines that have a development environment as advanced as those, especially one that uses C++ (UE4 Paper2D is another consideration).
My initial thoughts are that, with GMS2, I would be able to get something workable out super quick (relatively speaking) and I feel that it has a better workflow for 2D than Unity. However, I've found that creating larger projects in GMS2 starts to get out of hand pretty fast, and the Game Maker Language isn't very robust, nor is it translatable towards other engines or languages. So for a large-scale construction of the game, I'd probably prefer Unity. Also, I'd imagine Unity has more tools for implementing AI, which this game would rely on heavily.
Those are some of my thoughts. I would greatly appreciate any input anybody else may have on this topic! If you want something more specific to reply to, here are some more focused questions I have:
- Is GMS2 unsuitable for large-scale games (say, Shovel Knight, or maybe even bigger) or do I just need to learn project organization?
- Does Unity provide better tools for implementing AI in a platformer (if any) than GMS2 or is that mostly on me as the programmer?
- Are there any 2D C++ Game Engines with development environments similar to Unity and GMS2?
- If your answer to (3) is UE4, how does Paper 2D compare to Unity and GMS2?
Thanks for your help!