Crusader 3 At Home

Moving onto the intermission hub now, imagine a scaled down Echo Sector.

Aim is to have a console the Silencer can access, which opens a world map with a list of missions ranging from Assassination and Sabotage to good old fashioned Rampage. Missions will determine tilesets and difficulty, as well as objectives obviously. Idea being that missions last approximately 10-15 minutes, there's no save feature outside of the hub and dying = loss of credits or equipment. Once I've got that up and running, I'll move towards a public release of version 0.4 so you guys can give some feedback.

Its an exciting idea because this way I might even be able to introduce story missions whilst still relying on the generator to do most of the work.
 
Getting there with the hub, we have a functional mission terminal (albeit bare bones). Pretty much just refining and testing at this point. Managed to establish a collision workshop to streamline the implementation of new objects etc.

Might take a break for a couple of days, though I could probably shove this onto my Google Drive if anyone is interested in having a go.

Once I resume work, I'm thinking of restructuring the generator, removing corridors, implementing sideways doors now that I know their secrets, and replacing the generator with a room -> room -> room system, where the rooms take on different shapes such as L, X, T, square, rectangular etc etc. That might be more true to the OG when I look at their maps.

1785405686328.png
 
Wow, amazing work.

How are you doing interaction with the objects? Your own pure godot implementation or you somehow implement usecode scripts?

Also, what kind of 3d are you using? Are you reproducing original Crusader system or this is a real godot 3d?
 
Wow, amazing work.

How are you doing interaction with the objects? Your own pure godot implementation or you somehow implement usecode scripts?

Also, what kind of 3d are you using? Are you reproducing original Crusader system or this is a real godot 3d?
Its all Godot 2D baby.

Scripting is all custom; reverse engineering is probably a disingenuous term. Imitation maybe. Eyeballing. I've got all the art and sound assets so I'm just slamming them together heinously but so far it seems to be working.

Collisions I've started using circles rather than diamonds; I've found circles are easier to implement and behave nicely with Crusader's chunky isometric environment. At the moment I've rigged it up so I can adjust them in-game, so if the Silencer bumps up against something in a way I'm not 100% happy with then its just a few clicks now rather than the constant guessing and retrying method I was stuck with. But yeah, simple area2d collision shapes.

Of course, full disclaimer, ChatGPT's Codex has played a big role in all this. I'm not a competent coder, I couldn't have made the depth manager without it.
 
Last edited:
The mission hub is coming along. I wanted to make Weasel work but to do that I'd need to basically transplant the bar from CNR into it and... nah.

So again borrowing inspiration from the PSX version, we now have an item and gun vending machine for the player to spend their credits on.

And of course we have Resistance soldiers populating the place now, making it look a little less depressing and Backroomsy.

My next job will probably be to take the companion system seriously. I've got a few options I can go with this, but my thinking is the player can hire a companion. I'll reskin a guard, Vargas, an elite etc etc and make them into hireable companions with different stats and weapons.

Although before I do that, I probably need to bring laser weapons on line, and before I do that, I need to actually get my project's shield and battery system properly aligned with the OG.

This is one of those projects that will just keep growing exponentially I think.

Edit: Shields are now online, 1:1 with the game, ammunition table created, weapons slowly being wired in. Biggest barrier is locating their various projectiles in the raw sprite data. Needle in a haystack, even with Codex's sorting.

Edit 2: PA-31 is wired up, laser sprites and impact markers.

Edit 3: WEC Soldier wired in now, and we also have a WEC Guard recoloured in Resistance colours who can be hired at the bar. Trying to do the same with the WEC Soldier but the pallet swap is proving difficult.

After that, will try to wire in the rest of the enemy cast, rest of the weapons, get the robots and guns operational. Gonna be a few days of grind in that regard but at the end we should be nearing a playable state.

1785531104811.png
1785595498180.png
 
Last edited:
Hub is pretty much done, all the core systems in place there.

Now I'm going back to the mission generator and my next task is: Security circuits

By that I mean, adding logic and sanity to the generator, so that cameras are placed in areas that make sense, that there are set ups for the player, i.e a wall gun but a terminal nearby will give them control of it, pressure plates activating traps near a desirable area etc etc. Basically we're moving out of the random Backrooms philosophy and more into an actual mission generator with proper scenario structure.

If I can crack this nut, then the game's foundation is complete.
 
Its all Godot 2D baby.

Scripting is all custom; reverse engineering is probably a disingenuous term. Imitation maybe. Eyeballing. I've got all the art and sound assets so I'm just slamming them together heinously but so far it seems to be working.

Collisions I've started using circles rather than diamonds; I've found circles are easier to implement and behave nicely with Crusader's chunky isometric environment. At the moment I've rigged it up so I can adjust them in-game, so if the Silencer bumps up against something in a way I'm not 100% happy with then its just a few clicks now rather than the constant guessing and retrying method I was stuck with. But yeah, simple area2d collision shapes.

