If you haven’t played Tiny Rexes: Professional Dinosorting yet, give it a try:

Making of

I was in the middle of making my 1-bit Jam game when I found out Ludum Dare was starting that weekend, and the theme was Tiny Creatures. I immediatelly fell in love with that theme, and HAD to try and make something. Scrambling for ideas, I recalled a prototype I was making a few days earlier, called Tiny Rexes. It was supposed to be some sort of pet management game, but I really liked the characters. I had a vision, a game where you have tiny dinosaurs (or rexes, as I like to call them) of different colors and have to separate them. I just didn’t know how to use that mechanic.

This prototype uses Beehave, an addon by the amazing Bitbrain that adds behavior trees to Godot. The AI I had in mind was way too simple to use behavior trees, but I already had them in there, so I just ended up using it.

I took that base and built on top of it. At the end of the day, I had the main mechanic prototyped:

You can see that you around your mouse you have a circle. When you press left click, dinosaurs of that color in the area of that circle are attracted to its middle. For secondary color rexes, they’re attracted to both primary colors that compose them. It felt easy to understand but unique, so I was liking it.

Feeling motivated, I kept goign. I had 2 ideas for a game loop:

  1. A puzzle game where each level is completed when you finish sorting all dinosaurs, with obstacles and such.
  2. An endless puzzle-like game inspired by Mini Metro where dinosaurs that spent too much time outside their pen would make you lose the game.

I ended up going with the second one, because it seemed much more appealing and easy to pick up, while also staying challenging.

This mechanic presented some challenges with that idea, though. When there’s a large group of rexes of one color and another one of another color in the middle, getting it out is frustratingly hard. This is due to the avoidance in their pathfinding, which I enabled so they wouldn’t all follow the same path and end up overlaping each other. This caused problems though, cause even if the other rexes weren’t following your cursor, they would still bump into the rex you were trying to attract.

I wasn’t sure how to fix this. If I disabled avoidance, they would all bunch up in the same spot. If I enabled avoidance only when following the cursor, it would cause problems when they’re just wandering around. I ended up coming up with a solution I’m pretty proud of: each color of rex is in their own avoidance layer, only avoiding rexes of their same color. This kept them from looking weird, but still allowed to nicely separate them froim a group.

The day the Jam category of Ludum Dare ended, I had this:

Complete with 3 different levels all composing a big map in the main menu, it felt pretty complete for a game jam game.

I found the music at opengameart.org. It’s made by Zane Little Music, and it’s AMAZING. As someone who struggles with music, I was trying to find some on opengameart, and it took a while. But when I found this one and the main menu one (both by Zane), I was incredibly happy. It fits the silliness of the game perfectly. One thing I made to make it feel more tense is increase the speed and pitch of the music when you’re about to lose. This also serves as a warning, in case you haven’t noticed.

It’s honestly been a while since I’ve had this smooth of an experience with a game jam, or a game, even. I’m really proud of what it turned out like, and for finally submitting to a Ludum Dare. THANK YOU Ludum Dare for having an actually good theme… It’s rare these days.

Fun fact: I didn’t come up with the name entirely…

alt text