About

Desk Defenders was the Semester Project of my third semester at h_da.

Desk Defenders is a Couch Coop Party Game, where Team Chaos fights againts Team Order, by either drawing or erasing on a school desk. You can play in either 1v1 or 2v2 and use different items to make the life of you opponents harder.

Project Info

Role: Programmer

Team Size: 4

Time Frame: 3 Months

Engine: Unity

Introduction

My focus with this game was mainly to get a good performing movement and drawing mechanic to ensure a fast paced multiplayer experience.

The team consisted of one Programmer, one 3D and VFX Artist, one UI and Concept Artist, one Animator and one Sound Designer. The Game Design was done as a team.

Drawing Mechanic

It took some tries to find the right drawing method.First I tried a CPU based drawing method that I had used in another project already, where a raycast reads and sets each pixel individually. It turned out really quick that this was not viable performance wise, as the texture had to be quite big so that it would not appear pixelated. Also several players would access this texture at the same time, which just led to major performance issues.

What I finally settled on was a method called Blit, where a GPU Shader is used to draw on the UV Texture of a Model. The Shader was created by the Youtube Channel ToughNutToCrack. But I still had to find my own ways to track how much of the desk is painted and where players could erase, as the rubber player looses parts when erasing on drawn space.

Prototyping

The movement went through a lot of changes, as we origianlly wanted to make each character playable with one joycon controller. That meant that the camera could not be controlled. I tried out different methods, like a Camera system similiar to Mario Kart, where the camera stays behind the player, and by moving backwards the camera turns 180 degrees and shows the player from the front. As well as a top down perspective mode without splitscreen, which solved the camera issue, showed the drawings better, but also took out the action we wanted this game to have. For most of the time the game was devolped in Splitscreen and TopDown Mode simultanious, as we could not decide what fits the game better. This meant to make efficient use of prefabs, so I would not have to do all of the work twice.

Ultimatly it became clear, that there would not be time to make this game for the Nintendo Switch, so we settled on a normal Controller, which enabled Camera Controls.

What I learned

Especially in this Project I learned how important efficient prototyping is. Especially when certain parts of the game design are not cast in stone yet, it is always helpful to follow a modular design of scripts and gameobjects, so you can easily swap mechanics in and out.

This was also the first time I encountert performance issues in a project and helped me to understand how to find and eliminate them.

Nach oben scrollen