Escape From Kouvola

You find yourself trapped in the old metro tunnels of Soviet Kouvola… and as if your situation doesn’t seem bad enough already, you quickly find out that you’re not alone. The infected citizens of Kouvola are coming for you, and you need to escape while you still can! So load up your Shotbat™ and smash your way into freedom! Or you might never see daylight ever again…

The idea

early shotbat concept

Everything started with our idea for a cool weapon design that would be a combination of a baseball bat and a shotgun, so you could use it for both hitting and shooting the enemies. We wanted to make a dark game with a realistic style, and were inspired by games like Metro, Fallout and Wolfenstein. We wanted the environment to be like metro tunnels and dark underground environments like sewers and maintenance rooms, and were also heavily inspired by old Soviet architecture and themes. We wanted the player character to be a strong female character with some attitude, and for the enemies we wanted to make something resembling zombies, with the idea being that they were maybe infected by something. And of course we quickly decided that the game should be taking place in Kouvola.

high-poly skinny zombie model

The process

We started by working on basic building blocks for the environment and the enemy models, as well as experimenting with some blood and gore effects. We also had the camera and basic movement set up very quickly, as well as the night vision and grenade mechanics. The enemy models were created by having three different body types (skinny, muscular and fat), all of which were given shape keys that can be used to add variation to the enemy body types and proportions. Later we started building the level and adding the combat mechanics and hand animations for the player, as well as adding some sound effects and implementing different enemy types. Most of the work was done in bursts, and the whole game was finalized in the last few days before the presentation, by building a bigger level with more content, adding sound effects, tweaking the animations, adding particle effects and just polishing everything. We plan to continue working on this game more in the future, but after the final crunch, the game is already in a decent place.

Download the game from


From left to right:

Peetu Kuoppala: Programming, VFX, Props

Eemeli Mäntylä: Enemy models, Props

Rama Hannula: Programming, SFX, VFX, Animations

Axel Kulomaa: Environment models, Level design, Props

Onni Lahti: Lead Programmer, UI

Umut Soydan: Illustrations, Weapon model, Props

GA Spring 2023 – Celestial Quest 

In the spring season of Games Academy, our team Secret Cyborgs  took to the skies and created the game Celestial Quest. 

This term we wanted to make a simple game since our team was quite small (2 programmers, 1 artist). We were inspired by platformer games, such as Crash Bandicoot and Donald Duck: Goin’ Quackers. Celestial Quest turned out to be a space-themed, platformer game where the player has to clear different levels, while collecting crystals and avoid different obstacles (enemies, traps etc.). We wanted to give the game a mystical feel and look in a rather minimalistic style. Inspiration for the art came especially from Hollow Knight and Ori and the Will of the Wisp

Development process 


Since our team was quite small we focused on implementing the most basic features to the game, such as:

  • Character movement & jumping (with double jump)
  • Camera that follows the player 
  • Enemies (two different kinds) 
  • Collectables (items for points and HP) 
  • Teleporter (for entering and exiting levels) 
  • At least three unlockable levels

We started by making a list of the things that we wanted to implement and then divided the work between our two programmers. However, we felt at some point that the game was lacking a bit and decided that we wanted to add some traps and a moving platform as well.

The final result is not perfect, but we learned a lot from this project and we were able to implement most of the things that we wanted.


The process for the art started with some moodboards and concepts, for the character as well as the general look of the levels. 

First concept art: 

Once implemented in 3D, the first character design turned out to be quite difficult for the time we had, for example due to the animation of the cloak that would have been necessary. So the character was redesigned. The enemy characters were designed matching to the simplistic style. 

The UI came shortly after the characters were done, as well as some environmental art (temple) and the collectibles. Unfortunately not everything was implemented in the game. We managed to get the health bar into the game, but not the bar for collectibles. We also planned to have some textures for the ground and the collectibles, but after several issues with exporting the textures, we decided to only keep the textures for the crystals. Lastly we added sounds to the game. 

Final look: 



Daniella Azouer
Jesse Rajala


Maria Zapf

GA Spring 2023 – The Gnoming

Welcome to The Gnoming!

Prepare to protect your ritual site greenhouse from pesky enemies trying to stop you…

Swing your trusty old hoe, plant defensive plants and stand your ground through endless hordes of enemies as they try to take down you and your greenhouse!

