Post Mortem: The Restaurant at the End of the Universe


This game is an entry for GameDev TV Game Jam 2025. I ran into a number of issues that ultimately resulted in a game that is a neat idea that ended up being nothing. You can walk around. You can pose. You can dance. There's musical cues for actions. Visually the game looks something like I imagined, but as a game, it kinda fell apart. So instead, I'm turning this into a lessons learned for me - and writing about it is a good way for me to look back. It also may help others in the future.

Free Assets

The rules of the jam are that you must only use free assets. This became the biggest blocker for me, because I found it hard to make a complete game. The jam itself provides resources from sponsors that are free. Which is great. I made a special effort to download all the assets into a separate "free" folder. I have a few other assets that are free, and I had a lot of links I've gathered over the years. What I didn't anticipate was all the ways that would limit me.

When the theme was announced (Tiny World), I envisioned a tiny little planet like from The Little Prince. So small the character could walk around it. I decided to make it in 3D. I had bakery assets in 3D, and I thought of The Restaurant at the End of the Universe. So the name was born. I created a 3D sphere and started populating it.

The bakery set was great, until I realized it had no items the character could manipulate. I couldn't have the character carry a croissant or donut. In fact the only two items I could find to even serve, were a coffee cup and a plate of donuts. I just placed them on the table and planned to make them appear and disappear when the character interacted with them.

When I go to the 3D character models, I had two options. Either the dummy model by KayKit or the Abbi model by Arcane Toybox. I have used KayKit's models a lot, and I saw this as a chance to use Mixamo with an FBX model - plus the character reminded me of The Little Prince.

FBX, Mixamo, and Godot

I had a couple problems with the FBX model. First, when I imported it, the character's skin was green. The clothes were also part of the texture. I tried changing the skin color and then overlaying the clothes. It didn't work. I couldn't de-greenify the colors. I have no idea why this happened, but I decided to roll with it. I applied a clothing pattern that stood out on the green skin. However I couldn't get the face textures included to work in Godot either. It made the face look like it had a dark grey square on it. So I created some MeshInstance3Ds, and attached them to the head bone so they would follow the animations.

Next I went to Mixamo and downloaded animations. I had use it once before following a tutorial. I could swear I selected all the animations I needed and downloaded them with the model I was working on. With FBX at least, I was unable to do this. It was a nightmare. I tried to use a plugin someone had developed to retarget the animations. Finally, I realized I could make the animation player unique for one of the animations, save the others out to resource files, and combine them into the first model. Then I deleted all the extra versions of the model I had downloaded from Mixamo.

Unfortunately, Mixamo animations are really limited when it comes to non-combat animations. Also, their search ability sucks. I could not find a single animation for picking up or putting down an object, or using an object that looked anything like what I needed, which was to be able to deliver items to the table.

The Abbi model had come with a blister pack you could store it in, like it was an action figure. So, I grabbed a pose animation to use at the beginning of the game inside the pack. I also found a silly dance animation that was fun. Then I only have walk and idle.

3D Physics on a Tiny Planet

I had run into a question on the Godot forum about how to program a character walking around a small planet. Adjusting the gravity every frame seemed the simplest, but the person ran into some problems. So, I thought I'd try a different solution. When the player moved, I would use that information to animate the character, but the planet would actually be rotating underneath the player.

I created this optical illusion be adapting some free look camera code. I was hung up for a while because I forgot that in Godot I needed to rotate the planet on the y-axis and z-axis - not the y-axis and x-axis. Once I did that, everything worked great. Until I added in collisions. When I added in collisions, the player interacted weird with objects and could actually be lifted off the planet and walk in midair. I decided to come back to this issue. I knew it was solvable, but I was running out of time.

No Gameplay Ideas

When I came up with the tiny planet idea, I decided I wanted to do that and then just punted on actual gameplay. In fact, I spent a week thinking about it. I never really came up with anything, because I didn't have a lot to play with. Jumping was weird on the world, and I couldn't come up with a story idea around why to do it. I also didn't have an animation for it, so while the physics worked, I pulled it out.

I thought about two guys at the table just talking. Which amused me, but wasn't much of a game. I thought about just delivering food, but honestly I wasn't enamored of that as a gameplay idea, and I didn't have any assets for baking donuts, and I pushed the idea off. I decided to work on getting the game up so I didn't run into last-minute uploading issues.

Itch.io Butler App

I decided that it was time to try Butler. Every time I have done a game jam, I've had upload problems. This has seemed to be a combination of poor connection issues on my end, and high usage on weekends when jams usually end. I decided to try Butler cause it said it only uploaded differences. So I decided to upload a web and Windows version of them game with butler, then as I continued working I could incrementally add changes just like when I check code into GitHub.

Let me just say that Butler worked fantastically! I love it and will be using it from now on. I can even use it from my Git Bash prompt, which means I can check code into GitHub and push new builds from the same command line.

Unfortunately, at some point I uploaded a version of them game that ran into a memory error on the web side. I deleted everything from hdris to the dummy models sitting in the chairs to see if I could get it working again. After a few hours, I gave up, deleted the web version, and just decided to put up a Windows version.

Grass

I didn't like the flat green of the planet and wanted to add some texture in. I added in dynamic modeled grass that swayed in the wind, but no matter where I put it, it looked out of place. I tried multiple free shaders and models. None of it looked good. So I switched to trying to add a grass texture to the sphere. No matter what I did, it looked bad. Those textures really didn't seem to be meant for something that large. After a few hours, I gave up.

Using Godot Plugins

Godot allows the use of plugins that you can drop into your games in an "addons" folder and use. So after a few game jams, I created my own game jam template. Windows, things like managing display devices, volume, and even allowing players to change key bindings. It also handles splash screens. I've used it once before, just for the splash screens, and since then I've been upgrading it and separating out pieces into different projects to make it more modular.

The problem is, I ran into several issues, and started working on the components. After half a day of doing that, I realized I wasn't going to make my game work any better. It was wasted time with a deadline. So, I got it working as-is and moved on. That's when I realized I'd forgotten about he FREE part of the jam in terms of music.

Music

This past week Ovani Music came out with another music/sound effects pack. $20 for a TON of new stuff. They do it every 3 months or so, and it's awesome. They have great stuff. I spent a few nights organizing the music and sfx. I found some fantastic music to use in my game and added it in. It was honestly the best part of them game. Then I realized I couldn't use any of it. So I pulled it all out and relied on Escalon music. They have a great free pack of RPG music. It wasn't the style I wanted, but I'd already spent hours searching in my own libraries for the songs I'd picked. I didn't have time to search for new free music. I slapped some stuff in and moved on.

Lost Drive

At this point, I gave up. I still had no ideas, and only a day left. I've learned that knowing you are going to put something up no matter what is more important than anything. By finishing what I have, I've made something I'm not proud of, but something I finished. I learned many lessons, and next time will be better. I decided that I would do a post mortem, and here we are.

Lessons Learned

In the end, I learned that gameplay is the most important thing. I kept thinking it would come to me cause I thought my theme was funny and cute. It did not. If I had it to do over again, I would've made a little Metroidvania with some of the free 2D assets. I also learned I really do not like being limited artificially. If I spent money on quality stuff and then can't use it - that sucks. I have a ton of great KayKit models I cold have used to populate the world, but they weren't free. I had great music and sound effects, but they weren't free. All the prep time I've spent organizing those resources didn't help me.

Sometimes, designing within limits can be inspiring. I found that in this case, for me, it was not.

Get The Bakery At The End of the Universe

Leave a comment

Log in with itch.io to leave a comment.