Shadow Charades - 30/01/22

Back to Main Page

So Global Game Jame just happened, and my university, being a games university, set up a space where students could jam in teams, and would help create teams if needed. Global Game Jam is a game jam event held around the globe, wher you have 48 hours to create a game based on a theme. The theme for this jam turned out to be "Duality", and as soon as I heard it, I was coming up with ideas.

My first idea was a 2d platformer, where the top half is in light and the bottom half is in shadow, and you jump around and do normal platformer-type things with boxes and buttons. I thought this was a safe option, as it seemed decently simple to make, but it was quite boring, since I'm pretty sure I've played that exact game before on Nitrome or one of the other old flash game websites.

My second idea revolved around the 1971 film "Duel". In this film, a man in a car is harassed repeatedly by a large oil truck, where it attempts to run him down, push him into a train and other shenanigans. It was stretching the theme definition a bit, but I thought of creating an endless runner style game where you have to evade a truck for as long as possible. I could adapt the tile based random generation system from Project Oregon, and write some pathfinding code to target the point in front of you, which would let the AI try to do things like head you off at turns.

My third idea was a roguelike where you are black, the monsters are white, and you walk on a grid of black, white and grey squares. You are blocked by your own colour, so you can walk on white and grey squares, and the monsters can walk on black and grey squares. It would be completely turn based, and have random world generation also stolen from Project Oregon. I have been thinking about making a game in that sort of style for a while, so I had a lot of the systems worked out already. I felt like this was my best idea, and posted in tthe university discord looking for an artist to help me make it a reality, and also to advertise my services as a programmer.

I was contacted by another team shortly afterwards, who said that they had had a similar idea, so I went over to help them. It turns out they they outlined an idea that was exactly the same as my first one, which I was a little sad about, but it was too late to back out now, as a lot of other people had formed teams too and it didnt seem likely that I would be able to get myself an artist anymore.

The team composition turned out to be 3 programmers including me, which was definitely not ideal. We managed to rope in an artist later, but it was still the opposite balance to how I would have preferred. In all honesty, my preferred team composition for something like this is a programmer and an artist, but again, too late.

We refined the idea a bit, and eventually came to the idea of having a vertical platformer with a light behind it, which projected a shadow of the level onto a surface in front of the level itself. However, some of the platforms only appeared in the shadows, not in the real platforms, but jumping on them still allowed you to stand on them. Since everything cast a shadow, you could see that the player's shadow is standing on the platform, hopefully letting you know why you can stand in midair. We also dfecided to give it a cardboard aesthetic, like a child making a game and playing with it

I was pretty sure this would be easy to implement, and as such I managed to get a prototype done by the end of the first night (around 1-2 hours). By the end of that night, I was happy with my progress.

The second day was quite slow, as most of it was spent waiting for the artist to make assets to replace the placeholders I had already made. I also got one of the other programmers to start designing levels, using the platform prefabs I had made. I also spent my time adding in the level system, with a nice transition that looked like the level was folding up and unfolding. This used a singleton in unity to handle level management, and lots of unityevents that found the singleton and set themselves up, to make it easier for everyone to set up levels.

Messed up view

Later that day, I also got in some more art from the artist, and it definitely started to come together

Messed up view

Around this time, I also got the platforms strings working. These are line renderers with a texture of butchers twine, which raycast upwards until they hit something, then set the other end to the point it hit. This saved me having to manually set up the string ends, saving everyone time in the long run.

By the end of the second day, we had a decent amount of the level assets in place, and most of the programming done. I had also conferred with the artist, and we had decided to put the menu on the bottom of the level, so that after it folds up, it shows the menu, controls, lives and a credits screen. I loved how this was all diegetic, as diegetic UIs and music make me all happy inside.

The start of the third and final day, I revamped the entire lives system, as the other programmer had used normal UI elements and I wanted them to be diegetic too. I also linked it back to the levels singleton, to make them preserve between levels properly. Me and the artist worked together to get the final art assets in, with me helping do some modelling and texturing to speed things up.

After that was in, I suggested recording some background music. I had brought my ukulele, and we quickly hashed out a simple chord progression and rhythm that could be looped and quietly played in the background. It wasn't much but I felt it definitely added a lot to the atmosphere. I had also recorded some foley of tapping and swiping cardboard boxes, which we added in as footsteps.

Very close to the end, the artist suddenly worked out how to do post processing effects and lighting properly, and it really started looking good.

Messed up view

This took it pretty close, as I had to manually fix all 20 levels to make sure they looked correct (and I'm just now realising as I write this that I might have forgotten to update the "well done" screen), but the build was successful, and we managed to submit on time. As of the writing fo this, it has 3 hearts, and I honestly think that it looks the best out of all of the games from the site.

The game can be downloaded from the GGJ site here, and I would be thankful if you give it a heart if you like it

Back to Main Page