Home Artists Posts Import Register

Content

Hello wonderful people!

We’ve reached our first massive milestone this month! It was a ton of hard work to get here, but we have finally launched the demo for our backers and the feedback we got from you was astounding. I would like to use this opportunity to discuss some of the feedback we’ve got and to talk about what we will be focussing on next.

Reminder: If you are reading this using the Patreon mobile app, GIFs will not be played correctly. Please refer to this album to see the GIFs in their full glory:

https://imgur.com/a/cnHHGse

Selaco

Concept art - City area of Selaco

Selaco is not an underground city on Mars anymore. As discussed in a previous blog post, we were never quite fond of the setting we used during our modding days. It felt a bit too similar to Doom 3 and the underground base was far too limiting for us and hard to pull correctly. Having such huge similarities with another game is fine for a free mod, but for a product that is going to end up on a store shelf, this was nowhere near good enough. So Ken and I reached out to one of our concept artists to discuss the new setting, the setting Ken always intended to make but we simply could not pull it off due to the lack of manpower in the team in the early days.

Enter no-longer-an-underground-city Selaco! Selaco is a “space”-station, or a dome rather, that aims to recreate Earth’s atmosphere as much as possible. With the help of AOS, the super computer that functions as Selaco’s brain, massive advancements were made in achieving that goal. Selaco has climate systems, natural plant growth, fully breathable air, Sky Simulation technology and much more. While impressive, it is nowhere near flawless. The sky simulation, for example, often just turns itself off in places and has a tendency to glitch out, which gave birth to the rule that all citizens of Selaco must wear a light strap on them at all times to ensure visibility in a potential glitch or outage. Remember that there is no natural light here, if the skies break there is nothing to see (we are totally not foreshadowing here!). The imperfections add their own fair share of charm, and it does a good enough job at making the people feel at ease, given how much they miss their prior planet.

For us, the goal is to create a near-utopian city. It’s a given that people are longing to get their old life back, they miss Earth daily and honor Earth every year through an Earth Memorial Day celebration, but they are also trying to make Selaco the best place it can be. This is our new home now and we need to do whatever we can to make it work. For the children, for their children's children. All of humanity sharing the same emotional baggage brought them closer together than they have been. One large community, giving the best they can. Making it work.

Humanity is not going to lose their home again.


Dawn - Work in progress art piece

Particle System

Now that we have discussed a portion of the lore / universe, let's dive back into some good ol’ game development stuff! In the past few weeks, Cockatrice has spent some time fine tuning the way particles are handled in GZDoom.

As many know, in GZDoom there is no particle system so we are forced to use Actors to represent particles. Actors represent pretty much every entity in the game, such as the player, enemies, projectiles and even potted plants. Actors are extremely flexible and quite handy at representing particle sprites and their movement with the state system. They can do all of the basic things you expect from a particle such as bouncing off surfaces, fading in/out and changing in size or rotating, but all of this flexibility comes at a cost.

In modern game engines, particle performance is increased by grouping similar particles and having their behavior (and rendering) run as batches, often in hardware on the GPU instead of on the CPU. This frees the CPU up for doing more important tasks. GZDoom has no such concept so we had to improvise.


To speed up particle performance we came up with a ZScript implementation that skips the normal physics processing of an actor and applies some VERY simple rules to move the particles around, such as moving with velocity, rotating the sprite and bouncing off of floors. Optionally we can also tick the state system of the particle. Obviously performance is dependent on using the fewest calculations for each tick and if the particle is not expected to change state there is no need to use the state system.

Another way we improve performance of each particle is to skip (or delay) the code that checks where the actor is in the world, which identifies the floor and ceiling heights and the sector that the particle is in. This doesn't really need to be done every tick, as that information is only necessary when the particle approaches those surfaces.

There is a small limitation to this system, where it is not possible to bounce the particle off a wall without using the standard engine physics. Most of the time such behaviour is not necessary anyways, so it's only a minor issue and we can always fall back on engine physics when absolutely necessary.

An additional benefit to writing a custom particle system is that spawning particles is much more straightforward, and is done in a way that is more familiar to those with experience in other engines. It allows us to do effects with particles that require very little coding to achieve. Such as this prototype rain effect.


Lastly, the nice thing about the particle system is that we can automate particle density based on the player's settings without having to think about it. No extra code is needed to support Ridiculous particle setting vs Low. To quote an industry giant: "It just works!". I'm sure that quote won't come back to bite us in the future.

Here are some particles on Ridiculous.


Demo Feedback

We have received lots of feedback from you and I would love to discuss the most frequently brought up topics.

Too many systems are introduced and it gets confusing

