Solar Powered Mars Base

Spike Solution - Mars Base

A Mars Base game tests graphics for tracking exchanges of resources.

The diagram code I am working on will have two kinds of display for a multi-currency system.

Purpose Display
Pathways Ribbons connecting various combinations of inputs and outputs (boxes), as in a biochemistry diagram connecting reagents, products and catalysts
State 'Cards' showing succinct display showing how much of each resource you have, and required inputs to make more

Such displays are useful in biochemistry, in tracking currencies, in a 'Getting Things Done' app.

The card based display is the basis of the Mars Base spike solutions. The game that it was written for explores how to bootstrap a purely robot-based Mars Base using local resources.

Spike 1 - Card Based Dashboard

Try Mars Base →

In this trading game the robot base needs more electricity. Each day that passes generates electricity proportional to the amount of mirrors that direct sunlight onto the solar concentrators.

Click on the make button in 'days' for one day to pass. The requirements for each resource are shown on the card. When all are white, clicking make will make 1 of those resources.

The electronic modules arrived with the spacecraft, and the technology tree does not go far enough to make more of them.

The gameplay was written up by 🤖 Claude

Energy Production

Energy is the lifeblood of your Mars base, and understanding how it's generated is key to success. There are two types of energy: Electrical and Thermal . Both are produced by Solar Concentrators , but only when they are supplied with enough Mirrors .

The core logic for energy production is as follows:

  • Solar Concentrators are the primary energy-producing units.
  • Each Solar Concentrator requires 100 Mirrors to operate at full capacity.
  • The number of active concentrators is determined by the lesser of your total Solar Concentrators or the number of sets of 100 mirrors you have. For example, if you have 20 Solar Concentrators but only 1000 mirrors, only 10 of your concentrators will be active and producing energy.
  • Each active Solar Concentrator produces a fixed amount of electrical and thermal energy each sol.

Therefore, to maximize your energy output, you must maintain a ratio of 100 Mirrors for every 1 Solar Concentrator . An imbalance in this ratio will lead to wasted potential.

Strategy for Rapid Expansion

A key strategy for rapidly increasing your production is to focus on maximizing your energy output as quickly as possible.

  1. Address the Initial Mirror Shortage: The game begins with 20 Solar Concentrators but only 1000 Mirrors. This means only 10 of your concentrators are active. Your first priority should be to produce an additional 1000 Mirrors . This will bring all 20 of your starting Solar Concentrators online, effectively doubling your initial energy production.

  2. Scale Production in Ratio: Once your initial 20 Solar Concentrators are operating at full capacity, you can begin to expand your energy infrastructure. To continue growing efficiently, you should produce 1 new Solar Concentrator for every 100 new Mirrors you create. This will ensure that you are always making the most of your resources.

Status of Game

The game shows some ideas around multiple resource currencies. The data structures that determine what trades for what could be repurposed as a foundation for a resource flow display. The game was essentially made by AI, with AI providing the probably rather suspect figures for what each resource needs for its production. The enegry production is likely optimistic too.

Spike 2 - Kanban Cards

Try Mars Kanban →

Scorpio (my ambitious diagrams project) needs flexible info cards that can be dragged from one place to another. Claude did some work on making draggable cards, but I didn't let it get very far.

It's the same game logic, but now you can drag cards from one column to another.

Take Homes

This game was quick easy and fun to make via vibe coding. There are many features I want from 'cards' and to get them I need to make more spike solutions.

Log

I've added two more spike solutions, one for cross sections of planets and one for configuring cards. The story of 'reusable components' that compose is beginning to come together. I'm starting to extract a library for data cards. I'm reusing the Omni<Something> code for configuring things.

  • 12-Sep-2025: First preview version
  • 08-Feb-2026: Added omnislice → (Planet slicing)
  • 08-Feb-2026: Added omnicard → (DataCard style-configuration)

Made with Claude and ChatGPT

Claude had a little difficulty grasping the idea of using a data structure to hold general purpose resource exchange rules. I was also designing the rules and games on the fly. Given what I know now, I would have prompted the AI "Keep it DRY" as that pushes to more compact code and data structures in place of hard coding.

ChatGPT gave me the exchange rates, and I think they are very suspect. No matter for a first pass at a game.

I didn't want to implement the drag and drop functionality myself. It's very standard, and there was no need to.

The cards and kanban style are easy for the engines. Data-driven exchange rules were not hard for the engines either.