1. Dawn Apart
  2. News

Dawn Apart News

Dawn Apart @ Games Germany Steam Event

Hey Pioneers, this week we are taking a breaking from our regular Weekly Apart dev blog/newsletter to let you know that we're taking part in the Games Germany Steam event! We'll be featured in the 'Coming Soon' section of the fest, so please find us there and throw us on your wishlist -although if you're reading this then it is very likely we are already on there:)


But while you're there please make sure to check out other awesome games (many with sweet discounts!) from the country that brought the world, among others things, luxury cars, quantum physics, and Heidi Klum. Seriously, Germany has a thriving indie games scene and the festival features countless established hits and hidden gems that definitely deserve you hitting the wishlist, follow or purchase button!

See you next week with more news about the development of Dawn Apart!



Demo Roadmap Update

Welcome back, kind followers, to the dev blog/newsletter that each week gives you front row-seats for watching the making of Dawn Apart. In this edition of Weekly Apart we want to give you an update on our upcoming demo. Tldr: It's coming along nicely!

While we can't share a launch date yet (it will definitely come out sometime this summer), we do want to give you an update on all those small and big boxes that we ticked on our Miro board in the past weeks and months, each one moving us closer to our goal of giving our first adopters finally something to play!

But before sharing what we've been working on, once again the weekly reminder to follow us on our socials and specifically to join our Discord server. While we eventually are going to give the demo to all interested Steam users, our Discord followers will have dibs on setting their feet on Aurora and set up sprawling factory complexes there first!

On a side note: We were actually able to pick up the pace, not least because in early May we received reinforcements in the form of a very talented developer who has joined our team as a full time dev working from Portugal. Our game, it turns out, has morphed into a truly transnational endeavour with dev duties equally shared between Berlin, Portland and Porto.

Anyway, in no particular order here are the most exciting features that we were able to implement since laser focusing on delivering a demo:

- Basic Ranged Attacks and shooting animations
Pioneers can get drafted and commanded to engage in shootouts with enemies. Turrets can be placed that fire automatically on everything that moves.
[previewyoutube][/previewyoutube]

- Smart Feeders
Feeders/cranes that pick up resources from conveyor belts and place them into machines or stockpiles (and vice versa) can now be programmed into selecting up to four specific items

- Adding the It'ak
We have received various credible reports of It'ak sightings, Aurora's mysterious indigenous humanoid alien lifeform. We can confirm that you are likely to spot them in the upcoming demo as well.

- Event Modal System
Receive a steady stream of messages, events and quests via a top left button in the GUI, that you can scroll through, filter and sort by date.



- (Visualized) Agent Pathing
Engineers and space marines now move smartly from point A to B avoiding roadblocks and finding the fastest way. Their planned route is also visualized by a green line.

- Stockpile System
Store your precious resources in warehouses in stockpiles to steadily increase your sphere of influence on Aurora. The storage capacity of a stockpile is limited by the number of tiles and slots available. Each tile contains four slots that can hold up to 100 pieces of the same item, for a total of 400 items per tile. To expand the storage capacity of a stockpile, players can add more tiles vertically and horizontally, but this requires additional energy consumption costs.



- Agent Goals
The Kobayashi-Schwarz contractors roam the planet freely, establish a daily routine and engage in fun extracurricular activities, including felling towering alien trees to get the resources needed for expansion; hitting those comfy bunk beds for a well-deserved cosmic siesta or preparing tasty meals for your colony's canteen

- Overhauling our interfaces
We gave our UI a much-needed facelift by adding and updating panels, screens, as well as GUI buttons.

- Speech system
Animated Pioneers tell you in a detailed view what has been on their mind lately along with a more detailed profile of his or her look and personal stats including their weapon/item loadout as well as an status update detailing sleeping, eating, health and bathroom habits over the last 12 in-game hours.

- Workbench system
Deliver resources to workbenches and have pioneers craft amazing stuff according to specific recipes!


As you can see some of those aspects we already discussed in depth in previous posts, while we may further explain other systems in upcoming newsletters. We know that reading that stuff is not nearly as fun as actually playing the demo but we hope this keeps you excited until we let you download a playable build - we can’t wait to hear what you think! See you next week!

Fog of War Part 2

