Dev Blog 1 - The First Month
It’s already been a month since we’ve revealed our game to the public! We’re really happy with all the positive resonance - as well as criticism - that we’ve gotten since then. We hope we’ll soon have the first beta build ready for you guys. In the meantime, registrations are still open for the closed beta, so if you’re interested in the game and haven’t registered yet, click here!
But for now, let’s recap our development progress since the game reveal. In the following section, we’ll list the major changes since the game’s reveal.
New Boss Mob: Paladin Drone
The paladin drone is a very aggressive enemy that fiercely hunts down the players. It will try to push them towards a corner so that they have no way of escaping those buzz saws. Players need to be very careful when engaging this boss.
New Item: Constructor
This common item allows the players to construct various buildings in the game world, such as rocket turrets or supply bases. This item is crucial in game modes in which the players are supposed to defend something, for example in Capture The Flag the flags or in the Adventure mode the teleporter. We plan on adding a lot more building options later on for this item.
Implemented Mob Squads
We’ve added functionality that allows us to create squads of mobs. These squads each have a leader mob that the other mobs follow and receive orders from. Players are encouraged to figure out who the leader of such squads is in order to break any squad coordination that they might have.
New Boss Mob: Aberrant Ghirmel
The aberrant ghirmel is an age old inhabitant of the Dusky Depths. It was once a normal Ghirmel, but due to unknown reasons, it has undergone extreme mutations that have turned this mob into an extremely formidable monster.
Improved Radar Rendering
Previously, entities were represented by simple dots on the radar. Now we directly draw the physics shapes of entities on the radar. By continuously playing the game, players will learn the shapes of those enemies and thus make better judgement calls.
New item: Black Hole Grenade Launcher
As the name suggests, this weapon item launches a grenade that creates a black hole on its detonation. A black hole attracts entities within range and deals them heavy damage.
Implemented Camera Shake
It’s camera shake. It shakes the camera of a player when they get hit or when they fire certain weapons such as machine guns. This should greatly improve the “feeling” of many weapon items. Of course, we’ll allow players to disable the camera shake if they prefer a steady camera.
New Boss Mob: Assault Star
The assault star is a heavy war machine that fires countless guided missiles towards the players. Being able to evade those missiles is crucial to defeat this boss!
New Engine Feature: Composition
Dusky Depths has been made with extensibility in mind. And for that, we have implemented a concept called “Composition” in our engine. Composition is an inversion of control implementation that allows the programmer (ourselves or modders) to load resources (for example files from the file system or entities from mods) without having to worry about where or how they have to be loaded. Dependencies between resources are automatically resolved. It was inspired by the Managed Extensibility Framework by Microsoft.
A fundamental construct of our Composition system is the composition “contract” that defines the Type (which can be anything, e.g. a texture, a weapon or a whole game mode) of the resource the programmer wants to load. When a programmer passes a contract to the composition system, the system looks for “parts” that fulfill/match the contract. A contract can have all kinds of additional metadata attached to it. The most-often used metadata is the “Name” tag. This allows the composition system to e.g. look for a specific file by name. Other metadata (even completely custom metadata) is possible, for example a “Color” metadata that defines a color that a part must have in order to fulfill the contract. Metadata is completely optional, the only required property is the Type.
A “part” is a single thing/entity/resource in the composition system (e.g. a sound, a mob or a map generator). It can have multiple dependencies (called “imports”) which are expressed as contracts. These dependency contracts must be satisfied before the part itself can be loaded. For example, a Ship can require certain textures to be loaded before can be loaded itself . On the other hand, a part can have exports which define under what circumstances the part is chosen when trying to fulfill a contract (either from another part’s imports or from a programmer that requests a part).
We may make a blog post about how exactly the Composition system works at a later date along with more modding documentation and guides.
New Item: Ghirmel Seeker
This weapon item is the firing organ of the Aberrant Ghirmel. It allows ships to fire the same projectiles that Aberrant Ghirmels utilize. Those projectiles swarm towards enemies and can pass through terrain. It’s a very rare weapon that Aberrant Ghirmels sometimes drop.
We’ve opened a Discord channel! Join us if you want to chat with us!