Process Development Guidelines
- Reflect real-world activities - Based on actual scientific or engineering procedures
- Have educational value - Teach concepts relevant to space exploration
- Balance time investment - Duration should match the complexity and value of outcome
- Create meaningful relationships - Connect items in logical chains of production
- Support game progression - Help players advance through increasingly complex systems
- title: Clear, descriptive name for the process (required)
- duration: Time required to complete the process in format
#h #m(space optional, e.g.,1h30m; units are case-insensitive, required) - requireItems: Items needed but not consumed (optional)
- consumeItems: Items removed from inventory when process starts (optional)
- createItems: Items added to inventory when process completes (optional)
- Titles have at least three characters
- Durations use the
h,m, orsunits (decimals allowed) - Item relationships include positive counts
- At least one of
requireItems,consumeItems, orcreateItemsis present - "30m" (30 minutes)
- "2h" (2 hours)
- "1h 30m" (1 hour, 30 minutes)
- "5m 30s" (5 minutes, 30 seconds)
- 3D Printing: Creating physical components from digital designs
- Assembly: Combining components into more complex systems
- Recycling: Converting waste materials into usable resources
- Plant Cultivation: Growing plants for food, oxygen, or research
- Aquaculture: Raising aquatic organisms
- Composting: Creating nutrients from organic waste
- Generation: Creating energy from renewable sources
- Storage: Storing energy for later use
- Conversion: Transforming energy between forms
- Experimentation: Scientific tests and demonstrations
- Simulation: Virtual modeling of space phenomena
- Analysis: Data examination and interpretation
- Process duration should correlate with the value of created items
- Consider educational value when determining time requirements
- Allow shorter processes to chain into longer progression paths
- Ensure logical connections between required/consumed items and outputs
- Create process chains where outputs become inputs for more advanced processes
- Consider physical conservation of materials (input mass roughly equals output mass)
- Include realistic time scales when appropriate
- Model actual procedures used in space exploration
- Demonstrate scientific principles through process outcomes
- NOT_STARTED: Process is defined but hasn't been initiated
- IN_PROGRESS: Process is currently running, countdown is active
- PAUSED: Progress is halted but can be resumed
- FINISHED: Process has completed and is ready for collection
- NOT_STARTED: "Start" button
- IN_PROGRESS: Progress bar, remaining time, "Pause" and "Cancel" buttons
- PAUSED: Progress bar, remaining time, "Resume" and "Cancel" buttons
- FINISHED: "Collect" button
- Create process through the in-game interface at /processes/create
- Export your created process as JSON from the management page:
- After saving your process, navigate to /processes/manage
- Locate your process in the list and use the export functionality to download the JSON
- Save the exported JSON file - this will be included in your content bundle
- Create any related items at /inventory/create and export them similarly
- Create any related quests at /quests/create and export them similarly
- Package everything into a bundle JSON (see Custom Content Bundles)
- Submit the bundle for review at /bundles/submit
- Respond to feedback on the generated pull request
- Once approved, your content bundle becomes available to all players
- Develop your custom process(es) following these guidelines
- Test with appropriate items to ensure correct behavior
- Create a content bundle JSON with related quests and items
- Submit a pull request with your bundle file in
submissions/bundles/ - Respond to feedback during code review
- Once approved, your content will be merged into the official game
- Basic Resource Collection: Simple processes that generate fundamental resources
- Primary Processing: Converting basic resources into useful materials
- Component Creation: Manufacturing individual parts from processed materials
- System Assembly: Combining components into functional systems
- Advanced Applications: Using completed systems for high-level functions
Process Development Guidelines
This guide provides structured instructions for creating processes in DSPACE. Well-designed processes form the backbone of the game's crafting and progression systems, connecting items to educational concepts and gameplay.
Process Philosophy
DSPACE processes should:
Process Structure
Core Properties
Every process requires the following properties:
At least one of requireItems, consumeItems, or createItems must be specified for a process to be useful.
Validation
Custom processes are validated against a JSON schema when created. The schema ensures:
Processes that fail validation will not be saved and the form displays helpful error messages.
Duration Format
Duration must follow the pattern (\d+h\s*)?(\d+m\s*)?(\d+s\s*)? (units are case-insensitive), for example:
Fractional values are allowed, so 0.5h will be interpreted as thirty minutes. Submitted values are normalized; for example, 0.5h 30s becomes 30m 30s on save.
Implementation State
The current ProcessForm.svelte component supports creating processes with all the
properties listed above. It includes item selection interfaces for each of the three item
relationship types. Numeric count inputs enforce a minimum of 1 so processes can't use zero or
negative quantities. A built-in preview shows how the process will appear once created, and form
validation now accepts seconds and fractional durations in addition to hours and minutes. Unit
tests also confirm uppercase duration suffixes are accepted alongside lowercase ones. The form is
also mobile-friendly with controls and submit buttons stacked vertically on small screens. You can
toggle Preview to test your settings before committing them. End-to-end tests now confirm the
preview renders correctly after valid input.
Process Categories
When designing processes, consider these common categories:
Manufacturing Processes
Biological Processes
Energy Processes
Educational Processes
Process Design Best Practices
Balancing Time and Reward
Item Relationships
Educational Components
Example Processes
Basic Manufacturing Process
{
"title": "3D Print Solar Panel Mount",
"duration": "2h 15m",
"requireItems": [{ "id": "3d-printer", "count": 1 }],
"consumeItems": [
{ "id": "pla-filament", "count": 250 },
{ "id": "dwatt", "count": 450 }
],
"createItems": [{ "id": "solar-panel-mount", "count": 1 }]
}
Biological Process
{
"title": "Grow Lettuce Hydroponically",
"duration": "14d",
"requireItems": [
{ "id": "hydroponic-system", "count": 1 },
{ "id": "grow-light", "count": 1 }
],
"consumeItems": [
{ "id": "lettuce-seed", "count": 5 },
{ "id": "nutrient-solution", "count": 2 },
{ "id": "dwatt", "count": 3360 }
],
"createItems": [{ "id": "lettuce", "count": 5 }]
}
Energy Process
{
"title": "Generate Solar Power",
"duration": "1h",
"requireItems": [{ "id": "solar-panel-100w", "count": 1 }],
"consumeItems": [],
"createItems": [
{ "id": "dwatt", "count": 100 },
{ "id": "dsolar", "count": 100 }
]
}
Process States
Processes go through several states during their lifecycle:
The UI displays different controls depending on the state:
Contribution Workflow
The recommended way to contribute processes is through the custom content bundle workflow, which keeps related quests, items, and processes together:
Alternatively, you can follow the traditional manual workflow:
Process Chains and Progression
One of the most effective ways to design processes is to think in terms of chains:
When designing process chains, consider how they support the educational goals of DSPACE and guide players through increasingly complex concepts relevant to space exploration.
By following these guidelines, you'll create processes that enhance gameplay while advancing DSPACE's mission of democratizing space exploration through practical, hands-on education.