Welcome Pioneers to a brand new edition of Weekly Apart, the blog series that brings you the latest news on all things Dawn Apart (apologies for skipping last week's episode but we had our plates full with dev stuff - sorry!). In today's post we want to revisit our Fog of War system that we introduced in a post a few weeks ago. We weere able to finally put our heads in the clouds and wanted to share the details of how we got it (mostly) done!

Before we start, as always a quick reminder to join our Discord server (the good folks on there will get exclusive access to our demo before anyone else) and follow us on our socials. And of course tell your fellow base building/automation/colony sim enthusiasts to throw Dawn Apart onto their wishlists. In the last week we continued to climb the SteamDB charts well into the top 500 of most wishlisted games but any additional support is much appreciated!

[h3]Fog of War: A Tale As old As 1896[/h3]

Previously we talked about implementing a fog of war into the game, and the last couple weeks it was finally time to put our heads in the clouds and get it (mostly) done. So our end goal was to have our pioneers and buildings clear away the clouds which block the player’s vision revealing more of the world. It’s for sure the biggest visual change we’ve had since we added water to our world gen system. Having a procedurally generated game also brought about some challenges as we want a potentially infinite world and the fog of war should work and persist the whole time. To the surprise of absolutely no one we ended up going with a chunk based approach like we do with our terrain meaning we create new entities as the camera moves around which encompass a smaller portion of the map. Currently each fog of war chunk contains 8x8 2.5m^2 tiles and those pretty much just give us info about the current state of the tile. That really boils down to thre different states:

  1. Undiscovered
  2. Discovered but not currently seen
  3. Active or currently being seen.

For buildings and pioneers we just grab all tiles which are within their vision range and mark them as currently seen by setting a specific bit and then going through and clearing those values at the start of the next frame. For clarity each tile really only needs 2 bits for it’s state although we use these three:

  1. Has this tile ever been seen
  2. Is this tile currently seen by a pioneer
  3. Is this tile currently seen by a building

We’ll end up doing something a little smarter for static vision granting entities, like buildings, but for now it’s one of the very few todos we’ve got.

Once the fog of war data has been resolved for the frame we get it ready for rendering. We know which fog of war entities are currently visible as we load in and disable them earlier in the frame based on the camera, so we just take all the ones that are currently rendered and format their data for our shader. In the end our fog of war data, which is spread across numerous chunks, needs to make its way into a single texture. We ended up solving this by finding the entity with the smallest position out of the currently rendered entities and using that position as an origin. Once we know that we can figure out which indices in the buffer of pixel data each entity writes to. This is also done in a fully bursted parallel job since each entity is guaranteed to write to a unique span of indices. Once that’s done we end up with a texture looking like this:



Not very good. To smooth it out a bit we first upscale the image and run a blur over it. There is a great post from Riot Games with a bit more information on that process here: https://technology.riotgames.com/news/story-fog-and-war. After smoothing we end up with this:



4x the resolution and much blurrier... It’s perfect!

To actually apply the fog of war we do a full screen custom pass where we reconstruct the world position from the depth buffer which ends up looking like this beautiful mess of colors:



Not especially helpful at all for anyone with eyes who might be looking at it, but it does fill out this post quite nicely. With that information we can figure out which tile each pixel belongs to, also based on the lowest rendered fog of war entity’s position, and with that information do a lookup into the texture. For pixels which are obscured in fog we then sample a cloud texture. Below is an initial test we did directly using the world position to sample the clouds and it’s a bit hard to see, but it has some major drawbacks:



The problem is wherever there are hills you end up sampling the same uv coordinates in the texture as the x and z position of the world doesn’t change. To solve this we ended up projecting the world position onto an arbitrary plane between the camera and the world and use that position to do the texture sampling. That ends up looking like:



Here is another comparison shot that shows off the different sampling methods:




And here is a birds eye view of the same scene that brings everything above together:


We will still be iterating on the visual aspect as polishing is sort of an endless task, but for now it’s a really cool system that was a ton of fun to design and implement. See you next week when we plan to introduce our workbench system!

The Agent System

Greetings, Pioneers to a new edition of Weekly Apart, our, yes, weekly dev blog to keep you posted about the state of our space colony and automation sim! Today marks the, checking notes, 21st episode and this series by now has become a real treasure trove of knowledge for all things Dawn Apart. In today's edition we'll talk about our agent system, but please feel free to browse through previous posts covering everything from lore to the soundtrack to our user interface.

But first we want to thank you for pushing us into the top 500 wishlisted games on Steam according to SteamDB - as of today we are ranking exactly on spot #500! To keep climbing the charts please recruit more friends and fellow gamers to join our interstellar mining mission and make sure to follow us on our various social media channels!


[h3]Multitasking[/h3]
While previously we mainly focused on developing the automation/factory aspect of the game, in the last few weeks we finally began to tackle the space colony elements, especially the daily routines of the pioneers living on Aurora. Therefore we developed an agent system that controls, manages and prioritizes the task of each of your colonists as they navigate the daily hustle of living in a strange new world all while working for a corrupt interstellar mining corporation.

To test our system we have for now settled on the, among others, following fun activities: transforming raw materials into extraordinary marvels of technology (also known as 'crafting'); felling towering alien trees to get the resources needed for expansion; hitting those comfy bunk beds for a well-deserved cosmic siesta; tirelessly repairing every nut, bolt, or nanochip in case a leaky space pipe wreaks havoc on your infrastructure; preparing tasty meals for your colony's canteen; hitting the bathrooms for a quick decompression session; and putting out raging flames that threaten the very fabric of your settlement. For a (very work-in-progress) sneak peak watch how Pioneer Sebastian saves the day by extinguishing four burning walls:



[h3]Free-range colonists[/h3]
Also below you can see a work-in-progress version of our Priority Panel GUI, clearly influenced by Rimworld, which is a great source of inspiration for us (of course we're putting our own spin on the space colony genre). The panel, which in-game is just one button away, list all activities of a colonist as well as showing the skill level for each activity. For now all actions have the same priorities except eating and going to the bathroom which replenish agent attributes after they decrease over time.



Obviously this was just a tiny glimpse into our agent system which will be more fleshed out in the upcoming weeks and polished for our demo scheduled for summer. But overall it is very exciting for us to see our colony slowly coming to life and pioneers roaming around freely and independently on Aurora's surface - so we wanted to share it! Stay tuned for more updates and see you next week!

Fog of War

Welcome Pioneers to your weekly shot of all news Dawn Apart - we're over the moon to have you! In this edition brace yourselves for a deep dive into a small but important feature of many RTS and base building games, namely (in fancy words) the dimmer switch that keeps the battlefield either partially illuminated or cloaked in darkness - or (to put it more bluntly) our fog of war feature.

Speaking of visibility, please help us further lift the cloud of obscurity and shine the light on Dawn Apart by joining our Discord server (to get exclusive initial access to our upcoming demo) or liking and following us on our various social media channels!



[h3]Out of the shadows[/h3]

Granted, the majority of you will probably know what a Fog of War (FOW) feature in a strategy or RTS game is. But in case not, here is quick explainer, just so we are on the same page: FOW, usually represented by a greyed or black area on the map, conceals certain regions or sections from view and determines portions of the map that are currently visible to the player, creating distinct zones that are either "in sight" or remain shrouded in mystery.

For Dawn Apart, we have opted for three different FOW states. The first state is active, meaning you have set up some form of base, with space marines protecting the compound, engineers working on their tasks and automated turrets ready to put holes into everything that slightly looks like an intruder. Essentially this means that everything the player builds makes an area around it 'active' and visible on the map.

[h3]Known Unknowns[/h3]

As opposed to the active state there is the unknown state, dark clouds that literally loom over sections of the map you haven't discovered yet (cartographers of the 16th century would probably have drawn giant sea creatures on those sections). The good thing is that you can use your pioneers as guiding lights, meaning the dark layer vanishes as soon as an engineer or soldier walks into the unknown. Their field of view/vision radius will encompass five map tiles.

Finally there is the so-called 'discovered state', places on the map that you have previously visited without activating or activated but then abandoned. Those sections will be marked as a little foggy; however activities and settlements by the It'ak, Auroras friendly or (depending on your actions) very unfriendly alien population will remain invisible to you unless you send a new team of explorers to check it out.

Overall, nothing groundbreaking really but we wanted to a) let you know what we've been working on this week (as always) and since it's such a key feature b) explain how we are tackling exploration and visibility in the world of Dawn Apart. What do you think of FOW? Fan or foe of the mechanic? Let us know in the comments and - magically disappearing in a puff of smoke - see you next week!

[previewyoutube][/previewyoutube]