Gameplay/AI/Tools programmer

Reptoads is an online player versus player card game. This game was made using our own custom engine called Tomorrow Engine. After the school project was done, we decided to further develop this game and port it to Unity since the state of the game was not on a level we wanted it to be.

Project information
Development time: 8 weeks
Made in: Tommorrow Engine (Custom engine)
Team size: 26
Supported platforms: Windows & PS4
My contributions
Camera and character movement (more information here)
Balancing tool that uses an AI (more information here)
Gameplay visualization logic (more information here)
Particle effects


Supported platforms

More Detailed information

Player/Camera movement

One of the things I made for this project was the movement system for the players and camera.

For the movement of the players I prototyped multiple types of movement, in the end we decided to go for a "pick up and place down" movement for the players to make it look like they where being picked up and put down by a player playing a boardgame. The camera follows spline movement based on catmullrom calculations.

To make it as easy as possible to edit the movement of the players, I made it so that designers or artists could add points with specific names to the scenes which would then get stored while loading the scene in our game. For this I had to slightly adjust the scene loader to make it detect those points.

How the game works is that all gameplay logic gets handled on the server and we sent the results over to the client. The client then reads this log of events which was created and goes through it, displaying each event that happened right after eachother. Because of this it was quite tricky to implement the movement system since all the players and cameras had to move at the same time, and not after eachother. The players and camera also needed arrive at (about) the same time.

Gameplay visualization logic

I worked on some of the gameplay visualization logic for this game.

All of our actual gameplay logic is being handled on the server, the only thing the client has to do is read the event log that it revieves from the server and display what happened. (more information on the gameplay logic from the server side can be found here)

The visualization logic works in a kind of event based system. When the event log from the server gets read, it adds events to the event queue after which it will go through that queue. This will then proceed to display everything that happened. This includes moving the players, showing particle effec, playing sounds, etc.