Fully agree, and trust us that this is only the case for demo purposes. There is a lot that we want to show, and not much time to show anything. Launching a demo comes with a large set of challenges. We have to find a balance between “not making the demo too long” and “Keeping it simple while also showing our feature-set”. The feature-set is unfortunately impossible, things like The Workshop, Upgrades and Swappable Alt fires could not be present in the demo because combined with everything else the demo has, it would become far too involved and there is only so much information we can give the player at any given time.

Do not expect this to be the case in the full game. Things will be properly spaced out to introduce a steady supply of features, mechanics and weapons, without it being too overwhelming.

Floating items

This was commonly brought up. The inconsistent usage of floating items (health/armor shards, armor, credits bags, weapons) felt jarring and ruined the immersion. This is something that I fully agree with. To tell you the truth, my design philosophy began as “If it does not exist in the lore, it should float”. Armor and Health shard do not exist in the lore of this universe, so I made them float. Same for powerups like Double Damage and flying pieces of armor (Dawn’s suit is unique, so why would it exist around the game world?).

I don't think this was the right decision to make, so we are going to change that and make it so that every item pickup in the game is physically connected to the world. This will take some time, as it requires me to move every pickup in the game and change bits of the levels to have it make sense. Armor, for example, should not be chilling on the floor in the middle of the hallway, it needs to be somewhere. On a shelf, on a bench, near a dead body.

I fully expect the June demo to have these changes.

Difficulty

Selaco is not easy and was never meant to be easy. Thankfully, most of the feedback was very nice about it, letting us know that the game is challenging but also fair. This has always been a design decision. Dying should be the fault of the player and never the fault of the game being dishonest or unfair. Player death is a learning opportunity, not a punishment.

With that said, I am not fully satisfied with how the difficulty levels work. The jumps between difficulties are all over the place, especially when jumping from Commander to Captain where the difficulty spike is enormous. I always felt this way and some of the feedback we got confirmed that this was the case. I’ll be looking into this and try to balance it out a little better. The recent inclusion of ‘Admiral’ makes this much easier, since we can have a difficulty mode that pushes the boundaries a little.

Then there’s our bonus gamemode Selaco Must Fall, which remixes item and monster positions to be as punishing as possible. This became a favorite for many and that makes me happy. As the description of Selaco Must Fall explains: It is not meant to be beatable. For me as a game designer, this allows me to design encounters without having to hold back in the slightest and to put far less thought into everything. Do I want this medkit to be the only medkit in the entire level? Do I want to shove 100 explosive barrels in this encounter that causes the entire room to explode if one gets shot? It allows me to think less and worry less about delivering a balanced experience.

Posters mention ‘Mars’, so does AOS, windows show us space. Where are we, exactly?

As discussed above, we are in the middle of a setting change and we could not get things ready in time for the demo. The timing is a little unfortunate, but we saw no other way. When we launch the full game, expect the windows to show a beautiful city instead of an outer space, and for all the art assets to no longer mention Mars.

Gun balance

Gun balance is an on-going process. As the game is being made, so are the numeric values and behaviors of certain weapons. We tried to address weapon balance concerns as much as possible with updates, and I think all 4 weapons in the demo are currently well-rounded and balanced out, but if you still think some weapons feel too weak or too powerful, know that this will still be subject to change!

Now that the demo is out, what does it mean for Patreon?

The ‘Pre-demo testing’ for admiral reward is no longer relevant, since the demo is about to come out. We have some amazing ideas that we are going to explore. I can’t say much yet, as we need to make sure that it works, but long-time backers will be in for some good, you have my word! <3

Closing

Our next target is to deliver a preview build to a small number of content creators by May 16. The short 30-second demo clips that many players have shared on Twitter were an effective way to spark interest in the game from people less familiar with Selaco. Our wishlist numbers have proven for this to be the case, which is good timing since that means people are curious and would love to know more. This in turn will hopefully help content creators to get more viewership!

The preview build features a new level, weapon upgrades, a new weapon and more.

As usual, thank you all so much for your support. This month has been crazy and we managed to shatter our personal Patreon record. A good portion of that money has been put aside for something big. Something that we will hopefully show in the coming weeks.

If you only pledged for the demo and are not renewing next month: Thank you for being here and for trying the demo out! We truly hope that you enjoyed it and feel like the game is in good hands. Thank you for helping us reach our highest Patron count yet.

For those who are renewing: We have lots to show soon, including key-art. Of course, as always, I’ll be fully available in the Patreon-lounge if you have any questions regarding the game.

Have a fantastic month everyone!

Wesley de Waart

Comments

MSM

Also: Difficulty is fine, floating items I did not have an issue with. I did not experience stuttering. Mars as a setting felt same-y, thats true.

icezolation

I want that wip-art of Dawn on an acryllic stand :3