This decision will depend on many factors. As I approach this as a hobby or my side business the most important factor is the time I have. By that I rule out that I could start with absolutely nothing - a game engine or an appropriate development environment must be found.
Such a development environment that was created for the games development, already usually involves a game engine with many useful features.
Anticipation - My decision was GameMaker: Studio, but there are some alternatives:
See list of game engines.
Below I would like to present a few of these development environments, with a few keywords of the respective companies themselves:
- Feature-rich and highly flexible editor
- 22 platforms
- Uniquely extendible tool
- Create highly-optimized content
- Amazing visual fidelity, rendering power and ambience
- Rapid iteration
- Retargetable animations
- Full control of animation weights at runtime
- Enlighten-powered Real-time Global Illumination
- Physically-based shading
- Audio: Real-time mixing and mastering
- 2D and 3D Physics - Box2D, NVIDIA® PhysX® 3.3
- Version control: Perforce and Plastic SCM
- DirectX 11 & 12 Rendering Features
- New Material Pipeline
- Blueprint Visual Scripting
- Content Browser
- Matinee Cinematics
- Terrain & Foliage
- Full Source Code Access
- Simulate & Immersive Views
- 14+ platforms
- Asset Workflow: Shaders, Sprites, Sounds, Fonts
- Scripting: Script Editor, built-in scripting language
- real-world physics: Box2D
- multichannel three dimensional positional audio utilising
- Several compilers
- Monetize, Analyse, Social media, Game Services
- Source Control: SVN, CVS or Git
- Enhanced map editor
- Character/Enemy/Skill/Equipment Database
- Built-in Character Generator
- Cof graphics, with 4 tilesets and collapsed character sprites
- Shadow tool
- Own scripting: RGSS3, based on Ruby 1.9.2
- Windows only
- HTML5 2D games
- Quick & Easy
- Flexible Behaviors as pre-packaged functions
- Instant Preview without compiling
- Blend modes, effects and particle system
- Over 70 WebGL-based pixel shader
- Multiplatform Export
- Easy Extensibility
This is a selection which is based on what programs I have encountered most often, or seem to me the best known. So I would not say these are the best.
The key points were selected randomly halfway, ie when an item is missing from a development environment, this does not mean that this environment is missing the function.
Which development environment for you is the right one, you have to choose for yourself. As already mentioned my decision fell on GameMaker, for the following reasons:
- I already have licenses for the commercial use of the iOS and Android modules.
- I have been working since 2008 with older versions of Game Maker and have accumulated a lot of experience, which could save time.
- I have already created other projects with it, in which I have invested much effort in reusability, especially in the last project.
If I had to start completely from scratch, however, my choice would probably fall on Unity3D. This program came to me earlier out of the question because it was very expensive. But the payment model has changed: You pay only after a certain amount that you have achieved through Unity as income.
Also I can recommend both, Unity and GameMaker, for beginners as it is easy to find countless tutorials and learning material on the Internet.
In my next posts I will therefore respond specifically to GameMaker dependent aspects and reactions which would be handled very differently in other development environments. Nevertheless, I am going to focus on the general approach, making it a more instructive and informative blog also without the use of GameMaker.
Those who still can not decide, I recommend just to try a few of these (or other) programs and work through one or two beginner tutorials to get a reasonable impression.