From 695f93d40b722da939e1d63acabfaaacaa41a015 Mon Sep 17 00:00:00 2001 From: Noah Petherbridge Date: Wed, 12 Jan 2022 21:40:44 -0800 Subject: [PATCH] Update site --- config.toml | 12 +++- content/about.md | 12 ++-- content/faq.md | 52 ++++++++++------ content/features.md | 96 +++++++++++++++++++++-------- content/register.md | 4 +- themes/notebook/layouts/index.html | 15 +++-- themes/notebook/static/css/main.css | 8 +++ 7 files changed, 140 insertions(+), 59 deletions(-) diff --git a/config.toml b/config.toml index fca4efc..5425dfb 100644 --- a/config.toml +++ b/config.toml @@ -34,9 +34,19 @@ theme = "notebook" weight = 7 [[menu.main]] pre = '' - name = "" + name = "" url = "/discord" weight = 8 + [[menu.main]] + pre = '' + name = "" + url = "https://twitter.com/SketchyMaze" + weight = 9 + [[menu.main]] + pre = '' + name = "" + url = "https://github.com/SketchyMaze" + weight = 10 # [[menu.main]] # name = "Tags" # pre = "tag" diff --git a/content/about.md b/content/about.md index 02df131..2e6de04 100644 --- a/content/about.md +++ b/content/about.md @@ -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 diff --git a/content/faq.md b/content/faq.md index 2335700..5b7e7f9 100644 --- a/content/faq.md +++ b/content/faq.md @@ -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 diff --git a/content/features.md b/content/features.md index bb8bf52..6fbe245 100644 --- a/content/features.md +++ b/content/features.md @@ -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** ([Story Mode](/guidebook/story-mode.html)): * 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 diff --git a/content/register.md b/content/register.md index a3cf4e0..c202968 100644 --- a/content/register.md +++ b/content/register.md @@ -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¤cy_code=USD).
diff --git a/themes/notebook/layouts/index.html b/themes/notebook/layouts/index.html index c907d67..52fe287 100644 --- a/themes/notebook/layouts/index.html +++ b/themes/notebook/layouts/index.html @@ -5,10 +5,7 @@

Sketchy Maze 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.

@@ -16,7 +13,15 @@

- The game is currently available as an early alpha + 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 play it. +

+ +

+ The game is currently available as an early beta release. See the Downloads to try it out!

diff --git a/themes/notebook/static/css/main.css b/themes/notebook/static/css/main.css index 60dceec..0fbf908 100644 --- a/themes/notebook/static/css/main.css +++ b/themes/notebook/static/css/main.css @@ -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;