I finished implementing all the features in the third beta version of the engine (v1.0.0-Beta-3). Most of the implemented features relate to the animation of 3D characters and improvement with the collision detection system. There is no better way to test these implementations than by doing a simple game demo.
In my mind, creating a demo is a must. But it is also the activity I like the least. Not because I don't like to develop games, but because I have to spend time modeling game characters; time that I rather spend coding. Not only that, but you also have to set up the right game environment for the tests you want to run.
For example, I want to test how a character's animation and its collision detection are affected throughout the game. The ideal game environment (in my opinion) is one where there are multiple platforms (floors, stairs, etc.) that allows a character to jump and walk freely.
I don't have an artistic eye so instead of creating such environment from scratch; I search for ideas online and then model them myself. For example, the image below shows the environment which I will implement in the demo:
My 3D model implementation in Blender looks like this:
In my game engine it looks like this:
You may ask "Why don't you hire someone to model the game environment?" or "Why don't you simply buy the 3D model?" The reason is that developing a Game Engine is not just about coding. Is also about understanding how your users will use your engine.
Game development requires an artist and a developer. An artist produces the characters. The developer gives the characters actions. The linkage between the artist and the developer is the game engine. The game engine holds the character's artistic and geometrical information, which the developer manipulates.
As a game engine developer, you must not only understand how a developer will use your API but also how an artist creates the characters your engine will render. For example, I'm aware of certain modeling techniques that the engine can't handle yet but is common among 3D artists.
Another benefit is that by you developing the characters and creating a demo; you get to experience your application workflow. During the second demo, I ended up making several modifications to the API after realizing its awkwardness.
So yes, it is far easier to hire someone to do the creative work, but it defeats the purpose of development. You don't develop an app for you; you develop it for your users. If you don't provide a good user experience, the number of features in your app won't matter.