Katamari love letter: The Sentient Cube post mortem

I love the music. I also love the reinvention of katamari. And the visuals are fantastic. By the time that I figured out what the game was about, i had a huge smile on my face.
–eteeski

There’s something to be said about a game that, within the first 3 hours of development, felt instantly magical. It’s one of those moment where you stop asking questions about the game, and instead just make it. Nothing could go wrong.

Usually, that feeling never lasts.

I’ve went to many Game Jams before: some 48 hours, some only 8 hours, some with team of up to 7, or as low as 1. Generally, in all of these cases, I’ve always felt like I had to compromise the vision to create a more popular game. I expected this when joining Ludum Dare for the first time. After all, I’m doing this alone. The lack of resource is a significant limiting factor.

The Sentient Cube was different. For one, I never felt limited by the tools I was given. Two, I never compromised with anyone else: it was just me. And three, making and playing the game remained fun even through the bug fixing phases. I can say with great confidence that this has been one of the best projects I’ve ever made in my Software Engineering career, and the comments above more than confirms it.

Without further ado, here’s the post mortem of The Sentient Cube, and how I made it happen:

What went right:

Being prepared.
As mentioned earlier, I’ve been to enough Game Jams to know what to expect for this event. The only real difference I felt this time was that I was going to work alone (I rarely do that). Just in case, however, I did get in contact with MrPhil, and he helped address parts I may not have considered, including the food situation.

Having a schedule.
My schedule was pretty simple: first 30 minutes is brainstorming, and the first day was to test an idea out. Since this idea worked great, I went straight to developing more concrete features, using Fossil’s ticket tracker system to keep trackthem. I aimed at submitting the game an hour earlier from the deadline, to have a decent chance at submitting the game before the site crashes, and decided to make any final touches the hour before.

Great tools.
If there’s one thing I learned from Game Jams, it’s to take as many shortcuts as possible. Unity, Garage Band, Photoshop, and others greatly helped this capability. Additionally, the Fossil ticket tracker proved to be a great device to prioritize which tasks were more important, such as the tutorial, score-keeping, and so forth.

Minimal modelling and texturing.
I love cel-shading, from an artistic perspective (yay, Windwaker!). Both this theme (minimalism) and Unity’s toon shader gave me a great excuse to spend the minimal amount of effort modelling and texturing. Add that with the edge-detecting post image effect, and you’ve got a masterpiece! I further minimized the work by generating the object’s color random, and automatically calculating each object’s size on loading each level.

Starting with the third level.
In what seems like a counter-intuitive decision, I made the second level first. This was a tip I took from the famed Mario creator, Miyamoto Shigeru-san (sorry, I’m Japanese. I have to be extra formal to this legend!), and it worked wonders. By creating the later levels first, I got a brilliant insight at Katamari Damacy‘s level design (an article I may write later), which helped plan how to create the first tutorial level. With the exception of Credits, the rest of the levels came very easily.

What went wrong:

Realizing I forgot to put the splash icon, and spending an hour on it.
It was a complete waste of time for an inconvenience on the player. Worse, I attempted to fix this in the last 2 hours, and realized it wasn’t worth it.

Tunnel vision: the controls.
The biggest complaints I received were the controls and the floaty physics. The thing was, I knew I had this problem, and never bothered to fix it. For some reason, I didn’t think it was as important, which in hindsight was ridiculous! First rule of game design: a game is not fun until it’s playable.

The scoreboard.
I realized after playing other people’s games that during judging, the scores and replayability of your games aren’t all that important. All judges expect the game to be playable within 5 minutes, so they wouldn’t be too concerned about the longevity of the game. Programming stats tracking takes quite a bit of time, so I felt I wasted a lot of time on a feature very few people would be concerned with.

Live-streaming with webcam.
I deliberately keep myself as transparent to the internet as possible. Using my real name as the display name on the Ludum Dare’s website is part of this. But even I have my limits in privacy, and in this case, the webcam portion of the live-streaming really went over the edge. I failed to realize until too late that you can actually see me washing the laundry, cooking food, eating, and other aspects of my life I’d rather not reveal so openly. I think the live streaming is great, but on the next event, it won’t be with the webcam (only microphone).

Timelaps fail.
I didn’t have much hard drive space left on my dev computer, so I timelapsed every 10 minutes. Terrible idea: the resulting video just flashed meaninglessly. This is hilarious in hindsight, because I had 2 external hard drives available with plenty of GB to spare.

No Linux export.
I am so very, very sorry. Signed, Arch Linux user.

What will I do next:
I’m a busy guy, so the short answer is improving on games I was already working on long before Ludum Dare. In all seriousness, though, I will revisit this game. For one, it opened my eyes on what it’s like to produce the game online for free, and this was extremely gratifying. I’ve been eyeing on Kongregate and GameJolt, so I’ll probably start working on the game to make it compatible to such sites. It’s been stated by my colleagues that the game must distinguish itself from Katamari more, so I’ll be strategizing on that while covering all the other stated complaints. Lastly, I’ll probably learn Garage Band a little more to compose better music.