Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

​ TASK FORCE RABBIT IS NO MORE

This is a postmortem write up of Task Force Rabbit, and what will rise from its ashes.

1. A BIG MESS, I MEAN A REALLY BIG MESS

What was Task Force Rabbit? It was an immersive sim project I started to get familiar with Godot 4.

It began after I became very dissatisfied with the codebase for Spirit Ocean on Godot 3.x. It was a very messy codebase that hardly took advantage of any engine features. TFR was going to be a fresh start, and a very ambitious one too.

2. *HUP*

The first thing I had implemented was Quake movement. Actually, it was multiplayer functionality. I started by doing a quick multiplayer prototype, but quickly dropped it because I had security concerns that I didn't want to be responsible for. After adding Quake movement, I decided to add stuff like grappling hooks, boosted dodging, and then I came up with a brilliant idea - *what if this game was an immersive sim?* - Which I quickly realized, is quite possibly the worst idea a new developer could have, second to making an MMO.

3. ANSWERING FOR GODOT

I wanted custom levels. Badly. I thought how cool it would be for players to make their own deathmatch maps, or surf maps, etc. That's what a bulk of my time went into - the map parser. Typically, I use Qodot, which is a map parser that takes levels made in Trenchbroom (made for Quake) and imports them into Godot. However, at the time, Qodot was only limited to C#/Mono builds. I wasn't sure how to get it working at the time, so I used a C++/GDNative version instead - called TBLoader. This was a more minimalist version of Qodot, but I could very easily interface with it at runtime and have everything built and connected to my custom scripts manually.

This script ran relatively fine in the editor builds! So, what happened when I tried to export it?

Bad things. Very bad things. Things that were so bad, it practically rendered the entire project unplayable outside of the editor.

4. ACVID, GO TO HELL!

What bad things?

    1. FileAccess, the interface I used to load in a manage a bunch of data, can *not* access res:// (the internal project directory) on exported builds. Meaning everything I had made up until this point, maps included, needed to be re-written to be loaded as a Resource. Easier said than done.

    2. Sounds, which were dynamically spawned using a SoundManager script, also didn't work properly in exported builds! Why? I don't know.

    3. The game just didn't run nearly as well outside of the editor. Again, I don't know why. What usually ran at 144+ FPS in the editor would frequently dip below 60 FPS during play testing. Perhaps with some more debugging I could find out what was causing it, but the amount of discrepancies between exported builds and the editors was giving me too much of a headache at this point. It was time to send the project to a farm upstate.

5. WATERSHIP DOWN

There are three key reasons as to why I stopped working on Task Force Rabbit, aside from the buggy, unworkable codebase

    1. The game was straying too far from its original direction

        What originally started out as a police simulator quickly grew into Quake 3: For Answer. It had too much speed, an augment for lock-ons, wackass AI that most people couldn't beat, and if I were to call it an immersive sim at this point, I'd look like a complete jackass. Nothing about it remotely resembled what people were expecting from the genre. It  was fun, but it wasn't a "tactical" action shooter, not in the slightest.

    2. Custom content won't come without a pre-established playerbase

        A lot of work had been put into a custom level parser for the sake of custom content. I figured that, like with most sandbox games, it would give this game infinite potential if people could make their own custom scenarios. However, there needs to be an incentive for that. Usually its through a growing community that wants to create and share with one another. I have a few friends that are interested in TFR, but not a full blown dedicated community. Its silly to think this would be the next "Sven Coop" in terms of custom content.

    3. Someone already made an immersive sim in Godot - Its called Cruelty Squad.

        That isn't to say no one else should make an immersive sim in Godot ever again. If anything, its incredibly robust, and it makes things very easy for developers making games in that genre. But all of the stuff I was doing (jump boosters, grapplehooks, powerthrowing, etc) was already done in Cruelty Squad. Although TFR was visually distinct enough, if you put an experienced Cruelty Squad player in front of it, they'd immediately find it too familiar to be enjoyable - in a sense that they'd rather play Cruelty Squad instead of TFR (think choosing TF2 instead of Overwatch).

6. DEAD BUNNIES

So, whats gonna happen with TFR?

Its existing codebase is likely going to be open sourced some time in the future, but it will be shipped *as is*. No further updates are planned for TFR.

Much of its code and assets are currently being reworked into Spirit Ocean on Godot 4.x, with great results

As for what will become of TFR's later gameplay, that super fast, lock-on heavy, borderline *mech game* style loadout building and gameplay... we'll have to see :-)

Support this post

Did you like this post? Tell us

Leave a comment

Log in with your itch.io account to leave a comment.