Hi there! I'm Jan, and I like making games, and I am taking steps towards developing and publishing an indie game, and this is a postmortem of a small project I did for a job interview.
They are a startup company that uses Unity as the main framework for their product, and I was applying for the position of Unity Developer. I was tasked to develop a small rhythm game demo in 3-5 days with these assets provided: a song about 20 seconds long, a .txt file containing timeframes where notes appear, a short clip of how the gameplay looks, and art sprites of the demo. I ended up working on the project for 4 days, around 24 hours before submitting it. I was quite happy with the work I did and how it turned out.
It's been 2 years since the last time I worked on a game in Unity and I was glad to be back. For 4 days, I got to use my brain and thought about how to implement game elements efficiently. The experience also motivated me to write this postmortem as a way to reflect on and improve my skills as a game developer.
While thinking about how to approach elements in a game project, it's important to lay out the priorities of said elements. For example, with this interview test, coding standards and logical thinking were the main focus, so I put emphasis on using inheritance in my codes where I could and implementing a smart way to generate notes from the provided txt file. Prioritizing tasks can help me come up with a task list and allocate my workload, which leads to my next point.
For this project, I tried writing down a list of things I must work on every day. This helped me have a clearer view on the project as a whole, focus more, and avoid procrastination. Although I still pulled an all-nighter on the last day, I felt like my time management was not as bad as the last project (RIP CATastrophe), and I could submit the project in a state that I was content with.
One of the main challenges of this project was figuring out a way to generate notes for the game. My initial approach was to generate it at run-time: the game would read the text file at run-time, and generate all of the notes at once based on the BPM of the song and how fast the notes travel. One problem though: I was running out of time. It was the last day and I had to submit in 4 hours. With some work on the list still unchecked, I decided on the spot to let the notes be instantiated: run the game on debug mode, instantiate each note at the right timeframe, and pause the game once all the notes were instantiated. The notes were then copy-pasted into the scene. This approach came with its own set of problems: I had to re-run the codes to instantiate notes every time I adjusted their travel speed. But with the limited time I had, I was proud of this solution.
It's been 5 days since I submitted the test. The company still hasn't contacted me. I assume they've already found a candidate for the position. It hardly matters though. I'll probably continue working on this demo, turning it into my own project. I want to take this opportunity to learn to make arts & effects, which should be fun.
Did you like this post? Tell us
Leave a comment
Log in with your itch.io account to leave a comment.