Home Artists Posts Import Register

Content

Hey everyone,

I’ve been dealing with an awful fever these last couple of days, so this blog post has arrived a few days later than I had intended. Still not feeling too great, but I’m recovering! Feeling good enough to write a blog post, at least.


Reflecting on 2023

While 2022 was our biggest year (due to the launch of our demo, followed by a major update, preview builds that got us a lot of publicity, a VineSauce / Jerma stream etc.), 2023 was the biggest year in terms of development, as the amount of content and finalizations we’ve been able to do has been pretty absurd! We’ve basically managed to make the game playable from beginning till end, while making most of it relatively polished already. We could ship the majority of the game right now if we wanted to, with the exception of one area, and people would hopefully be satisfied. Doesn’t mean we’re going to launch right now, of course, god no, but it’s great knowing that the game is in a very good spot right now.

2023 was my first full year of working on Selaco full-time. And with that came a lot of new expectations in terms of game completion.



What have we been doing in 2023?

This is quite a list, and doesn't cover most of it, but it does cover a significant amount! Please bare in mind that I don't have exact numbers with me on some of these, so they are rough (but very calculated) estimate's.

  • Integrated Modding Support, including Steam Workshop and an in-game mod menu
  • Added Cloud Saving
  • Completed 95% of our levels.
  • Fully rewrote how Glass panes are handled, taking length and height into consideration, as well as feeling more ‘physical’ by no longer shattering as easily.
  • Optimized Particle and Smoke effects to be way, way more performant than before.
  • Added multi-threading for certain parts of the Engine (UPDATE: As of today, Multi-threading has been added to OpenGL!)
  • Added all of our remaining guns (1 of which still requires some additional polish, some require some animation refinements in places)
  • Added over 20 adjustable Alt Fires
  • Implemented ~90% of the Weapon Upgrades
  • (Estimate) Added 200 new voxels
  • (Estimate) Added 700 textures, including walls, floors, fictional branding and more
  • Remixed the entire game’s audio for better clarity and dynamic range
  • Reworked GZDoom’s Ambient Audio to not clutter all of your computer’s Sound Channels the moment the game is loaded.
  • Added all of our remaining guns (1 of which still requires some additional polish, some require some animation refinements in places)
  • Added over 20 adjustable Alt Fires
  • Implemented ~90% of the Weapon Upgrades
  • (Estimate) Added 200 new voxels
  • (Estimate) Added 600 textures, including walls, floors, fictional branding and more
  • Remixed the entire game’s audio for better clarity and dynamic range
  • Reworked GZDoom’s Ambient Audio to not clutter all of your computer’s Sound Channels the moment the game is loaded.
  • Adjusted indexing to significantly increase bootup times
  • Reworked pathfinding so enemies can navigate levels flawlessly
  • Launched an Extended Demo
  • Added a City Backdrop and Skybox
  • Added 6 new Enemy Types (3 of which still require some polishing
  • Added at least 300 new Sound Effects
  • Added Ladders that don’t suck for FPS standards
  • Added an Invasion Tier menu along with 10 new Invasion tiers (new ones are still being worked on)
  • Added Cockroaches, Flies and some other critters
  • Added Rain System for exterior levels
  • Added an Alternative HUD that shows up in one of the later levels
  • Fully rewritten Explosion System to be more performant
  • Added a system to make lighting effects (muzzle flashes, explosions, plasma impacts) more performant.
  • Added 'Workshop Upgrade Tier' items to allow for new weapon upgrades and Workshop Systems to be unlocked
  • Reworked GZDoom's "BloodType" system to take more context into consideration when getting shot (for example, Roaring Cricket, DMR or Shotgun attacks give very different blood splatters than other weapons would)
  • Complete Armor rebalance
  • Refined the Plasma Rifle
  • Reworked DMR (Although we are still not too happy with it
  • Reworked Animation Cancellation for most weapons, making it more reactive towards player input despite being in an animation (e.g you can now reliably melee to cancel a reload at any time, rather than 'when the game feels like it')
  • Added Battle Overseer system to allow for better control over enemy squads
  • Launched an Early Access trailer at Realms Deep 2023
  • Reworked Gore System for killed enemies and made it more flexible
  • Added Human NPC Model. So far, sprite work only includes 2 corpses but more will come before launch
  • Added a small handful of new death animations to older enemies
  • Added new hazards like Gas Pipes and Acid Containers.
  • Completely rewritten Crosshair system to properly portray recoil/spread values in real time
  • Added power ups like Bunny Hopper and Protein Shakes
  • Gave Dawn a home for the player to explore
  • Added destructible cars
  • Added a whole bunch of new stats for the game to keep track of
  • Rewrote the Footstep system in Zscript to allow for better fidelity in how we handle footsteps (it cares for more context, like having snowy footstep sounds when you walk over snow, or check to see if the character is walking on top of a car)
  • Tons and tons of logic tweaks to core game systems to be less demanding on the CPU
  • AI improvements (allowing them to dive, mount shields, better grenade throwing and much more)
  • Brand new 'Status Icons' to showcase cooldowns, buffs, nerfs and more.
  • (Very rough estimate that took be taken with a grain of salt) Added at least 250 new Sprite Decorations (signs, graffiti, paper posters etc.)
  • Added system for hitscan attacks to pass through objects. No more bulletproof plants!
  • Fully reworked Water System where impact effects can be properly detected, as well as react accordingly towards most non-particle actors
  • Added Weapon Wheel
  • Added Marker System
  • Added 'Last Known Position' system for Enemy Soldiers
  • Improved Automap by adding additional visual aids (Breadcrumbs, automatically mark level transitions, more icons for important objects)
  • Kept the blood Purple instead of Red
  • Expanded upon the Safe Room by adding a Shooting Range and a Train Traversal system
  • Added Fish AI
  • Murdered a ton of stuttering.
  • Improved tools by (Pathnode Data baking, PowerShell scripts to compile a build at the press of a button, single-click window pane creations and more.
  • Reduced VRAM usage by ~40% (It's still unreasonably high though. Working on that as well. This was not much of an issue in the demo because of limited assets, but when you have a full weapon and enemy roster, all those PNG sprites add up!)
  • Allowed seamless transitioning between completed levels
  • Fully rewrote multiple gameplay systems that still used legacy DOOM code (Armor, ammo pickups. damage rolls and more)

Apologies for the complete lack of structure in this list. I was looking at Github Commits as I made this and writing down some of the noteworthy ones. I could go on for a little longer if I included all the little things.



What could have gone better

I'm generally satisfied with the way things have gone from a production standpoint. However, from my point of view, I wish I did a better job at being organized. I tend to work all over the place, and while I've managed to handle it well so far, the complete lack of structure can lead to chaos, especially as deadlines approach. Having a good plan holds a lot of power, and I need to find the discipline to actively maintain such a thing.

Finding proper structure and getting into the habit of sticking to tight work hours has been one of my primary goals since the ADHD diagnosis a few months ago. Currently, I work throughout most of the day with little breaks until I'm way past midnight. It's not ideal, as it makes it challenging to separate work and personal life, a common struggle for those working from home. Waking up late in the day because I tend to work until 4am is not a lifestyle I want to continue sticking with.

So far, progress has been slow on that front, but it's coming along well as I do notice I'm improving. I hope to reach a satisfactory level in 2024. Therapy has been very helpful when it comes to helping me find this level of structure.

The story of the game is another issue we really need to start moving forward with. We outlined it years ago and built the game's structure around that outline, but implementing the story beats has been slower than I would have liked. Our writer and I plan to pick this up in the next few weeks. Time is not by our side anymore!


What remains to be done?

We’re finalizing right now, but that doesn’t mean everything we want to be in the game is already made. Here are a few things we still have left on our plate:


Steam Achievements

You heard that right! When we worked on Steam Workshop support, we had to create an application in the background that handles the modding element (Primarily just moving a bunch of folders so the game can detect Uninstalled and Installed mods). Doing so in GZDoom itself would violate GPL, so we could not do that.

The fun thing is, this application can be used to handle achievements as well. We still have to wrap our heads around it, but in theory, we found a way in now. What remains is finding a way to have it communicate with the game engine as certain events happen.

I strongly wish that I can write a blog post soon where we announce the existence of Steam Achievements. That would be awesome, as it would be a GZDoom first and tackle a very common critique surrounding the game!


Level 6-3

It’s a level I have a lot of difficulty with. It required a lot of setup, so with the setup out of the way, actually making the level puts a lot of weight on my shoulders. It’s going well, but it’s rough.

It’s coming together bit by bit, but it probably will not be done until we’re quite close to launch.


Level 8-1

Selaco’s Chapter 1 finale is a mini level that functions as a bridge to Chapter 2. Joe is currently working on it.


Balance

Selaco is insanely fun to play, but we feel like there are still some severe balancing issues we have to figure out sooner rather than later. There is always too much ammo, too much health, too many credits to find, and many other different things. While combat itself feels pretty good from a balancing standpoint, the external factors do not. We have some plans to tackle this, and I’ll be starting next week most likely.


Demo Level rework

The Demo level already showed its age 2 years ago, and that is especially the case right now. Closer to launch, we are going to modify this level so it holds up better compared to later levels.


Finalizing enemies

Most of the roster is done, but there are plenty of rough edges that we have to iron out. Snipers are still lazy engineer recolors, Enforcers, and Siegers still use placeholder lines, etc.


General Refinements

This is always an on-going process. But both now, and after launch, we will be refining the game further and further until things feel perfect.


Full voice recordings

Start getting all the main and misc dialog in the game.


Quite a lot of work left with only 4.5 months left on the clock. Scary, but do-able! Lets show some fun stuff we've been doing recently!

Fish Tank

We finally added some proper fish tank destruction, along with... fish AI! When there’s no water, they will try to flop themselves towards water. If water is found, hooray, the fish gets a chance to live again! If it struggles to find any water, the fish unfortunately lives a very slow death.

A few Patrons in our Showcase channel proposed allowing the player to pick up a flopping fish, and return them to a water area manually, or flush them down a toilet, but why would do that!? This is not yet implemented, but is something I'd love to do if I can squeeze in the time! Should probably take less than an hour of work assuming no strange GZDoom-isms occur (GZDoom-ism: Having a fantastic idea that seems very easy to implement on the surface, but strange quirks in the engine prevent you from doing it the easy way)

Here is some fish, chilling in their underwater fish world

(The footage was a bit dark, so I brightened it up after the fact. Sorry!)


Here is fish, except Dawn decided to shoot some holes into it, causing the fish tank to leak 🙁 I had to speed it up a bit in order to keep the GIF under 10 seconds.


Water will drain until it reaches the lowest bullet hole. With enough damage caused to the glass, it will eventually shatter and spill all the water.

We truly hope players will respect the fish and not destroy their home. And we know you will because you love animals and especially fish <3

Air Hockey

Players can now utilize Air Hockey tables! Unfortunately, Dawn is lonely and entirely by herself, so there’s nobody to play against. Thankfully, she can pretend to be playing with plushies, like with the Koala over here!



EDIT: Well, as I was writing this, Cockatrice ended up adding A.I out of nowhere. So I guess you can play Air Hockey against a robot now! Selaco's asking price on Steam has just tripled!

Datapad UI

We’ve given the Wristcodex UI some love. The primary goal was to make it more pleasant to read as we’ve received quite a few complaints about that (especially those playing on a TV or Steam Deck). The new font is bigger and softer around the edges, and scrolling is no longer instant, there is no a smooth scrolling animation to make it easier to pick up where you left off.

We’ve streamlined the entire UI and think it looks quite a lot better now!


Train Menu

Still WIP, but very much getting there!

(NOTE: These are not all the workshops)


Conclusion

I’m very excited for where this year is going to take us. Selaco’s launch will, without a doubt, drastically change how this year will go compared to the other years; as there's an actual game to play then!

As usual, thank you for being a part of the team <3

A little under 5 months left!


Wesley de Waart

Comments

Saraaahhhh

ADDED FISH AI, WE HAVE PEAK INCOMING

icezolation

If you keep adding even more in 2024 then I have the feeling I will spend most of my time in Selaco interacting with the environment, changing the water in the fish tanks and playing mini-games :> Outstanding work. Interesting how you found a workaround for doing Steam achievements! Be nice to the fishies, everybody.