Robo-8
ROBO-8 MANUAL
=============
Robo-8 is a retro steampunk console. The games for this console are stored in the form of configurations on cartridges. They can be inserted into the console from below. The console loads the configuration and interprets it as a playable matrix of individual letters.
The monitor of the console supports 3 different color modes. These can be changed at any time via the left rotary switch. There is also a button on the right that can be used to pause a running game.
Repository
========================
The ROBO-8 configuration
========================
The configuration for a game is formatted in JSON and stored in a separate JavaScript file. It consists mainly of the following objects.
- Header
- 3 layers (deco, ground, objects)
- Player and player projectile
- Enemy and enemy projectiles
- Additional styles
There are also these real configuration examples for the two games delivered with the Robo-8 Console: Space Invaders, Striker
Feel free to copy, adapt, change and twist them in any way you like!
All objects contain a collection of properties and their values. They can either be created manually or generated by code.
The configuration has to be registered as shwon in the following blueprint code. All objects are mandatory, so you can start by pasting the following code into a new JavaScript file.
import Config from "./config.js"; Config.register({ header: { // add header properties }, decoLayer: [ // add deco layer rows here ], groundLayer: [ // add ground layer rows here ], player: { // player properties }, enemyObjects: [ // list of all enemy objects ], additionalStyles: [ // list of additional styles ], projectileConfig: { player: { // player projectile properties }, enemy: [{ // list of projectile properties }] } });
The Configuration Objects
=========================
header | ||
---|---|---|
Property | Description | Example |
name | Game name (serves as identifier) | "Striker" |
world | Size of letter matrix | { x: 48, y: 23 } |
autoscroll | Playground is automatically scrolling (tested only for "scroll-x" and false) | "scroll-x" |
ground | Ground gets destroyed when hit by a projectile | { destructable: true } |
conditions | How to win the game ("zero-enemies" OR "end") | "zero-enemies" |
decoLayer |
---|
The matrix you defined in header.world is defining the letters per row (x) and number of rows (y). For each row, a string with x letters has to be provided in an array. The first array element represents the first line of letters on the Console display, second the second etc ... decoLayer: [ " ∙ ", " ∙ . ∙ ᐧ ᐧ ⋆ ", // for each row one string ] The deco layer isn't influencing your game mechanic at all. |
groundLayer |
---|
Defining the ground layer works exactly the same as for the decoLayer. White space serves as "no ground" as any other letter is interpreted and act as "ground". Please note: Some special UTF-8 letters will take more horizontal space than others (as seen in the example below). The Console will mitigate these differences. For the config just make sure to provide the exact number of letters per row in a String, according to the rules above. groundLayer: [ " ", " ▟▆▆▆▙ ▟▆▆▆▙ ▟▆▆▆▙ ", " ▛▃▃▃▜ ▛▃▃▃▜ ▛▃▃▃▜ ", // for each row one string ] The ground layer is influencing your game mechanic. It might act as a collider or obstacle depending on your games configuration. |
player | ||
---|---|---|
Property | Description | Example |
x, y | two properties for the starting position | x: 20, y: 10 |
moveHorizontal | 1 = yes, 0 = no | 1 |
moveVertical | 1 = yes, 0 = no | 0 |
minX, minY, maxX, maxY | 4 properties defining the boundaries of the players "movement box" (player can't be moved beyond the boundaries) | minX: 2, maxX: 46, minY: 0, maxY: 22 |
velocity | 0.5 | the speed the player is moving with each step (when greater 1, player moves 1 tile) |
letter | the letter representing the character | 🛦 |
health | the number of hitpoints a player can loose before losing the game | 3 |
Updated | 5 days ago |
Status | Prototype |
Category | Tool |
Platforms | HTML5 |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | Humane Tiger |
Development log
- Additional features and bugfixes - DOS Games JamJul 15, 2024
- NotesNov 09, 2023
Leave a comment
Log in with itch.io to leave a comment.