Update site

This commit is contained in:
Noah 2022-01-12 21:40:44 -08:00
parent 232bff22ae
commit 695f93d40b
7 changed files with 140 additions and 59 deletions

View File

@ -34,9 +34,19 @@ theme = "notebook"
weight = 7
[[menu.main]]
pre = '<i class="fab fa-discord"></i>'
name = ""
name = "<!--Discord-->"
url = "/discord"
weight = 8
[[menu.main]]
pre = '<i class="fab fa-twitter"></i>'
name = "<!--Twitter-->"
url = "https://twitter.com/SketchyMaze"
weight = 9
[[menu.main]]
pre = '<i class="fab fa-github"></i>'
name = "<!--GitHub-->"
url = "https://github.com/SketchyMaze"
weight = 10
# [[menu.main]]
# name = "Tags"
# pre = "tag"

View File

@ -2,7 +2,6 @@
title: "About Sketchy Maze"
draft: false
---
_Sketchy Maze_ is a "drawing-based maze game" themed around hand-drawn maps
on paper. You can draw your own custom levels and make them look
like anything you want. Draw a castle or a cave, and you decide which colors are
@ -37,8 +36,7 @@ how the level plays out.
When you're just drawing with a pen and paper, the maze can be anything you want.
You can draw a castle or a cave, place little gizmos and traps throughout the
level and create puzzles. Do you want the red pixels to mean "fire" and burn the
player? Or do you want to decorate the tops of "bloody" spikes with red? Either
way, the 'fire' attribute on that color will do the job and you can draw whatever
player? The 'fire' attribute on that color will do the job and you can draw whatever
shape you want for your level hazards.
![Palette editor](/images/palette.png)
@ -67,12 +65,16 @@ _theme_ of Sketchy Maze is "hand-drawn maps on paper", the engine is actually
quite flexible and you can create full-color pixel art levels. The
[`doodad` tool](/guidebook/doodad-tool.html) can convert PNG images into levels
and it is not difficult to adapt full-color pixel art maps into playable levels
for this game.
for this game. I once tested this early on in development to convert the full map of
_Super Mario Bros._ 1-1 into a _Sketchy Maze_ level in order to stress test how my file format works for
densely packed levels with a lot of color. It worked!
See the [example doodads](https://code.sketchymaze.com/declassified/doodads)
where there will be example custom doodads that behave like some of the game's
built-in ones. The [JavaScript API](/guidebook/custom-doodads/scripts.html)
is documented in the [Guidebook](/guidebook/) that comes with the game.
is documented in the [Guidebook](/guidebook/) that comes with the game. Stay
tuned for some tutorials that walk you through how to create custom pixel-art
levels and make your own doodads.
# See Also

View File

@ -10,6 +10,9 @@ About Sketchy Maze.
## What is _Sketchy Maze?_
It is a "drawing-based maze game" themed around hand-drawn maps on paper.
It's one part 'yet another 2D platformer game', one part 'Mario Maker but you can
make whatever you want', and part educational game in that it might help teach
someone to code so they can program their own custom doodads.
With Sketchy Maze, you can draw your own levels and then play them as a
side-scrolling platformer game. You can draw maps freehand or with some basic
@ -27,11 +30,24 @@ doodads included in them depending on your version of the game.
_Sketchy Maze_ is first and foremost a videogame for **desktop operating systems.**
It should run on any GNU/Linux, Microsoft Windows or Apple macOS computer.
If you're feeling dangerous, you can also run it on GNU/Linux smartphone devices
like the Purism Librem 5 or Pine64 Pinephone. Mobile ports are _relatively_
down on the priority list, but it already _sorta_ functions.
I currently package releases of the game for:
See the [Download](/download) page.
* **Windows** (64-bit and 32-bit)
* **Mac OS** (Intel 64-bit only for now!)
* **GNU/Linux**
* x86_64, i386, and aarch64 release on Fedora-likes (.rpm) and Debian-likes (.deb) and .tar.gz
* x86_64 and aarch64 Flatpak packages.
* Works on Linux smartphones like the Pinephone and Librem 5!
Some places I could see it going in the future:
* **Android:** I saw an [example app](https://github.com/veandco/go-sdl2-examples/tree/master/examples/android)
how to run a Go SDL2 program like mine on Android but its documentation seems outdated and I haven't
figured it out yet. I'm using my Pinephone to plan a mobile/touch friendly UI but Android is a
likely target at some point.
* The **[Steam Deck](https://store.steampowered.com/steamdeck/):** for _Sketchy Maze_ I just need joypad
controls so you can navigate the UI and play the game without a mouse or keyboard, and this
Nintendo Switch-like device would be an amazing host to my game!
## What are "doodads?"
@ -125,16 +141,19 @@ 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:
until registered as a paid version, with any 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.
* If it gets online services, by logging into an account associated with your
purchased copy of the game (provable by the license key file).
* If released on Steam or other managed store, a check with the store's API
following their standard procedure.
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 to its full potential.
But the plan is that the "license key file for offline activation" _always_
be available. You get a proof file that you can keep forever and any version
of the game that accepted it before will always do so. That way even if I got
hit by a bus or you lost your Steam account, the game can still be played to
its full potential.
## What about piracy?
@ -148,14 +167,9 @@ actively worked on and gaining new features, these leaked keys would become less
interesting over time, as custom user content made for newer versions of the game
would become incompatible with the older versions.
When the game gets online services (sharing levels/doodads), the compromised
license key would be forbidden from those services.
## Will this game be available on Steam?
I haven't decided yet. I think I could try and distribute the game myself first.
It's gonna be in beta for some time and I can see if it attracts a cult following
along the way.
If the game gets online services in the future (e.g. for seamless in-game
sharing of custom levels and doodads), players would need a valid signed
license key to log on and these leaked keys would be excluded.
# Technicals

View File

@ -3,7 +3,7 @@ title: "Features"
draft: false
---
The following are the game's **current** features and its **planned** features
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
@ -17,32 +17,44 @@ 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:**
* **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 free (shareware) version gets at least one campaign available to play.
* The full version unlocks additional campaigns/chapters.
* 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 doodads can be created or downloaded manually (and placed in the right
game folder), and can be used in custom levels.
* 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
* 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.
* 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:**
* [ ] 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.
* [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.
@ -52,36 +64,66 @@ Some details of features and current progress towards the 1.0 release:
* [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] 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/))
* [ ] 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
* [ ] Zoom In/Out ([--experimental](/guidebook/experimental.html))
* [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.
* [ ] Grid paper: a white page with grid pattern.
* [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.
* [ ] Custom Wallpaper: users will be able to bundle a custom
wallpaper texture inside their level file.
* [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
* [ ] 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.
* [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

View File

@ -8,7 +8,7 @@ unlock some additional features to make custom content and modding _much_
easier to do.
The notable features that registering your game will unlock
(as of [v0.10.0](/posts/release-v0.10.1/)) include:
(as of [v0.10.1](/posts/release-v0.10.1/)) include:
* The ability to [publish](https://www.sketchymaze.com/guidebook/custom-levels/publishing.html)
and play levels which **embed their custom doodads** _inside_ the level file for
@ -22,7 +22,7 @@ _any_ amount of money for it. When the "1.0" of the game launches, it will have
a page on [Itch.io](https://itch.io) for a more structured storefront but for
now I have a couple of options for you:
* Support me [on Patreon](https://www.patreon.com/kirsle) at least once
* Support me [on Patreon](https://www.patreon.com/kirsle) at least once.
* Send me a one-off donation on [Paypal](https://www.paypal.com/donate?business=Q9TER3KLPK8XG&no_recurring=0&currency_code=USD).
<form action="https://www.paypal.com/donate" method="post" target="_top">

View File

@ -5,10 +5,7 @@
<p>
<strong>Sketchy Maze</strong> is a drawing-based maze game themed around
hand-drawn maps on paper. You can design your own level and make it look
like anything you want, and drag-and-drop some 'doodads' like Buttons,
Doors and Keys to add interactive elements and create puzzles and
obstacles.
hand-drawn maps on paper.
</p>
<p>
@ -16,7 +13,15 @@
</p>
<p>
The game is currently available as an early <strong>alpha</strong>
While the game includes some built-in levels you can play, its main feature
is the editor. You can draw your own maps and make them look like anything
you want, picking your colors and deciding which are solid and which
are fire, and then drag-and-drop some 'doodads' such as keys, doors, and
enemies to make it interesting and then <strong>play</strong> it.
</p>
<p>
The game is currently available as an early <strong>beta</strong>
release. See the <a href="/download/">Downloads</a> to try it out!
</p>

View File

@ -11,6 +11,14 @@ body {
background-repeat: no-repeat, repeat-y, repeat-x, repeat;
}
/* On narrow screens add contrast behind the nav bar */
@media (max-width: 600px) {
.nav-link {
background-color: rgba(255, 255, 255, 0.5);
border-radius: 24px;
}
}
img {
max-width: 100%;
height: auto;