The idea
At the season start, we bounced some ideas off of each other. Some of us had ideas for more casual and relaxed games, some had ideas about horror game elements. We ended up going down a sort of a middle path, landing on a Plants VS Zombies inspired tower defense game with some slight atmospheric horror elements. The team had some differing ideas of how to go about with the whole tower defense mechanic, and even with that we ended up reaching a middle of the road type of an agreement. We moved more towards an open arena instead of a small and tight grid, but still kept that horizontal directionality instead of going to a full 360 arena around the defendable point.

Early development screenshot

Even before the project started, we talked a little about the upcoming graphics workload, and ended up deciding to go for a retro-inspired direction with a downscaled resolution and forced limited color palette through a custom LUT. While the idea allowed for fast work and quick iteration, it came with its own set of challenges, as visibility suffered greatly during the darker periods of the game, which were supposed be the highlight of the entire game. In the end we managed to work around these issues, but they still persist to this day to some degree.

Working with very simple lowpoly models helped us to create required assets a little faster than what we would’ve been able to do compared to, for example, more realistic graphics, which was another topic of discussion in the beginning of the project. We ended up sticking with it, and while some of us had slightly different styles of work, it blends together thanks to the limited color palette and downscaled resolution!

The whole gnome theme came from the casual game ideas, those being more towards something like Stardew Valley, and so we just ran with the idea and ended up sticking with it. A garden gnome defending his home sounded like a cool idea at least!

The Result
Despite a bit of a rocky development, the end result ended up being a relatively polished experience, although we’re still a little unsure about the actual balance of the game. We’re all proud to present the it to the world either way!

Download the game from here!

The game project was created by our lovely team Bluescreen:

Lauri Vahosalmi – Artist

Hannes Karttunen – Artist

Eetu Vartiainen – Artist 

Teemu Herrala – Programmer

Jesse Vuorela – Programmer

Inka Harilainen – Programmer 

GA Spring 2023 – The Forgotten Ruins

The Forgotten Ruins

“The Forgotten Ruins” is an isometric adventure/puzzle game with a desert themed environment. The player is a humanoid fennec fox who explores the ancient ruins, solving various puzzles and defeating enemies on the way.

Progress of the project

The project started by deciding to use the style and game play of Tunic as a base. Originally the goal was to include multiple levels, but these were cut due to time constraints. To aid the player in their adventure, they can discover several abilities to assist them in defeating enemies and solving puzzles.

The theme was set to low poly desert as artists were keen on the idea of having a humanoid fennec fox as a playable character. This theme was also simpler to implement as a lot of desert themed objects are often very simple geometrically and can be covered in sand if necessary.

The development was rocky and ended up in a crunch towards the end. Several features required vastly more time than what was planned, and many planned features ended up on the chopping block. Moving to 3 dimensions from 2 was its own challenge and ended up costing a large amount of time.

Link to the game:

The Forgotten Ruins



Alina Leinonen

Nina Korkeamäki

Joonas Aro


Lauri Kalliola

Samu Pulli

Tomi Sepänmaa

GA Spring 2023 – B.O.B & Cat

In B.O.B & Cat, you play as a bobcat who is stuck in a mysterious, deteriorating factory, trying to find its way out. Travelling with it is a tiny robot, guiding it forward, its intentions unknown. B.O.B & Cat is a love letter to early 2000 era action adventure/platformer games such as Ratchet & Clank and the Sly Cooper series. Explore an interesting location, collect hidden trophies and smash enemy robots to bits in this action platforming epic!

Development process

It all started with an admiration towards the aforementioned PlayStation 2 era video games. We wanted to recreate the feeling we had when we played those games as kids. The first thing decided was the character, or rather, characters. It just simply would not be a PS2 era inspired action adventure/platforming game without an anthropomorphic animal as the main character. There is no “Ratchet & Clank” without Ratchet, nor is there “Jak & Daxter” without Jak. However, those games also would not be the same without the trusty companions. That’s why we created B.O.B, a small robot that follows the player around, helping them make sense of the bizarre and spooky world they have found themselves in.

After deciding on the characters and tone, we needed to agree on which gameplay elements we would implement from the games. Jumping, running and attacking were obvious ones since all of the games have those. We also needed a way to interact with the world, something unique to our game. The answer laid in the robot companion. In the game, B.O.B is used to help open doors and battle enemies. It can smash itself into fuse boxes and enemies alike, causing damage to any and all circuitry it comes in contact with.

