Following our latest awesome blog post/interview with Speed Limit programmer Karlo, we are continuing in a similar tone with Speed Limit lead programmer, Vanja.
Tell us a bit about who Vanja is and what you do in Gamechuck
Hey. My name is Vanja, also known as Nerroth or Nerri on the internet and I absolutely love programming, playing video games and of course dragons!
I am one of the programmers at Gamechuck and I’ve worked as the comic editor for our Interactive Comics Engine and later on Speed Limit as the lead programmer along with other awesome and very talented people from Gamechuck. I am now working on a different project that I sadly cannot speak of yet.
What were your tasks during Speed Limit production?
My tasks during Speed Limit’s development were originally to write the game and all its stages. However, we soon discovered that this is almost like developing six different games at once so extra programming power was needed. This is where Karlo comes in, as well as later on Sara who joined us late in development.
I worked on programming the core engine, everything related to UI, sound library, I/O (data management) as well as working on stages 1-4 and 9-10. I also did the scripting for the cutscenes in those stages. It was very fun to do.
There were a lot of tasks for me to do in order to turn Speed Limit into a finished game. This was by no means an easy task and required hours and hours of debugging to make sure the game runs as good as possible.
Can you explain how you did that awesome transition when the Speed Limit guy jumps in the car?
If you were to take the game camera in any game anywhere you would like to. You would soon discover that the game worlds are illusions because the content outside of the player’s view ends with empty voids.
Speed Limit is no exception to this and so our transitions are illusions where we hide things out of the player’s view or simply obscure certain elements during transitions to bring the player’s attention to a specific part of the screen.
Changing perspectives in Speed Limit was one of the big challenges because everything we render on screen only uses the X and Y axis, the third Z axis is always 0 and the camera projection matrix is set up for 2D orthographic projection.
While it is possible to go full 3D with GameMaker Studio 2, going 3D for transitions would not help making them happen.
The transition for the outro to the train section was made out of a very special train carriage. The carriage has 4 images that we stretch in order to fake perspective changes. The road is made out of 2 images (fence, and the road itself) while the train tracks are just stretched out.
The background city is just moved above and outside the screen so the water ends up covering the top of the screen. Once this change is made, a tunnel entrance always sitting outside of the camera view to the right is brought into view and it covers the train and brings the repeated tile pattern from the car section in.
After the pattern covers the entire screen we immediately swap to the car section as seamlessly as possible. The car itself has an animation where the perspective changes which Jurica animated by hand.
What was the most difficult task for you to perform?
I’d say it was making the game, but that would just be a lazy excuse for not answering this question right?
I have to say that the hardest part of the entire game was for me to implement AI for the car section. I wasted a full week trying to make a pathfinding AI for the enemy which we ended up scrapping as it was a huge issue and I had the wrong approach the whole time without realizing it.
The pathfinding AI was kept in the game in the end but there’s no logic to it. The enemy will just attempt to reach the target location while attempting to avoid incoming obstacles (traffic, concrete barriers and fences).
This proved to be very fun as the AI suddenly became crazy. It did not care about its safety much, it just wanted to get into position so it could stop the player even if it meant that it would end up crashing into a car.
This made almost everyone at the office like it and laugh as the traffic accidents in the game can sometimes be chaotic and funny.
One time, when Jan made us test his level design on the car section I had a biker in the opposite lane zig-zagging around the concrete barriers perfectly and I started laughing and thought to myself. The non-existent pathfinding AI works!
Everyone in the office knows you’re a big Nintendo fan. Why is that?
No idea. It might be because I used to take my Mario cap to the office every time. Or it could be because I use to carry my Switch with me all the time and squeeze a bit of playtime during the bus ride to work if I can find a seat.
I’d not call myself a fan but rather a person who really likes Nintendo games and the innovative things Nintendo makes. I also have an Xbox One but I mostly end up playing games on my Switch.
I used to play a lot of 3DS games but when the Switch was announced I knew this was the console I always wanted. It allows me to play big games anywhere and at any time. Something not possible with any other device.
Even gaming laptops cannot give you this good of an experience. The Switch’s battery can hold up from 3-6 hours (4.5-9 if you own the newer revision) of playtime while a gaming laptop would give you 1 hour at best while being highly underpowered on the battery to the point the Switch ends up being a better option performance-wise.
These are the reasons why I choose Nintendo over any other company as it suits my taste in games and my needs.