Hey folks,
I started developing a small 3D game engine some years ago as a side project next to my job as software product manager / team leader, because I wanted to learn more about graphics programming, AI, etc. As time passed, my game engine got bigger and better and my frustration in my job increased. By the end of 2016 I quit my job, founded my own Indie video game company and created my first game Galactic Crew which will be released later this year. Today, I went to an exhibition called Play NYC and I talked to a lot of game developers about their projects and all but two were using Unity for their projects. Everyone was really excited when I showed them screenshots and told them I created my own game engine for this game.
The thing is, I love game development for two reasons: creativity and technology. I love having an idea in my mind, putting it on paper, creating a documentation and finally creating the game. I also love the technology. I recently added support for Soft Shadowing (using Shadow Mapping) and several Glow effects to my game. It took a few weeks, but I learned a lot of stuff in this time and it felt unbelievable satisfying when I completed it.
I make my living creating video games. The first one will have its final release this year and the second one will start its Early Access phase at the same time. I struggle for quite some time what I should do afterwards. Making money as a solo Indie game developer is not easy and using an environment like Unity gives me a lot of features that would take me a long time to develop by myself. So, creating the next 3D games would be faster and probably more beautiful. In addition, the visual appearance of my game engine will always compete against the big commercial engines which is a fight I cannot win. But I really do not want to abandon my game engine development, because the satisfaction of moments were you have your first flawlessly animated 3D character (using Skinned Animation), including importing FBX files is amazing. Or having your new models rendered in a Physical-Based Rendering Shader... Or reducing GPU load when creating your first Octree-based Scene Graph for scene management... Or having dynamic shadows for all your game's content in (almost) real-time... I don't want to miss that. But I also need to make sure that I can create a new video game before the last one stops producing revenues.
I really would like to hear your opinions. ?