Eternity Devlog: Dynamic Resource Management

Eternity Devlog: Dynamic Resource Management

Hello, fellow space adventurers!

We’re excited to share with you some of the progress we’ve made today on Eternity. Our focus has been on implementing the resource management system which will play a key role in your journey across the cosmos.

Building the Foundation: Resource Consumption in Eternity

We spent the last week defining a series of classes and functions to calculate the daily consumption of essential resources like food, water, oxygen, and power for your ship’s crew and systems. But this isn’t just a simple subtraction exercise; we had to account for various dynamic conditions that might influence these calculations.

We started by creating the ResourceConsumption base class, which represents a general model for resource consumption in our game. From this base class, we derived specific classes such as FoodConsumption, WaterConsumption, OxygenConsumption, and PowerConsumption each tailored to its specific nuances.

However, we also wanted to ensure our game offers a dynamic experience. Therefore, we introduced the concept of ‘modifiers’—these are factors that can increase or decrease the consumption rate of resources. For instance, a specific event might temporarily increase food consumption, or a new technology might reduce power usage.

To represent these modifiers, we created a Modifier class, which carries a unique ID and a modification logic defined as a Func<float, float>. This class will allow us to define specific modifiers with unique behaviors, and apply them to our resource calculations as needed.

Introducing Modifiers: Making Resource Management More Engaging

As part of our implementation, we created a dictionary within the ResourceConsumption class to manage these modifiers, allowing for the addition and removal of modifiers dynamically. This means your decisions, discoveries, and actions in the game will directly influence how your resources are consumed.

Here’s an example: let’s say you’ve decided to invest in energy-saving technology, and have also been hit with a sudden food shortage. With our system, we can add a modifier to decrease power consumption and another to increase food consumption. You’ll then be able to see these changes reflected in your resources in real time, providing a clear connection between your actions and their outcomes.

 

We believe this resource management system will add a deep strategic layer to the game’s experience. Your ability to manage resources effectively, accounting for the variety of unexpected conditions in the harsh vacuum of space, will be just as important as your navigation and combat decisions.

We’re eager to see how you’ll handle these challenges. Remember, in space, every decision matters!

As always, keep reaching for the stars, and see you on the next devlog!

The Dev Team.