@ -18,7 +18,9 @@ drawing tools (like rectangles and ellipses), specify which color lines are
"doodads" such as buttons and doors onto your map to add some interactive elements.
If you're not much of a level designer, fear not! The game will also feature some
built-in levels that you can play and get some inspiration from.
built-in levels that you can play and get some inspiration from. You will
also be able to play custom maps created by others, possibly with custom
doodads included in them depending on your version of the game.
## What devices can I play it on?
@ -31,6 +33,17 @@ down on the priority list, but it already _sorta_ functions.
See the [Download ](/download ) page.
## What are "doodads?"
Doodads are the dynamic objects you drag and drop into your level to make
it "do" things. They are the Buttons, Switches, Trapdoors, and other traps
and hazards to create puzzles and perilous platforming sections of your
level.
The game ships with a handful of [built-in doodads ](/guidebook/doodads.html )
and players may also create their own, and program their behavior using
JavaScript.
## Do I need to learn how to program?
Nope! You can just draw some levels and use pre-made doodads in them. The "1.0"
@ -38,19 +51,26 @@ version of the game is expected to include a proper set of single player levels
that can simply be _played_ so you don't even need to draw your own level if
you're not feeling creative.
Eventually, players will be able to embed custom doodads _inside_ of their
level file, for easy sharing with others: you can just download and play
the level and all of its custom content came baked-in, so no need to worry
about having a common set of custom doodads installed!
## The user interface is ugly!
I find the "Windows 95" look charming.
The good thing about the user interface is that it's released as a
[free and open source ](#is-this-game-open-source ) module. Eventually I plan to
build theming support into the UI toolkit, and _Sketchy Maze_ will automatically
look awesome .
Along with this game I'm also developing my own user interface toolkit from
scratch, with a simple API inspired by the [Tk toolkit ](https://www.tcl.tk/ ).
It happens that the "Windows 95" look is easy to draw programmatically, as
a button is just a few rectangles overlapped to draw shadows and highlights .
I developed my UI toolkit from scratch, and the "Windows 95" look is _very_ easy
to program. A button is just a handful of rectangles drawn on top of each other
with offsets to provide the "3D look" and I found it preferable to make the UI
toolkit _look how it acts_ until I was confident I did it right.
The user interface toolkit is released as a
[free and open source ](#is-this-game-open-source ) module that other Go
developers can use to draw buttons, menus and other UI controls into a
graphical application. One day, the UI toolkit will support fancy theming
of widgets, and _Sketchy Maze_ will very easily look better (or have
user-configurable themes available to choose from).
# Pricing and Distribution
@ -60,22 +80,32 @@ Yes!
While the game is in beta, all releases are **100% free and fully functional.**
After the game reaches "1.0" it will use a hybrid freemium model. Free versions
of the game will include:
After the game reaches "1.0" it will have a free version and a paid one
which unlocks additional modding capabilities, like the ability to use
custom doodads in your levels. I like Minecraft's model of "buy the game
once, free updates forever" and will do similar.
The full version would mainly add quality-of-life improvements supporting
custom user content, such as the ability to play a custom level which
_comes with_ all of its custom doodads, wallpaper, and other assets
embedded directly inside the level file.
The free versions of the game would include:
* One chapter of built-in single player levels.
* The level editor where you can create and share your own custom maps, using
the built-in [doodads ](/guidebook/doodads.html ) that the game shipped with.
the [built-in doodads ](/guidebook/doodads.html ) that the game shipped with.
You can also play levels created by other players as long as they use the
built-in doodads.
built-in doodads only, or uses custom doodads the player has installed
locally.
Paid versions of the game will include _additional_ features such as:
* Additional chapters of built-in single player levels.
* Support for **custom doodads** in your custom levels, including the ability to
play levels made by other users which make use of custom doodads.
* Ability to **bundle** your custom doodads _with_ your level file for easy
sharing with other players .
* Better support for **custom doodads** : when sharing your level with others,
you may embed all custom doodads _inside_ of the level so that it can be
easily played on a different computer, and the ability to play such
levels (the free version won't use embedded custom doodads) .
* Possibly some access to online account features (in-game UI to share and
download levels and doodads made by others, etc.)
@ -88,6 +118,18 @@ with other players.
I hate DRM, so I don't expect so.
Likely, the same program .exe will use "free version" features by default
until registered as a paid version, with either of these options:
* With a license key file for offline activation.
* With an online check to an account server (optional)
* If released on Steam, a Steam license check for the game.
But I would most aim for the first option to always be available: buy the
game once, get a proof file that you can keep forever and upgrade to the
full version of the game. That way even if I get hit by a bus or you lose
your Steam account, the game can still be played.
## Will this game be available on Steam?
I haven't decided yet. I think I could try and distribute the game myself first.
@ -118,7 +160,8 @@ So I built my own [render](https://git.kirsle.net/go/render) library that
abstracts around SDL2 for desktops and HTML5 Canvas elements for WebAssembly,
and my game needed UI buttons so I wrote a [UI toolkit ](https://git.kirsle.net/go/ui )
which provides Labels, Buttons, Menus, Windows, and all sorts of useful widgets
to draw my user interface with.
to draw my user interface with. The render engine can be extended to target
other APIs, such as OpenGL or Vulkan, in the future as needs arise.
Here are a list of open source projects created **as a part of** development of
_Sketchy Maze_ which should be generally useful to any Go developers for making