Crossin' Beams - Design Document
1. Game Overview
1.1 Game title
Working Title: "Crossin' Beams"
1.2 Elevator Pitch
A puzzle game about navigating laser beams from emitters to receivers while interacting with puzzle entities that add a challenge to each level.
1.3 Key Features
- Simple visuals
- Variety of puzzle entities that make levels challenging and unique
- Increasing difficulty across levels
- Levels are grouped by puzzle entity and challenging puzzles can be returned to at a later time
- Interactive environments with some easter eggs
1.4 Target Platform(s)
The following platform(s) will be supported at launch.
- Windows
Future Platform(s)
The following platforms may be supported depending on interest in the game.
- Steam Deck
- MacOS
- Linux
- iOS
- Android
1.5 Target Audience
Puzzle gamers who enjoy quick problem solving challenges.
2. Core Gameplay
2.1 Mechanics
The player uses their cursor to interact with puzzle entities. Interactions may involve toggling an entity on or off, rotating an entity, or moving it to a new location. The types of interactions that can be taken on a puzzle entity depend on the entity type.
2.2 Objectives
Navigate the laser beam from the emitter to the receiver by having the laser beam interact with puzzle entities. Avoid crossing beams of different colors and avoid destructible obstacles.
Crossing beams or destroying certain puzzle entities causes the level to reset.
2.3 Game Flow
- Player launches the game and is presented with the level selection screen.
- Player selects a level from the screen.
- Level is loaded, displayed on screen, and ready to be played.
- Player interacts with puzzle entities.
- Player solves or fails the puzzle. Failure resets the level.
- Upon successfully completing the puzzle, player unlocks another puzzle.
2.4 Level Design
2.4.1 Puzzle Entity
A puzzle entity is a building block of a level. It is something that interacts with the laser beam in some way that introduces challenges and solutions to each level.
Tile
The level "floor" that determines valid positions for puzzle entities. Puzzle entities can only be placed on tiles and
movable entities can only be moved to tiles that are not occupied by another entity.
Input Interactions: None.
Laser Interactions: None.
Laser Emitter
Emits a laser with the same color as the emitter.
Input Interactions: Toggle laser on/off.
Laser Interactions: Fires its own laser and blocks laser from sides.
Laser Receiver
Receives a laser with the same color as the receiver. Lights up when connected with correct color laser.
Input Interactions: None.
Laser Interactions: Activates when a laser of it's own color enters the opening. Blocks other lasers from front or any laser from sides.
Mirror
Reflects a laser.
Input Interactions: Toggle to rotate, drag to move.
Laser Interactions: Reflects a laser that collides with the front. Blocks lasers from sides
Two-Sided Mirror
Reflects one or more lasers.
Input Interactions: Toggle to rotate, drag to move.
Laser Interactions: Reflects a laser that collides with the either side.
Wall
Blocks one or more lasers.
Input Interactions: None.
Laser Interactions: Blocks lasers from all sides.
Bridge
Allows a laser to cross in one direction.
Input Interactions: None.
Laser Interactions: Allows a laser to cross in one direction, but blocks lasers from sides.
Cross Bridge
Allows lasers to cross.
Input Interactions: None.
Laser Interactions: Allows lasers to cross from all sides, including lasers of different colors.
Portal
Transports lasers.
Input Interactions: None.
Laser Interactions: Transports lasers that enter from front into corresponding portal. Blocks lasers from sides or back.
Dog
Just a dog.
Input Interactions: None.
Laser Interactions: Gets destroyed by laser and loses the level, but you wouldn't actually do that, would you?
Color Filter
Changes laser's color.
Input Interactions: None.
Laser Interactions: Each face has a different color. Laser entering matching color causes the laser to exit via
the other color. Mismatched colors or lasers colliding with the side blocks the laser.
Splitter
Splits lasers into multiple beams.
Input Interactions: None.
Laser Interactions: Laser entering into input side splits into two beams via output sides. Lasers entering into
any other side blocks the beam.
Capacitor
Forwards a beam once charged.
Input Interactions: None.
Laser Interactions: Acts like a laser emitter that must first be charged with a laser beam and then forwards the
beam. Lasers colliding with sides other than input side block the beam.
2.4.2 Level Layout
Each level must have at least one Laser Emitter and Laser Receiver.
2.4.3 Winning
A level is won/solved when all laser receivers are activated.
2.4.4 Losing
A level is lost when two lasers of different colors are crossed or when a destructible puzzle entity is destroyed, such as hitting a dog with a laser.
When a level is lost, the level is reset and the player may try again. There are no consequences to losing a level.
2.4.5 Level Selection
Level selection has its own screen. Levels are grouped by entity type or combinations of entity types.
Completing any single level in a group unlocks the next level in that group. Completing any three levels unlocks another level group.
3. Art and Aesthetics
3.1 Visual Style
Overall Theme: Minimalist voxel, clearly differentiating between different puzzle elements.
Color Palette: A limited color palette prioritizing clarity over realism.
UI/UX: Minimalist and square, matching the 3D voxel aesthetic of the level content itself.
3.2 Sound Design
Music: Minimalist upbeat background music. Each level group has a different background music for variety. Music should be simple and repeats, but not too short as to be overly repetitive in a short time.
Sound Effects: Each interaction should have a simple sound effect to add some audible feedback.
Accessibility: Adjustable volume levels or mute options for background music, sound effects, or both.
3.3 Animations
Level transitions, puzzle entity interactions, and UI interactions are animated.
4. Technical Details
4.1 Engine and Tools
This game is written in C without a game engine, but utilizes the Raylib game library for providing many useful utilities for game development.
Development Tools
3D Models: MagicaVoxel is used for initial 3D modeling. Blender is used for adjusting models prior to importing within the game.
2D Textures / Art / UI: Krita is used for 2D art, UI elements, and adjusting textures.
4. Production Plan
4.1 Milestones
Prototype
- Laser Emitter
- Laser Receiver
- Mirror
- Toggle action
- Move action
- Core gameplay loop
- Dev tools for level creation
- Multiple laser colors
- Cross bridge
- Bridge
- Portal
- Dog
- Color filter
- Two-sided mirror
Demo
- Main menu
- Background music
- Sound effects
- Level selection screen
- Polish camera system
- Itch.io page
- Feedback link to Itch page
Populate content
- Splitter
- Capacitor
- Plan ~50 levels by element group
- Build ~50 levels
Polish
- 3D models
- Animations
- Particle effects
- UI appearance
- UI animations
- Music
- Sound effects
- Interactive Environments
Pre-release
- Create Steam page
- Update Itch page
- Capsule art
- Screenshots
- Trailer
- Determine price
- Limit levels for festival
- Enter into festivals
- Execute pre-release marketing
Release
- Plan ~100 levels by element group
- Build ~100 levels
- Publish on Itch
- Publish on Steam
- Execute Release marketing
4.2 Budget and Resources
I'm building this game in my spare time while working a full time job. The main resource I have to manage is my time.
Given that this is my first commercial game, I don't expect it to be a financial success. I have a small budget for the entire project. I'm not sure how that will be broken down yet, but I expect to spend some money on festival entries, art, and marketing assets as needed.
4.3 Marketing and Distribution
I stream some game development on Twitch. Have social accounts on X and Bluesky.
I still need to evaluate game festivals, but intend to submit to a few festivals as those seem to be primary drivers of wishlists prior to release.
5. Appendix
5.1 Reference Materials / Inspirations
Dexter's Lab: Laser Lab
An old web game from Cartoon Network games. You play as Dexter while collecting mirrors and adjusting mirrors to destroy balloons with a laser beam.
Khet
A chess-like board game where you position mirrors to connect your laser while attempting to block your opponent.
The Talos Principle
A graphically-realistic 3D puzzle game with a deeper philosophical story.
5.2 Screenshots
Below are several screenshots from the existing prototype.