|
|
|
---
|
|
|
|
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** <small>([Story Mode](/guidebook/story-mode.html))</small>:
|
|
|
|
* The game would come with at least one single-player campaign of built-in
|
|
|
|
levels which are completed in sequence.
|
|
|
|
* The player's progress and high scores on a level pack are saved. Some
|
|
|
|
levelpacks can have their later levels "locked" until the player completes
|
|
|
|
earlier levels.
|
|
|
|
* Players can create their own [Level Packs](/guidebook/custom-levels/levelpacks.html)
|
|
|
|
too and share them with others.
|
|
|
|
* **Level Editor & Custom Levels:**
|
|
|
|
* A fully featured level and doodad editor is included, with all the tools
|
|
|
|
needed to create custom content.
|
|
|
|
* Custom doodad files can be copied and shared to other computers (and placed
|
|
|
|
in the [right game folder](/guidebook/profile-directory.html)) and be used
|
|
|
|
in custom levels.
|
|
|
|
* Custom level packs that use only the built-in doodads are perfectly
|
|
|
|
supported; if they require custom doodads, players need to install the
|
|
|
|
doodad files manually.
|
|
|
|
* **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.
|
|
|
|
* The ability to create a .level file which embeds _all_ of its custom doodads
|
|
|
|
_inside_ the level's data for easy transport to another computer. The level
|
|
|
|
brings everything it needs, so no need to juggle custom doodad files by hand!
|
|
|
|
* The ability to _play_ a .level file which embedded its custom doodads.
|
|
|
|
* By extension, the ability to play a [Level Pack](/guidebook/custom-levels/levelpacks.html)
|
|
|
|
whose levels use custom doodads and everything will **just work** by simply
|
|
|
|
downloading the one .levelpack file and loading it in your game!
|
|
|
|
|
|
|
|
Some details of features and current progress towards the 1.0 release:
|
|
|
|
|
|
|
|
* **Single Player:**
|
|
|
|
* [x] Campaigns system to define one or more series of levels (Level Packs).
|
|
|
|
* [x] At least chapter of built-in levels.
|
|
|
|
* [x] Scoring, savegame and progression system.
|
|
|
|
* [ ] At least 12 levels in one level pack together
|
|
|
|
* **As of v0.10.0:** I have 5 levels in First Quest and 3 in Tutorial (8 total)
|
|
|
|
* Minimum for "1.0", more levels can be added in free updates.
|
|
|
|
* **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.
|
|
|
|
* [x] 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.
|
|
|
|
* [ ] Support for custom user-created patterns
|
|
|
|
* **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
|
|
|
|
* [x] Zoom In/Out
|
|
|
|
* [x] Editable Palette to add and modify colors and their properties.
|
|
|
|
* [x] Color properties: decoration (default), solid, fire, water
|
|
|
|
* [ ] Maybe: destructable, slippery, wire, semisolid.
|
|
|
|
* [x] Place doodads and link them together
|
|
|
|
* **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.
|
|
|
|
* [x] Grid paper: a white page with grid pattern.
|
|
|
|
* [x] Dotted paper: dots of various colors spaced and aligned like the grid paper.
|
|
|
|
* [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.
|
|
|
|
* [x] [Custom Wallpaper](/guidebook/custom-levels/custom-wallpaper.html): users can
|
|
|
|
bundle a custom wallpaper texture inside their level file (supported for the
|
|
|
|
free version too!)
|
|
|
|
* **Doodad Editor:**
|
|
|
|
* [x] Fully create all artwork (multiple frames) using in-game tools
|
|
|
|
* [x] Attach and manage a JavaScript source file on your doodad in-game
|
|
|
|
* The game includes some "generic scripts" built-in that can generally apply
|
|
|
|
to _any_ doodad, allowing players to create simple obstacles without needing
|
|
|
|
to even touch any JavaScript:
|
|
|
|
* [x] Generic Solid: the hitbox of your doodad acts solid.
|
|
|
|
* [x] Generic Fire: the hitbox of your doodad acts like fire.
|
|
|
|
* [x] Generic Anvil: your doodad behaves just like the [Anvil](/guidebook/doodads.html#anvil).
|
|
|
|
* [x] Generic Collectible: your doodad can be picked up and sit in the player's
|
|
|
|
inventory, quantity configurable in its tags.
|
|
|
|
* [ ] Generic Warp Door: that will work with the game's built-in doors.
|
|
|
|
* [ ] Generic Creature: a method to create a working character completely in-game
|
|
|
|
that can be played as by linking it to the Start Flag.
|
|
|
|
* **Custom Content:**
|
|
|
|
* [x] A [Guidebook](/guidebook) that ships with the game and is available online provides
|
|
|
|
thorough documentation about the game's features and how to create custom content.
|
|
|
|
* [x] Custom doodads can be programmed in JavaScript and the game's built-in doodads
|
|
|
|
are using the same API as everybody else. The API will expand as the engine gains
|
|
|
|
new features.
|
|
|
|
* [x] Custom wallpapers to use as your level background (full color photos, pixel art, whatever!)
|
|
|
|
* The game ships with the `doodad` tool which provides advanced features for
|
|
|
|
manipulating levels and doodads:
|
|
|
|
* [x] Convert a PNG image into a .level file (full-color pixel art levels perfectly ok!)
|
|
|
|
* [x] Convert a .level file back into a PNG image
|
|
|
|
* [x] Create a .doodad file using PNG images to define their layers.
|
|
|
|
* [x] Read and modify properties on levels and doodads
|
|
|
|
* [x] Manage the attached JavaScript source for a doodad
|
|
|
|
* **Full Version Extras:**
|
|
|
|
* [x] Level editor: User can "publish" their level which produces a .level file
|
|
|
|
which _attaches_ any custom doodads the level needs into the one file.
|
|
|
|
* [x] Ability to play levels which embed their custom doodads.
|
|
|
|
* [x] Ability to play level _packs_ whose levels embed their custom doodads.
|
|
|
|
|
|
|
|
# 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.
|