Lucas Thielmann

Work | About Me

Where Are My Copies?!

Game Jam Project

Engine: Unity

Language: C#

Time Spent: 1 week (July 13 - 20 2025)

Role: Solo Programmer

Where Are My Copies?! is a short game I developed for Jame Gam #51. I worked as the sole programmer (alongside an artist), and we completed the game in a 1-week timeframe.

The game is about an office worker who has to run around copying documents for his colleagues. We took a lot of inspiration from Overcooked's gameplay, with the variation that instead of collecting "ingredients" for the documents, the player has to maintain the copiers by refilling them with ink and paper.

Our game was ranked #5 on Theme Implementation, #30 on Gameplay and #31 on polish, out of a total 64 games (which I'm quite happy with considering this was my first time seriously participating in a jam.)

The game can be played online here
Code can be viewed here

Development

During this project, I made sure to leverage inheritance and polymorphism as much as possible. Everything the player can interact with derives from a base "Interactible" class, which the player script is always sending out a boxcast to detect. When the player presses the interact key, the interact() method is called, which then executes the appropriate logic based on what kind of interactible the player is in front of. The copiers and employees both inherit directly from Interactible, while documents, ink jars, and paper refills inherit from a further subclass called Pickup, which defines an interactible that can be added to the player's inventory.

I also made sure to allow for scripting from the editor without having to write any code. I created an Ordermanager script which has a public list of Orders, which allowed me to manually determine when employees would request new documents and what kind of documents they would be. In addition, I made sure that each script had public events which could be subscribed to through code or the editor. My primary intention for these was to be able to set up sound effects and potentially other events from the editor, although we ended up not having enough time to implement these.

Polish

My main instrument for adding polish was a tool called DOTween, which adds a bunch of functions for linearly interpolating various values over time. This let me create procedural animations through code. I used this to handle grabbing / dropping pickups, and also added some scale tweens in the UI to make it feel smoother. Another important element of polish was making sure that the player rotated smoothly in the direction of movement, rather than instantly turning in that direction. Finally, I made sure to add an outline shader to all interactibles, in order to visually indicate when the player is in range to interact with them.

What I Learned

1. Get a larger team next time

I had fun working as a two-man team, but there were several aspects of the game that I think could have been improved on with a couple more people working on it, namely audio, level design, and UI. As it was, we had to cram a lot in last-second and audio ended up being cut entirely, which would have added a lot of polish.

2. Game Jams are pretty fun

I hope to do more in the future.

3. Don't be lazy, make a kanban board

I foolishly thought I could get away with it, but there still ended up being a couple of things that slipped my mind for a bit too long and I should have been more organized about things.