Developers' story: From game to 3D app development
Why a programmer might be fed up with game development and find joy in 3D apps?
Moving from game to app development might seem like a long leap, but it was in fact quite swift for us. We transitioned mainly because we felt that the game development environment was not consistent enough and there was almost never a fixed end goal.
For instance, in game development, there were many ideas looking good on paper - but defective after implementation. What is more, some of them turned 180 degrees and an intention to develop a 2D game for Android resulted in a 3D PC game.
So after working for over two years in game dev, we've had enough. Not because game development isn’t exciting. We simply wanted something more challenging and significant - and that’s what motivated us to join Setapp’s 3D development team almost a year ago.
Undervalued efforts in game dev
One of the most irritating aspects of working in a game development was the disordered development environment. At times we felt that our time and efforts were wasted, e.g. we’d write multiple lines of code which were later deemed useless. In game development, there are often multiple ideas. Making flying monsters, making swimming monsters, making four-legged monsters. All of that takes you two weeks, and then a Product Owner might say:
You know what... these flying and swimming monsters are stupid. Let’s get rid of them.
Quality over quantity in 3D app dev
In game development, we noticed a quantity over quality approach which often leads to messy code. It sometimes was so sloppy that other developers in our team often had a hard time understanding it. It meant a lot of mechanics for implementation and barely any time to refactor a new code. It was painful!
In app development, it’s a different story altogether. The emphasis on writing quality code is the norm which makes our life a lot more satisfying.
Wider learning posssibilities
App development is a constant learning. We are fortunate to have great mentors and leaders who value our personal development. Due to given space and time, we dig deep into topics of our interests and acquire new skills - relevant to the latest tech trends.
While developing mobile games, we were supposed to work on many projects as fast as possible, one after another. If users found a project appealing then we’d improve it. Basically, the game designer had an idea, we’d talk about it for a few days and then try to implement it as fast as possible. The curious case of a headless chicken.
Unity for non-game development
Unity - a game engine for creating mobile games - is also great for Android, iOS and desktop apps as well. The engine supports multiple platforms and isn't very hard to learn. To start doing some basic things you don't even need any programming skills. It's easy to start and hard to master, though. In other game engines, you can hit the wall at the very beginning. With Unity, you can start working in two weeks.
Making a user interface layout is pretty straightforward. But if you want something completely customized, it’s quite challenging. The main programming language used is C#. However, it’s not that hard to adapt if you already have some skills with other languages like Java or C++.
Exciting and meaningful projects
Working in app development tend to be much more interesting and meaningful than in game development. Currently we're involved in a project which intention is to help people navigate around huge buildings - like shopping malls, airports, and hospitals. The map that you see at mall entrances will now be available on your mobile phone.
A challenge lays in spatial coordinates, placing the venue on the map and calculating correct positions for the user. One of our main concerns - and, at the same time, one of the project's greatest points - is a proper architectural structure for the whole project and making it maintainable for years to come.
To wrap up
So that’s our story. We are learning non-stop, and the projects we are working on are far more fulfilling than the ones we had in game development. The Setapp 3D app team - including our mentors and team leaders - is very supportive, both in our personal and professional development.
Working in 3D app development opened up many possibilities for us. Yes, there are challenges along the way. But hey! Who doesn’t like challenges?