I’ve been programming since early 1990s. Fairly early on, I also started building different kinds of games: small quick action blasts, adventure games, car games, space shooters, brain quizzes, and so on. Truth to be told, many of them only reached proof-of-concept or prototype level, but there are e.g. several mobile games available in app stores that I’ve created. And even now, I’m working on some new ideas.
But man has the game development space advanced since then.
In the mid-90s, when I started building first games with proper graphical user interface (instead of manipulating system fonts to look like sprites), I didn’t know what I was getting myself into. I started by reading about game development and graphics programming in books and BBSes (kinda like digital discussion boards in the early days of Internet).
And I learned a lot, starting with simple array of pixels representing the screen, and interpolating lines there. Then calculating circles, drawing rectangles, and filling areas with colors. Reading image files, calculating their transparencies and animating sprites. And after drawing every frame to the “double buffered”-array, it needed to be manually moved to the memory of the graphics adapter. Learning about interruptions (i.e. computer interruptions, used to interrupt the other work the computer is doing to request data from a certain hardware or software components) and using them to utilise joysticks, keyboard and mouse.
After getting my character to walk with smooth animation to where I would click on the screen, automatically avoiding obstacles, drawn either in front or behind the said obstacles, I needed sounds. This was before DirectX or other similar standards was available and it could quickly get quite complex. Usually, the simplest way for indie-developers was to just support one sound card manufacturer. At the time it was either Gravis Ultrasound, or especially SoundBlaster. And so I I built sounds for SoundBlaster.
Finally, after a lot of fine tuning, I could get a proof-of-concept, prototype or even a fully functioning game ready, came the question how I would bring it out to the world to see. But that whole app publishing topic deserves its own blog post.
I had a pause with my game development hobby around 2000-2013, though we built various small games projects at work during that time. But then in 2013 the time was right again, and I started looking into how the game development scene had really evolved. And man, had it evolved.
Opening the game development environment Unity3D for the first time was quite an eye opener. You could drag and drop elements on screen, move the camera around, write some lines of code, click-click-click, and you could actually have a simple game engine prototype ready. Going from 2D to 3D games, without the need to understand the much more complex mathematics, you could actually just focus on building your vision instead of working under the hood.
I ran through some tutorials quickly, and after the first day I had already created a relatively playable prototype, with animations, physics, sounds and other bells and whistles. Another huge advantage nowadays is the large amount of content in the asset store you can purchase such as advanced scripts, menus, whole engines or components, graphics, sounds, models - or even whole game templates for a few euros. These assets help to kickstart and further develop game projects faster than ever.
And of course that’s the way it should be. With web development it has been a growing trend to have more and more sophisticated libraries and frameworks so you would not need to invent the wheel again. On the game dev side, this can of course also be noticed because of the huge amount of new games being launched e.g. in mobile app stores every day.
The tools and frameworks for building games, websites and mobile apps are evolving. And that is great, since it allows developers to focus on innovating new things instead of creating the initial structure for it. And when you’ve used to build stuff from scratch, you can especially appreciate those frameworks, knowing how much work and time they can save.
But the scene has not stopped evolving. Games and experiences for VR (Virtual Reality) and AR (Augmented reality) are growing rapidly, as is their device penetration. They allow you to create completely new kinds of experiences, where the player is immersed to the game on a whole new level. And these technologies will become more and more common in the future.
We at Make Helsinki have experience with building mobile games and are now working with different smaller VR & AR projects. Do you want to learn more about how we could help you in these areas, or perhaps try out the possibilities of the new technologies for yourself? Just drop us a line and let’s have a chat!