Other than being a wrecking ball, B.O.B also provides helpful and, at times, humorous commentary on the events that transpire when Cat traverses through the dangerous obstacles in the rundown factory. We wanted to have a rich and unique narrative to our game, but were quite held back by the time we had. Since we had no time to implement npcs, not to even mention cutscenes, we had to focus on making sure we can tell a cohesive story with just the environment and a couple of dialogue lines from B.O.B. We would like to think we did well and the game certainly does have an unique vibe to it.

All in all, there is absolutely tons of things we didn’t have time to add, but we as a team are happy with how the game turned out. For a new player there is more than 30 minutes of exploring, dodging obstacles, jumping from platform to another, collecting two different kinds of collectibles, fighting enemies and solving puzzles! Test it out for yourself in the link below!

The people who made the magic happen

Niko Holopainen: Project lead, level design, programming

Joonas Järvinen: Programming, level design

Pasi Sundelin: Programming, audio

Joey Audi: 3D art, level design

Vuokko Lehtola: 3D art, animation, 2D art

Aino Virtala: 3D art, 2D art

Valtteri Kamppinen: 3D art, animation

GA Spring 2023 – Cyber Scythe

Just you and your scythe against the AI that has taken over…

It’s the typical story, really. The world has fallen into a dystopia governed by an evil AI, and you, the titular Cyber Scythe, with your titular Cyber Scythe, are the only one who can stand against the oppressive robot overlords. Can you get through the levels and find the mastermind AI behind it all?

[Download the game at!]

The only time you see Cyber Scythe sitting still.

Based on classic PS2/Xbox era platformers, Cyber Scythe by Team 404 combines platforming and light combat, and features an unique, eyecatching aesthetic with plenty of fun details to spot.

It’s like a spooky rave church, but it works. – Gareth Noyce, 2023

As with the team’s previous game, Mänteater, the theme (in this case, “neon medieval cyberpunk”) was settled on early, and the artists set to make the style happen as the programmers started building up the basics. The very basic blocks of the game were built early and fast, but around the mid-season the game started to slow down, causing some troubles finding enough time to finish everything needed. Still, the towards the end the team managed to pull together a working game, learning a lot in the process — about Unity, 3d artwork creation, game design… themselves? The real Cyber Scythe was inside you all along.

There are numerous tweaks, polishes and cleaning up one could still do, but even without them the game works as intended, and offers the player a fun, short action platformer experience, that has an unique look, small environment-based narrative and clear progression.

This game was created as a part of TAMK Games Academy 2023 Spring Semester by a team of six students.
Programming: Eetu Hentunen, Jesse Leppä, Kristian Törmä
Art: Nika Toikka, Ronja Heimonen, SM Aho

GA Spring 2023 – Malt Hazard by Team Börsta


👨‍💻 Programmers: Ville Lehdonkangas and Juuso Kemppainen
🎨 Artists: Jonna Pentti and Oskari Ojala


Our idea was to create a simple arcade game. The player would accumulate score by reaching the top end of one of three track platforms, while avoiding hazards which traverse through the track platform it was spawned on and which will eventually fall off of. The track platform would have speed value which increases after the respective top end has been reached by the player, which would pull the player towards the track platform’s bottom end and ultimately to their death.

Upon starting the run and after reaching a top end of a track platform the player would be positioned on safe platform where the player could move sideways and choose a track platform to jump on top of.

It was planned that, after the player reaches every track platform’s top end the length of the track platforms would increase. This feature was scrapped.

Power-ups weren’t planned. Player having multiple lives wasn’t planned, but made to the final build.

It was agreed, that the player character would be a dachshund, the hazards would be rolling barrels and at the top end of a track platform would be beer to represent the goal.

Development process

The development of the project was active right off the bat, which was rendered nonexistent, because there wasn’t enough planning, communication and/or feedback, until the second to last weekend before deadline.

The core gameplay was implemented before the deactivation of development and the rest was implemented after the reactivation of development.


There’s not much to tell about the art, as one of the artists fell very ill and had to leave for a long sick leave, thus being incapable of working.
There was concept art of the cute Dachshund, “Mäyris”, that was supposed to have multiple outfit choices, such as a literal “mäyräkoira”, a 12-pack of beer.

Mäyris in his default outfit
Mäyris with his 12-pack-outfit

