---
title: "Features"
draft: false
---

The following are the game's **current** features and its **planned** features
before the game leaves "alpha" status. There is a list of crucial "1.0" features
and some ideas for where I may take this game further down the road. I plan on
making this game my "forever project" and keep adding to it and releasing
updates for as long as I find it interesting.

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

# "1.0" Features

The expected feature list for the "1.0" version of the game, and how
far along I am. The general idea of what "1.0" will look like is that it
will have these features:

* **Single Player Campaigns:**
  * The game would come with at least one single-player campaign of built-in
    levels which are completed in sequence.
  * The free (shareware) version gets at least one campaign available to play.
  * The full version unlocks additional campaigns/chapters.
* **Level Editor & Custom Levels:**
  * A fully featured level and doodad editor is included, with all the tools
    needed to create custom content.
  * Custom doodads can be created or downloaded manually (and placed in the right
    game folder), and can be used in custom levels.
* **Full Version Extras:**
  * The [full version](/register/) adds extra qualify-of-life improvements in
    support of custom user content, to make it easier to share custom levels
    which use custom doodads.
  * "Publish" a .level file which _embeds_ all of its custom doodads _inside_ the
    level data, so that it "just plays" on someone else's computer, if they also
    have the full version of the game.
  * [In the future](#future) there may be in-game features to upload and download
    custom levels and doodads online, for full versions of the game only.

Some details of features and current progress towards the 1.0 release:

* **Single Player:**
  * [ ] Campaigns system to define one or more series of levels.
  * [ ] One chapter of built-in levels. May be a small set at first, but free
    updates can bring more levels.
* **Level Features:**
  * [x] Set of built-in wallpaper images of paper-themed level backgrounds.
  * [x] User can pick a custom wallpaper image which attaches to the level file.
  * [x] Page Types:
    * [x] Bounded: a limited size sheet of paper with a top and left margin.
    * [x] No Negative Space: a sheet of paper with infinite room to grow.
    * [x] Unbounded: an "infinite" sheet of paper with room to grow in all directions.
    * [ ] Bordered: a bounded sheet of paper with decorations wrapping around
      all four edges.
    * [ ] Player can configure the limits of bounded levels.
  * [x] Patterns for your level colors to give them textures like pencil graphite
    or marker when drawn onto your level.
  * [x] User can "publish" their level with custom doodads attached to it, for
    easy sharing with others ([full version only](/register/))
* **Level Editor:**
  * [x] Easily switch between Play Mode and Edit Mode to test your level.
  * [x] Draw your own pixels anywhere you want.
  * [x] Basic Drawing Tools: Pencil, Line, Rectangle, Ellipse, Eraser
  * [x] Undo/Redo
  * [ ] Zoom In/Out ([--experimental](/guidebook/experimental.html))
  * [x] Editable Palette to add and modify colors and their properties.
* **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:**
  * [x] Fully create all artwork (multiple frames) using in-game tools
  * [ ] Attach and manage JavaScript source to the doodad in-game
        (note: external code editor for _writing_ the JS will be used)
* **Custom Content and Mod Support:**
  * [x] All tools included to create custom levels and doodads and share custom
    creations with other players.

# Future

Some ideas I have for where the game can go after "1.0":

* Online services in-game for sharing levels and doodads with others.
  * For full versions of the game.
  * Players would be able to log on, browse levels and doodads uploaded by other
    players, and easily download and play them.
* Multiplayer features:
  * Two-player level gameplay mode. (Possibly more than two players).
  * Multiplayer collaboration for the Level Editor?
  * Ability to play _and_ edit a level both in real time?
* Mobile ports of the game (Android, Pinephone)
  * There is an example [Go SDL2 Android app](https://github.com/veandco/go-sdl2-examples/tree/master/examples/android)
    so getting an Android build may not be too difficult.
  * The game already "kinda works" on the Pine64 Pinephone running GNU/Linux.
    That device will be used to develop/test more touch-friendly user interfaces
    for the game ahead of any effort being put into Android.
  * Don't hold your breath for iOS support.
