---
title: "Features"
draft: false
toc: true
---

The following are the game's **current** features and its **planned** features
before the game leaves "alpha" status.

![Screenshot of the level editor](/images/floor-is-lava.png)

# _Sketchy Maze_ is a "Forever Project"

I have a list of features I _really_ want for the "1.0" launch of the game, but
I'll plan on continuing development for as long as I find it interesting and will
release free updates to everybody who buys the game just once.

I've always wanted to make a videogame, and always liked to learn about game
design and everything, but never actually made anything worthwhile until
_Sketchy Maze._ Over time, I realized that I don't actually want to build
"a video game," what I wanted was a game _project_. Something I could just work
on and add features to, more of a game "platform," something long-term like
Minecraft.

This page describes the initial set of features planned for the 1.0 and some
ideas I have kicking around further down the road if all goes well.

# 1.0 Features

The expected feature list for the "1.0" version of the game, and how
far along I am.

## Level & Doodad Editor

The level editor should include basic drawing tools:

* **Features:**
  * [x] Easily switch between Play Mode and Edit Mode to test your level.
  * [x] Draw your own pixels anywhere you want.
    * _Should_ be pixel-perfect collision detection, though Boy has a hitbox
      that could use some trimming.
  * [x] Editable Palette to add and modify colors.
* **Drawing tools:**
  * [x] Freehand
  * [x] Line
  * [x] Rectangle
  * [x] Ellipse
  * [x] Eraser
  * [x] Undo/Redo
  * [ ] Zoom In/Out ([--experimental](/guidebook/experimental.html))
* **Level Sizes:**
  * [x] Bounded levels (0,0 to 2550,3300)
  * [ ] Custom width/height for Bounded (just needs UI work)
  * [x] No Negative Space: infinitely big levels which still have a
    top-left corner bounded at (0,0)
  * [x] Unbounded: infinitely large levels with no corners.
  * [ ] Bordered: a bounded level where the top and left decorations
    wrap around on the bottom and right sides too.
* **Wallpaper Themes:**
  * [x] Notebook: standard blue ruled notebook paper.
  * [x] Blueprint: dark blueprint paper.
  * [x] Legal pad: yellow legal pad with blue and red lines.
  * [ ] Blank sheet: a texture of a blank white sheet of paper.
  * [ ] Grid paper: a white page with grid pattern.
  * [x] Pure white: just a solid white background with no texture.
  * [ ] Placemat: a wavy pattern meant to decorate all four sides of a
    Bordered map.
  * [ ] Custom Wallpaper: users will be able to bundle a custom
    wallpaper texture inside their level file.
* **Doodad Editor:**

## Doodads Editor

## Single Player Campaign

The game is expected to come with a series of proper levels built-in which
are played in sequence and has some kind of interconnected story or
something. Currently you get some tutorial levels.

* **Single Player Campaign:**
    * [ ]
* **Polish:**
    * The platforming physics will be better. Currently the character gets
      stick walking up sloped surfaces, _especially_ moving Left (but not as
      much moving Right).

* [ ] Checkbox?

# Current Doodads

The current list of doodads built-in with the game can be found in the
[guidebook](/guidebook/doodads.html). For the exhaustive list so far, we have:

* **Bird:** a red bird that flies back and forth and can be ridden on.
* **Button:** sends a power on/off signal to a linked doodad.
* **Colored Doors & Keys:** four pairs of locks and matching keys.
* **Crumbly Floor:** a break-away floor.
* **Electric Door:** a closed door that only opens when it's powered.
* **Red Azulian:** test mob.
* **Small Key Doors:** locked doors and keys that are consumed each time
  a door is unlocked.
* **Start & End Flags:** set the player spawn point and level goal.
* **State Blocks:** blue and orange blocks that toggle from solid to
  passable.
* **State Button:** on/off switch that globally toggles state blocks.
* **Switches:** toggle electric doors open or closed or provide power
  on/off to other doodads.
* **Trapdoors:** one-way passages (all four directions).
* **Warp Doors:** for fast travel around the map between any two linked
  Warp Doors.
* **Warp Doors (Blue & Orange):** boolean state versions of Warp Doors,
  which may only be entered while the door is active.

Some hidden doodads that you can activate with cheat codes, but which
don't **do** very much because they were for the player character:

* **Boy:** the player character in a blue hoodie.
* **Blue Azulian:** the original placeholder character, a blue version of
  the Red Azulian.

(For that cheat code, try entering "boolProp showAllDoodads true" into
the developer console **before** opening the Level Editor, and they will
be available in the Doodads palette with the others).
