Devlog 2024.0


Where does one even begin?

Maybe with a table of contents for the rest of the devlog.

Table of Contents

  1. What is Battle Last Stand
  2. Progress So Far
  3. Goals for the next devlog
  4. Technical Challenges and Workarounds

1. What is Battle Last Stand

So I'm a big fan of horde shooters. Where you have waves and waves of enemies coming at you as you try to avoid taking damage and eliminate as many as you can.

[First Attached GIF]

The game above is a game I play from time to time. You are some kind of space marine, there's hardly any story and all you have to do is survive waves and waves of mutated bugs, zombies and other monsters (Warning, if you are afraid of spiders, it has a ton of spiders).

[Second Attached GIF]

The Serious Sam series has also been one of my favourite horde shooters. It's got a story, but even if you don't keep up with just how insane the plot is, it's basically a fun time.

[ThirdAttached GIF]

Battle Last Stand aims to be another one of those titles on the 'Horde Shooters' shelf in your typical video game store. It has roguelike elements, specifically a perks system and something a little different when it comes to gunplay how players will have to make interesting choices about upgrading their weapons.

And of course, it's all in the PSX/Playstation retro aesthetic (not 100% faithful though).

2. Progress So Far

Take a look

[See Attached Video]

If you followed my posts about it on social media (specifically twitter/X and instagram), you might have noticed some changes.

I re-wrote the whole thing in Godot 3.6 beta. It was initially in 4.2. But for reasons I will talk about in the next section, it was best to just do everything in 3.6.

The things I have up and running

  • Character controller (Move, jump, slam ground a.k.a. fall)
  • Camera switcher (important for FPS and TPS shooting)
  • HUD (for the most part)
  • Weapon Pickup System
  • Weapon Fire / Projectile system (initial stages)
  • And a few special effects here and there
  • Some debugging tools (not yet impressive right now)

So not too much from the last updates I shared on social media. In fact, I'm still falling behind with the weapons data file and perks. But for the most part, I'm happy that the "downgrade" to 3.6 didn't have me pull all my hair out.

3. Goals for the next devlog

As I just mentioned above, I want to quickly get back to where the project had reached in 4.2. At least get the perk system or rather the perk data file populated with all the perks I already had created.

Getting some of the other weapon types working is definitely on the list of things to get done for the next devlog.

Depending on how much I get done and how soon I will want to publish the next devlog, I may just add in enemy prototypes to begin testing damage. I have overhauled the general look of the game. This will definitely mean having to re-texture the previous enemy I used. Possibly remodel. But that is like opening up another can of worms.

4. Technical Challenges and Workarounds

You can pretty much skip this section if you don't want to hear my problem.

As much as I like Godot and how it has shaped the way I think about game design these days, the tool is not without its quirks and flaws. For one, version 4 and version 3 are not the same tools. I believe 4 is almost a complete rewrite.

That includes a complete re-write of things that worked without issues. I'm currently working on a laptop with an Intel HD graphics processor. For the main rendering engine in 3.6... that's okay. For the Forward+ renderer in 4... problematic. And while 4 has a Compatibility renderer that is supposed to similar to the main renderer in 3.x... it is simply not. Because a lot of things don't work for it yet. Like when you use world environment in 4 with compatibility renderer selected, some features aren't yet ready for that renderer.

Plus some other small issues here and there that most people have raised issues on the repo. So I'm not going to break down every single thing. My main issue was the renderer.

Unfortunately, I'm also locked out of the nifty GDScript 2.0 language features that made life much better. But it's not all that bad. I still don't mind connecting signals using ('signal', self,"function_name_as_string",[], CONNECT_DEFERRED)

If you know... you know.

All in all, I'm having a blast putting this together. Hopefully, 3.6 comes out of beta in the near future. It hasn't crashed on me or anything, but it would be a shame to be many months deep only to discover bugs in the exporters or something.

I have tried writing an engine. It is not easy.

Leave a comment

Log in with itch.io to leave a comment.