The artist did start to model the dog, but soon realized they didn’t have enough time to finish it due the deadline, as they faced some problems with the model and had to start from scratch couple of times.

Model at its current state, ready to get scrapped once again

Malt Hazard download link.

GA Spring 2023 – Lemon Forest

The game

Lemon Forest is a 3D game we created for the Spring Semester of Games Academy. This was an original social simulation game concept, referencing other similar games like Animal Crossing by Nintendo and casual, chill mobile games such as Cats & Soup.

The game’s idea is to do quests for your village friends, gain currency to buy items to accomplish other quests and to buy stuff to customize your own character. Some of your village friends might only have secret quests for you during the night! If you’re more of an adventurer, you can also roam around the island and visit the lighthouse.

Our plan was to make a relaxing and a simple game with focus on dialogue, customizing the player character, and upgrading the village with new items. From the very beginning everyone was very interested in this concept, and we came up with all sorts of unique ideas for the main character’s background story and how we wanted the game to look like. In the end we decided to go for a less crazy fantasy magical, to more dreamy, fairytale-like forest. Few copyright free sounds were added, but otherwise everything else was our production.

Below are some concept art of the game:

Design/development process

The artists began by illustrating their ideas. Our plans were quite big so there was a lot to design. We divided the work based on what each of us wanted to learn and focus on during the Spring. Some concentrated more on the environmental aspects and some more on the characters. Midway we divided even more for UI design, animation and storytelling. Regardless, everyone kept up communication and found something they wanted to do and learn.

How well did we accomplish our goals?

Our team agreed that the course work concentrated a lot on more realistic style modeling and since our game was very cartoony, we had to search more answers from the internet instead. Our main issue was lack of coordination due to a lack of leadership, and a very big scope, so we didn’t manage to implement everything we planned.

However, the game turned out cute with fun quests! It’s playable, and that’s what we aimed for. Everyone got the chance to try something new and learn a lot from it, which we think is most important as a student project.

Overall the project was a good opportunity to practise teamwork and especially learning that we don’t need to do everything alone, but instead ask others for help. It was awesome working together and not getting stuck with things alone. The team felt a safe space to learn new things on our own speed and with our own limits. When someone was unavailable, everyone was always forgiving and filled in for the tasks.

Pictures of the final product:

Link to the game:

GA Spring 2023 – Magigun


Our game is a wave based first person shooter with an eldritch horror flavours. The player is constantly pursued by waves of eldritch monsters and all the player has to protect themselves are a couple guns powered up by magic. The player has to survive as many waves as possible, all the while the game gets harder over time. The player can find and purchase other guns and there is even a helpful merchant who can help the player upgrade their arsenal. The player has to combine constant movement to avoid enemies with fast kills to end the round before the timer runs out.

Progress of the project 

The inspirations for our game were Doom and COD Zombies. First we created the basic mechanics for a first person shooter game with a basic level. The level evolved over time and became much smaller but also more interesting with different routes and so on. The enemies are incredibly basic but about midway through we added our first implementation of a Utility AI to make adding considerations for different actions way easier and more flexible. Our artists were hard at work for all of the project with the models and animations (with multiple iterations over time due to feedback). After the midway point we had most of the mechanics down but we were still missing the flow and direction of the game so we worked on that the rest of the way. We reworked mechanics like the wave system to spawn in a more continuous stream of enemies instead of a fixed amount to keep the pace up until the end of round. By the end of the project we finally found a direction for our game and are satisfied with the result.


Link to game


Team members

Eino KammonenProgrammer
Tuomas AntikainenProgrammer
Simo KontiokorpiProgrammer / Artist
Ville NurmiArtist
Leevi OksanenArtist
Johanna SaukkonenUI Artist / SFX / Project lead
Jani RämöMusic

GA Spring 2023 – Lizard Lick

Lizard Lick

One Person Production

The game’s main objective is to eat as many bugs as you can within the rounds time limit beating the previous highscore.

This simple and clear game-idea would make it easier for one person to cover both the artsy and the programming side.

There was both positive and negative cosiquences from doing the project alone: I could deside all the functions and the outlook of the game.

I quickly noticed that this helped me with having a clear and simple idea and all the pre-production was easy.

The artsy-side took a massive fail and the game looks like a sarcastic remake of a 2005 miniclip game. I made quick mock-up sprites for my game objects, that I tought I would later update to look nicer,

