In today’s remote-first work environment, the shift to cloud-based team environments that rely on contractors is accelerating rapidly. Legendo is always on the lookout for talented C++ programmers and if you do not have prior game programming experience, read on.
Game development and animated entertainment take a long time and involve many crafts and disciplines to carry out the enormous variety of tasks required. A creative project, especially a video game, is almost impossible to plan accurately or to design in advance. Changes get made all the time that continuously steer the direction of any creative project. On the contrary, animation like various TV shows is a linear, passive form of entertainment that is far easier to plan, but even so, such projects often take on a spirit of their own that can steer the original plan in a slightly different direction.
We advise aspiring game programmers to learn C++ and assembler. Also, to become an engine programmer, you must understand low-level detail work — converting 32bit Windows projects to 64bit is a great learning process, as is writing your own little engine in 2D without using third-party libraries. 3D rendering requires complex mathematical knowledge, and some might think that “borrowing” a shader from Shadertoy instead of writing one from scratch is rendering programming. However, creating accurate, custom lighting like global illumination and raytracing — from scratch — is often what will be asked for, to give an example.
Never give up, start small, and keep pushing the boundaries of what you can do. Fresh and veteran developers alike often want to work on great AAA games or try to create the next Minecraft-like internet phenomenon — however, any person will quickly be overwhelmed and lose motivation if the bar is set too high. Instead, set incrementally complex goals — step by step — and make sure to take time to reflect back at previous work — you may often laugh at how you did something the first time around. Starting out with a Tetris clone is not a bad idea, especially if created with your own 2D or 3D engine that does not use third-party libraries.
Do not specialize at first, having a general understanding of game development is greatly beneficial. Work on rendering, engine architecture, setting up a sample store page on Steam, exploring basic gameplay logic (for reaction-based games like third-person adventures and platformers), collision, and audio. Like Unreal Engine and many others, we use FMOD at Legendo for all projects powered by in-house engines; sound is an area where it make sense to use a third-party library, especially for Windows.
Take time to understand not only how you want to work, but also how others can cooperate with you. This will force you to think of the entire game development process.
Lastly, have in mind games are more like services than products. More often than not, this means coding does not stop when the game launches — even mildly successful indie titles require patches and “community support” for months and sometimes even years after launch.
Feel free to head back Legendo’s overview of available positions.
Sign up for our newsletter to receive exclusive updates