Project Overview - Electrical Sandbox
The game I am currently developing, which I’m titling Electrical Sandbox until I decide on a real name, is a sandbox-style game in which the player builds and upgrades an off-grid electrical system. At the time of writing, this project is in very early stages, so I will be talking about a lot of the features as possibilities, as “maybes”, rather than concrete future implementations. I am still feeling out the different directions I can take with the game, and will be solidifying these details as it begins to take shape.
In the early stages of the game, the player will be limited to very basic, inefficient devices. As the player progresses, devices that are faster and more efficient will be unlocked. These advanced devices will be unlocked through a progression system. In the beginning, electrical production will be manual, through some kind of mechanical devices that require interaction to work. Later on, the player will have access to automated energy production, and the end game will have very efficient, dependable devices that can power a large number of devices.
Electricity production will be the primary goal of the player, for a few reasons. First, electricity will be needed to improve the players productivity and quality of life. This includes things like lights to see at nights, automated production of certain resources, etc. In order to progress, the player will need to research and build increasingly better devices. My thoughts at the moment are that the player will power some kind of computer, which will act as a research station, and unlock new devices over time. In order to build a device, I see 2 possible routes. Either I can implement a currency system, or I can implement a system where the player must build components to make these devices. If I go the currency route, the player will power devices that will generate income, which can then be spent to purchase devices that have been researched. If I go the component building route, the player will build and power industrial machinery to generate these components. Either approach could be interesting and lead to a fun progression system, and I may experiment with a combination of the two systems.
Electrical devices will be generally broken down into 4 categories: producers, consumers, storage, and circuitry logic devices. Producers are things like solar panels, wind turbines, etc. They consume no power and produce power, which is sent out of their outputs. Many will have variable power output based on conditions. Consumers generate no power, but consume it. Consumers are things like lightbulbs and computers. Storage devices take in power from producers and store it. They also can output power to consumers or to other storage devices. All storage devices will be some form of battery. Circuitry logic devices are devices that control the flow of power. These devices don’t produce or consume any power. These are things like splitters to divide a power line into multiple branches, combiners to merge separate branches into a single line, and switches to turn sections of a power grid on/off.
Players will create these electrical systems by first placing devices in the world, then connecting wires between the inputs and outputs of the devices. There will need to be plenty of logic in place to prevent connections that could cause bugs. For example, it shouldn’t be possible to plug a device into itself, either directly, or by creating a series of devices chained together that eventually loops back into itself. I am currently conceptualizing each device as a node in a network. Each device knows what is directly connected to its inputs and outputs. It knows the amount of power it is receiving via its inputs, and the amount it sends through its outputs. Devices can query the rest of the network by stepping through the chain of inputs and outputs from device to device. For example, I want batteries to only output the amount of power demanded by consumers in the network. To do this, it can query the amount of power demanded by the device in its output, and recursively run that query for every device down the chain, adding each devices power demand to a total.
I’m very excited to dig into this project and see what I can make of it. I will be posting devlogs regularly on this site to discuss my progress and what I have learned from my efforts. As I implement each system and feature set, I will be writing in-depth posts going into the details of my implementations.