top of page

Aquatica Ultra

This is a 2D Shoot' Em Up game. It is made in TGA2D, the school The Game Assembly own engine.

Our gameplay insipirations are from an old flash game where you could steer two different characters at the same time. And we chose a underwater theme for the game.

I did some gameplay elements, the character controller and a power up manager system.

Video shows the trailer of our third game project in the school The Game Assembly.

Player Controller

I made a player controller which utilizes mouse and keyboard for this 2D Shoot 'Em Up Game. You steer your main shooter with the mouse and then you have to avoid with your other character with keys W, A, S, D.

I also implemented XInput in the engine for Joystick support. So that you can steer with left and right analogue sticks and shoot with the shoulder buttons.

You can see some movement  in the tutorial section of the game, I steer the orange character with the mouse and the green with the keyboard.

Project 3 - Aquatica Ultra Playercontroller.png
Project 3 - PlayerController 2.png

Player Movement

Project 3 - Joypad 2.png
Project 3 - PlayerController Joypad.png

XInput Update

(Hover for more code)

Power-Up Manager

Since we are doing a Shoot 'Em Up game we needed a good way to create power ups.


In this game I made the PowerUpManager a Singleton so we can reach it easily and create a power up at a desired position.

The power up that is created created gets pushed into a vector. Which is then updated to show its animation and movement.

The power-ups spawns on the right side and you can see the circle icons appearing. It then can get collected with the green ship colliding with it.

Power-Up Spawn

Project 3 - PowerUpManagerSpawn.png
Project 3 - PowerUpManager.png

(Hover for more code)


I did all the code for the user interface in our game. Since we are using schools engine (TGA2D) in this project there was no interface to use, so everything had to be created manually through code.

All the sprites gets created with their sprite sheet so they can have their animations played when hovered, I also added colliders so we can make a collision check for when playing animations and clicking a button.

I do a walkthrough in the main menu, you can see sprite sheet animations and some options interactions.

Mouse Collision Check

Button Creation

Project 3 - ButtonsCreation.png
bottom of page