Of course, full disclaimer, ChatGPT's Codex has played a big role in all this. I'm not a competent coder, I couldn't have made the depth manager without it.
May be you be interested in technique I have found at some point. You can just take collision box (game provides this information in it's data files) and then do reverse mapping corresponding texture. The result is that when you use isometric camera (orthogonal projects, rotation: x: -30, y: 45, z: 0) you see the original crusader picture, but all objects are presented in 3d space now, so you get proper navigation for free, without any additional efforts on your side.

My general idea in this direction - use image to 3D at some point and swap these substitutes to proper 3d models.

And yes, LLMs are our best friends, they churn through ideas at the speed of light and help immensily.
 
May be you be interested in technique I have found at some point. You can just take collision box (game provides this information in it's data files) and then do reverse mapping corresponding texture. The result is that when you use isometric camera (orthogonal projects, rotation: x: -30, y: 45, z: 0) you see the original crusader picture, but all objects are presented in 3d space now, so you get proper navigation for free, without any additional efforts on your side.

My general idea in this direction - use image to 3D at some point and swap these substitutes to proper 3d models.

And yes, LLMs are our best friends, they churn through ideas at the speed of light and help immensily.

So I set out to make it the same way the OG devs did, that was the original thinking - trying to guess their methods, and recreate them.

However what you said was very interesting. Where can I find the collision box data? So far I've only been able to crack open the sprites and sound files, but if I could get my hands on the actual collision data of the objects that would solve a lot of problems.

But in any case, I think its great that 3 of us are attacking this from different angles. Will be interesting to see where we all end up. I liked your 3D idea, it makes sense with the modern tech we have and honestly it was something I didn't even know was possible until I saw your comment.

Edit: Nevermind, I have Codex on the case. Feeling a little stupid for thinking it couldn't break those files open and translate them. I thought they were pretty much garbled, unreadable nonsense and the de-compilers available were rickety third party apps.

This is excellent, I'll be able to align things properly. Thanks for your input!

Edit 2: Lmao. I found everything. Weapon alignment, sprite alignment. I can't believe I've been sitting here this whole time guess working it when I had the exact measurements right in front of me. What an idiot. WELP there's only one thing for it I guess, time to go supernova.

Edit 3: Lmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo hahahahahahhahahahahahhahahahahahahahahahahahahahahhahahaha this is so awesome. Having to do a lot of rebuilding of the generator but oh my God am I onto a winner here. Once I've retooled, got everything back to where it was, I'll release another video. My original work didn't go to waste, it provided an anchor for everything.
 
Last edited:
Sooooo that turned out to be somewhat of a mirage; yes we have Crusader's DNA and blueprint, but trying to translate that into a workable project actually set me back days and the results were not up to scratch unfortunately. That is to say, my eyeballing project made more ground and was more workable than trying to translate and implement Crusader's raw data.

Not a completely wasted journey, because amidst the rubble there is the weapon placement data, which should hopefully allow me to bring all of the weapon sprites online.

Today will be spent bulldozing the failed attempt at replication, and falling back to imitation, using the things we have learned to tighten what we have and improve on areas not thought improvable.

Edit: Ye we cooking again boyssss

1786204765869.png
 
Last edited:
Still here, still hacking away. Unfortunately due to the Summer Holidays i'm having to be a full time parent (the horror) so my time is much reduced to work on this, mostly relegated to evenings and the odd hour here and there. Progress update:

- Weapon sprites are now live, in line with the og. PSX animation kept though, i.e slowed run but instant combat on stop
- Barrel explosions and explosion sprites now behave as with the og
- Laser weapons are live, that is to say the PA-31 goes PEWPEWPEW with lasers going off and hitting things.
- Shield system is now fully operational, can't remember if I mentioned that previously but it is now functional.
- Cracked open the sound files and have restored sanity to them, so they are now being wired in 1:1 with the og where applicable.

Next up:

- The "on fire" death state for people who stand too close to barrels during fire fight
- A bunch of bug fixes to everything that broke

After the Great Bug Fixing of 26', its going to be bringing all the remaining weapons and enemies online. I can then make the map generator reactive to the Silencer's "power level" (a calculation based on equipped weapons and gear), which will then scale the types of enemies.

After that, I need to look at working more on the generator to bring traps online and other environmental hazards like flame and steam

Annnnnnnd after that I might go completely insane and try to add lifts. We'll see.

Update: All weapons are online and working, bar a few issues which wont take long to resolve.

The biggest discovery is that there are unused grenades; the Silencer was supposed to have frag, flash bang, EMP and nerve gas grenades. We have the data to emulate these, to a point, so they will be getting added. I've isolated some sprite families that can serve as a "grenade throw" animation, though will take some frankensteining.

Once the weapons are all fully configured and tested, its onto adding items, such as the much loved spider bomb.
 
Last edited:
Just a brief demo of what I have now:


Obviously there are some quirks, like the Roaming Susan running around on fire, and blood pools for enemies that have... evaporated. All soon to be fixed.
 
Big test session tonight. Vending machines are now functional along with the in-game economy. I've also wired in my Xbox controller for maximum couch comfort. Plan to play it for a solid hour, running through the same mission over and over to basically identify every bug left to fix, which will then lead to a big fixing session, followed by further testing, until everything is working correctly.

After that, bringing all the enemies online, additional tilesets and objects, and boom, 1.0 is reached. Full steam ahead!
 
Back
Top