-I never updated them.

To be fair, I did make lots of these horrible low-poly models in blender. I played around with lots of different textures but it never looked good. Here’s a couple examples from the head:

Also I ended up really liking the 2d drawing mock-up I used for a “placeholder”, so it ended up being the final version.

Game Features

Since I had the clear vision in my head, but some of the implementing fell short, I am going to explane the planned features, implemented features and features to implement in the future in three different sections.

Planned Features

  • Lizards eye movement
  • Tongue auto-following the cursor
  • Bugs moving on the screen
  • Timer for the round
  • Score counter for how many bugs eaten within the time limit
  • High score indicator
  • Leaderboard

Implemented Features

  • Bugs moving on the screen
  • Timer for the round
  • Score counter for how many bugs eaten within the time limit
  • High score indicator
  • Tongue auto-following the cursor

Future Features

  • Lizards eye movement
  • Leaderboard (with name input)
  • Easy, medium and hard mode
  • Multiplayer
  • App implementation
  • Infocards between rounds showing info about different reptiles
  • “Un-lockable” new lizards, also corresponding environments and bugs
  • Bugs moving more naturally, trajectory curves
  • SaveSystem
  • Maybe minigames(?)
  • Credit scene
  • More coheesive audio

How the features were implemented?

Bugs moving on the screen

I am quite proud of this one. The bugs needed a spawner-object that I could plant all around the lizard. This fly-spawner would pool as many flies as was set, for example 5, and shoot them on the screen. After the flies lifetime was over, the objects would get recycled and used again. Just like in the Spaceshooter’s asteroid example in Sami’s lecture. Since it really does not matter at the end for the game, but was just a reminder for me that I am learning something about programming.

In the future I want to change the flies trajectory into curving lines, so that they would not just shoot in a straight line. Sadly I didn’t have enought time for it now, but I have an idea maybe using Bezier curves.

Also a problem arose when I started to program the point counter. I thought the “point added” sound-effect would make sense to be attached to the actual fly script. But since the game object gets destroyed at the exact same time that the “point added” sound-effect should play, it won’t play the sound-effect… This was followed by many, many, null reference exceptions. This was resolved by adding the sound-effect to the ScoreManager script.

Timer for the rounds

The whole timer ordeal was more simple than I originally tried to make it. In the end I followed instructions from GameDevBeginner’s article.

Basically, storing a float time value and subtracting the duration of the last frame, every frame to make it count down. Then the float time was divided by 60 to get the minutes before using the modulo operation ( dividing again) to get the seconds. Finally FloorToInt rounds each value down and string.Format displays them correctly in a text field.

Score counter and High score indicator

This got a little messy to be honest. First I stored the highest score in player prefs, eventough I was in the process of building better SaveSystem to store all the data in a binary form. Also there arose some more problems, since the point counter was implemented in the flies script and not in the player lizards script. For the point counter and high score I followed Coco Code’s quide.

First mistake was when the AddPoint method came from the flies OnMouseDown function. Now looking back I should have implemented the AddPoint coming from the Lizards script. Anyhow, after the point is added, the ScoreManager stores this value and compares whether its higher or lower than the previous score. Previous high score is displayed above the players score count in the in game state.

Tongue auto-following the cursor

This was the last feature I implemented and it almost did not make the cut. I had a clear vision of having two points, one in the mouth of the lizard, one attached to the mouse position. And in between I would use a line renderer. This way it would look as the tongue would stretch to where the cursor moves… But time after time I would just see null reference exceptions. It would not work. Luckily one day before the final presentation a senior student would help me resolve this issue.

The problem was that the camera was never defined 😀 So I tagged the camera as main camera and tadaa -it worked. There is still this weird perspective warp happening when moving the mouse sometimes, but it works fine.

Features that never made it… But was so close.

Save System

I started to program a SaveSystem that would save player name, score and position on the leaderboard. Did not have enough time to finnish this tho. For now there is only the temporary player pref high score saved.

The Leaderboard

The leaderboard was supposed to let the player input their name and then display their score with the name on the leaderboard. For now the structure is there. After a round, a window opens where it asks the player to input their name for the leaderboard, but it won’t do anything actually and the score nor the name is stored anywhere.

Screenshots from the game

Main Menu
High Score
Game Play
High Score from Game Play

Thank you for reading about my project!

-Derri the Developer and Sandy the Crested Gecko