diff --git a/config.toml b/config.toml index 9bdadf2..c1e47a9 100644 --- a/config.toml +++ b/config.toml @@ -21,16 +21,20 @@ theme = "notebook" name = "Download" url = "/download" weight = 4 + [[menu.main]] + name = "Register" + url = "/register" + weight = 5 [[menu.main]] name = "Posts" pre = "pen-tool" url = "/posts/" - weight = 5 + weight = 6 [[menu.main]] name = "Tags" pre = "tag" url = "/tags/" - weight = 6 + weight = 7 [markup] [markup.highlight] diff --git a/content/about.md b/content/about.md index 4e80411..22eaf94 100644 --- a/content/about.md +++ b/content/about.md @@ -22,9 +22,30 @@ make a custom doodad, and there (will be) some example doodads you can build This game is still in **alpha release mode** and it has a few major features still to add. +# Inspiration + +I'm a 90's kid, and when I was growing up in the era of 2D platformer games like +_Sonic the Hedgehog_ and _Super Mario Bros._, I became interested in level design +and would draw my own 'mazes' on paper of a side scrolling platformer type game. +I would borrow ideas from _all_ sorts of videogames I liked, and draw in some +buttons which open a door clear across the level (and I'd draw a little dotted +line connecting the two so I don't forget), draw some trapdoors and lava pits +and slippery slopes and such, and then "play" through the level with my +imagination. I'd show my mazes to others and walk them through how it all +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 +shape you want for your level hazards. + +![Palette editor](https://www.sketchymaze.com/guidebook/images/palette.png) + # _Sketchy Maze_ is a "Forever Project" -I have a list of features I _really_ want for the "1.0" launch of the game, but +I have a [list of features](/features/) I _really_ want for the "1.0" launch of the game, but I'll plan on continuing development for as long as I find it interesting and will release free updates to everybody who buys the game just once. @@ -38,25 +59,6 @@ Minecraft. This page describes the initial set of features planned for the 1.0 and some ideas I have kicking around further down the road if all goes well. -# Inspiration - -I'm a 90's kid, and when I was growing up in the era of Sega Genesys and Super -Nintendo games, I used to like to draw my own maps on paper of a 2D platformer -style game. I'd borrow ideas from all sorts of videogames I liked, and draw -some buttons that open a door across the level when pressed (and I'd draw a -dotted line connecting the two so I don't forget), put in trapdoors and lava -pits and slippery slopes and such, and then I'd "play" my level with my -imagination. - -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 (doors, keys, buttons and things) to 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 shape you want for your level hazards. - -![Palette editor](/images/palette.png) - # Mod Friendly While the game ships with a [handful of built-in doodads](/guidebook/doodads.html) to diff --git a/content/download.md b/content/download.md index d31dfa8..fb59c8e 100644 --- a/content/download.md +++ b/content/download.md @@ -3,7 +3,7 @@ title: "Download" draft: false toc: true --- -# Latest Release: v0.7.0 (June 20, 2021) +# Latest Release: v0.7.1 (July 11, 2021) [Change History](/guidebook/changes.html) @@ -16,7 +16,7 @@ start the game. **Note:** I do not yet have a code signing certificate for the Windows release, so you may need to click through the "Unknown Publisher" dialog. -* **64-bit:** [sketchymaze-0.7.0-windows-64bit.zip](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-windows-64bit.zip) (23 MB) +* **64-bit:** [sketchymaze-0.7.1-windows-64bit.zip](https://download.sketchymaze.com/release/v0.7.1/sketchymaze-0.7.1-windows-64bit.zip) (23 MB) [Let me know](https://www.kirsle.net/contact) if there is demand for a 32-bit Windows build of this game. @@ -35,8 +35,8 @@ you're expected to know how to run apps from unverified developers. See [Apple's documentation](https://support.apple.com/guide/mac-help/open-a-mac-app-from-an-unidentified-developer-mh40616/11.0/mac/11.0) how to do this for your version of macOS. -* **Intel 64-bit App:** [sketchymaze-0.7.0-macOS-x64.dmg](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-macOS-x64.dmg) (32 MB) -* **Zip file for Intel Macs:** [sketchymaze-0.7.0-macOS-x64.zip](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-macOS-x64.zip) (22 MB) +* **Intel 64-bit App:** [sketchymaze-0.7.1-macOS-x64.dmg](https://download.sketchymaze.com/release/v0.7.1/sketchymaze-0.7.1-macOS-x64.dmg) (32 MB) +* **Zip file for Intel Macs:** [sketchymaze-0.7.1-macOS-x64.zip](https://download.sketchymaze.com/release/v0.7.1/sketchymaze-0.7.1-macOS-x64.zip) (22 MB) --- @@ -70,11 +70,11 @@ $ flatpak run com.sketchymaze.Doodle ### Fedora (.rpm) -* **64-bit:** [sketchy-maze-0.7.0-1.x86_64.rpm](https://download.sketchymaze.com/release/v0.7.0/sketchy-maze-0.7.0-1.x86_64.rpm) (21 MB) +* **64-bit:** [sketchy-maze-0.7.1-1.x86_64.rpm](https://download.sketchymaze.com/release/v0.7.1/sketchy-maze-0.7.1-1.x86_64.rpm) (21 MB) ### Ubuntu & Debian (.deb) -* **64-bit:** [sketchy-maze_0.7.0_amd64.deb](https://download.sketchymaze.com/release/v0.7.0/sketchy-maze_0.7.0_amd64.deb) (21 MB) +* **64-bit:** [sketchy-maze_0.7.1_amd64.deb](https://download.sketchymaze.com/release/v0.7.1/sketchy-maze_0.7.1_amd64.deb) (21 MB) ### Tarball @@ -83,7 +83,7 @@ anywhere and run. The binary is built on a modern Fedora system and _hopefully_ should run as-is on other modern GNU/Linux systems, but sometimes shared library versions of SDL2 may not match your computer. -* **64-bit:** [sketchymaze-0.7.0-linux-64bit.tar.gz](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-linux-64bit.tar.gz) +* **64-bit:** [sketchymaze-0.7.1-linux-64bit.tar.gz](https://download.sketchymaze.com/release/v0.7.1/sketchymaze-0.7.1-linux-64bit.tar.gz) * **ARM aarch64:** [sketchymaze-0.7.0-linux-aarch64.tar.gz](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-linux-aarch64.tar.gz) For the daring, Sketchy Maze _almost_ works on the Pinephone. Try the aarch64 @@ -93,6 +93,21 @@ version of the tarball, built on Mobian on Pinephone. # Previous Releases +## v0.7.0 (June 20, 2021) + +* Windows: + * 64-bit: [sketchymaze-0.7.0-windows-64bit.zip](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-windows-64bit.zip) (23 MB) +* Mac OS (Intel): + * Sketchy Maze.app: [sketchymaze-0.7.0-macOS-x64.dmg](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-macOS-x64.dmg) (32 MB) + * Zip file: [sketchymaze-0.7.0-macOS-x64.zip](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-macOS-x64.zip) (22 MB) +* Linux (64-bit Intel and AMD PCs) + * Flatpak (manual install): [sketchymaze-0.7.0.flatpak](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0.flatpak) (9.3 MB) + * .rpm (Fedora-likes): [sketchy-maze-0.7.0-1.x86_64.rpm](https://download.sketchymaze.com/release/v0.7.0/sketchy-maze-0.7.0-1.x86_64.rpm) (21 MB) + * .deb (Debian and Ubuntu): [sketchy-maze_0.7.0_amd64.deb](https://download.sketchymaze.com/release/v0.7.0/sketchy-maze_0.7.0_amd64.deb) (21 MB) + * Tarball: [sketchymaze-0.7.0-linux-64bit.tar.gz](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-linux-64bit.tar.gz) +* Linux (64-bit ARM, like the Pinephone or raspberry pi): + * Tarball: [sketchymaze-0.7.0-linux-aarch64.tar.gz](https://download.sketchymaze.com/release/v0.7.0/sketchymaze-0.7.0-linux-aarch64.tar.gz) + ## v0.6.0-alpha (June 6, 2021) * Windows: @@ -108,7 +123,6 @@ version of the tarball, built on Mobian on Pinephone. * Linux (64-bit ARM, like the Pinephone or raspberry pi): * Tarball: [sketchymaze-0.6.0-linux-aarch64.tar.gz](https://download.sketchymaze.com/release/v0.6.0/sketchymaze-0.6.0-linux-aarch64.tar.gz) - ## v0.5.0-alpha (March 31, 2021) * Windows: diff --git a/content/faq.md b/content/faq.md index 4f6530a..04ee124 100644 --- a/content/faq.md +++ b/content/faq.md @@ -130,6 +130,21 @@ 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. +## What about piracy? + +When I start to discover license keys which have leaked online to game piracy +websites, _future_ releases of Sketchy Maze will begin to include license +revocation lists and will cease honoring the compromised license key. + +The compromised license key would still work on all _older_ versions of the game, +but would be barred from newer releases; and while the game is still being +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. diff --git a/content/features.md b/content/features.md index 5effade..bb8bf52 100644 --- a/content/features.md +++ b/content/features.md @@ -1,61 +1,69 @@ --- title: "Features" draft: false -toc: true --- The following are the game's **current** features and its **planned** features -before the game leaves "alpha" status. +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) -# _Sketchy Maze_ is a "Forever Project" - -I have a list of features I _really_ want for the "1.0" launch of the game, but -I'll plan on continuing development for as long as I find it interesting and will -release free updates to everybody who buys the game just once. - -I've always wanted to make a videogame, and always liked to learn about game -design and everything, but never actually made anything worthwhile until -_Sketchy Maze._ Over time, I realized that I don't actually want to build -"a video game," what I wanted was a game _project_. Something I could just work -on and add features to, more of a game "platform," something long-term like -Minecraft. - -This page describes the initial set of features planned for the 1.0 and some -ideas I have kicking around further down the road if all goes well. - -# 1.0 Features +# "1.0" Features The expected feature list for the "1.0" version of the game, and how -far along I am. - -## Level & Doodad Editor - -The level editor should include basic drawing tools: - -* **Features:** +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. - * _Should_ be pixel-perfect collision detection, though Boy has a hitbox - that could use some trimming. - * [x] Editable Palette to add and modify colors. -* **Drawing tools:** - * [x] Freehand - * [x] Line - * [x] Rectangle - * [x] Ellipse - * [x] Eraser + * [x] Basic Drawing Tools: Pencil, Line, Rectangle, Ellipse, Eraser * [x] Undo/Redo * [ ] Zoom In/Out ([--experimental](/guidebook/experimental.html)) -* **Level Sizes:** - * [x] Bounded levels (0,0 to 2550,3300) - * [ ] Custom width/height for Bounded (just needs UI work) - * [x] No Negative Space: infinitely big levels which still have a - top-left corner bounded at (0,0) - * [x] Unbounded: infinitely large levels with no corners. - * [ ] Bordered: a bounded level where the top and left decorations - wrap around on the bottom and right sides too. + * [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. @@ -68,56 +76,29 @@ The level editor should include basic drawing tools: * [ ] Custom Wallpaper: users will be able to bundle a custom wallpaper texture inside their level file. * **Doodad Editor:** - -## Doodads Editor - -## Single Player Campaign - -The game is expected to come with a series of proper levels built-in which -are played in sequence and has some kind of interconnected story or -something. Currently you get some tutorial levels. - -* **Single Player Campaign:** - * [ ] -* **Polish:** - * The platforming physics will be better. Currently the character gets - stick walking up sloped surfaces, _especially_ moving Left (but not as - much moving Right). - -* [ ] Checkbox? - -# Current Doodads - -The current list of doodads built-in with the game can be found in the -[guidebook](/guidebook/doodads.html). For the exhaustive list so far, we have: - -* **Bird:** a red bird that flies back and forth and can be ridden on. -* **Button:** sends a power on/off signal to a linked doodad. -* **Colored Doors & Keys:** four pairs of locks and matching keys. -* **Crumbly Floor:** a break-away floor. -* **Electric Door:** a closed door that only opens when it's powered. -* **Red Azulian:** test mob. -* **Small Key Doors:** locked doors and keys that are consumed each time - a door is unlocked. -* **Start & End Flags:** set the player spawn point and level goal. -* **State Blocks:** blue and orange blocks that toggle from solid to - passable. -* **State Button:** on/off switch that globally toggles state blocks. -* **Switches:** toggle electric doors open or closed or provide power - on/off to other doodads. -* **Trapdoors:** one-way passages (all four directions). -* **Warp Doors:** for fast travel around the map between any two linked - Warp Doors. -* **Warp Doors (Blue & Orange):** boolean state versions of Warp Doors, - which may only be entered while the door is active. - -Some hidden doodads that you can activate with cheat codes, but which -don't **do** very much because they were for the player character: - -* **Boy:** the player character in a blue hoodie. -* **Blue Azulian:** the original placeholder character, a blue version of - the Red Azulian. - -(For that cheat code, try entering "boolProp showAllDoodads true" into -the developer console **before** opening the Level Editor, and they will -be available in the Doodads palette with the others). + * [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. diff --git a/content/posts/example.md b/content/posts/example.md index 47472b4..8da248a 100644 --- a/content/posts/example.md +++ b/content/posts/example.md @@ -1,7 +1,7 @@ --- title: "Example" date: 2021-01-03T18:12:43-08:00 -draft: false +draft: true tags: ["foo", "bar"] toc: true --- diff --git a/content/posts/release-v0.7.0.md b/content/posts/release-v0.7.0.md new file mode 100644 index 0000000..633a1ce --- /dev/null +++ b/content/posts/release-v0.7.0.md @@ -0,0 +1,59 @@ +--- +title: "Sketchy Maze v0.7.0 Released" +date: 2021-06-20T15:34:51-07:00 +draft: false +summary: A new alpha version of Sketchy Maze has been released. +tags: ["release", "announcement"] +--- +A new **alpha** version of _Sketchy Maze_ has been released, which brings +several improvements to the game. This is also the first release in which the +"free version" drifts meaningfully away from the "full version" in terms of +features. The full version includes the ability to +[publish](/guidebook/custom-levels/publishing.html) your level, bundling all of its +custom doodads _inside_ the level file for easy sharing. The free version can +still use custom doodads, but they must be managed manually. + +* **Brush Patterns** for your level palette. Instead of your colors drawing on as + plain, solid pixels, a color swatch can _sample_ with a Pattern to create a + textured appearance when plotted on your level. Several patterns are built in + including Noise, Marker, Ink, and others. The idea is that your brush strokes can + look as though they were drawn in pencil graphite or similar. + + ![Screenshot of Brush Patterns feature](/images/patterns.png) +* **Title Screen:** the demo level shown on the title screen will leisurely scroll + around the page. The arrow keys may still manually scroll the level any direction. +* **Attach Doodads to Level Files:** this is the first release that supports _truly_ + portable custom levels! By attaching your custom doodads _with_ your custom level + file, it will "just play" on someone else's computer, and they don't need to copy + all your custom doodads for it to work! But, free versions of the game will not + get to enjoy this feature. +* **Settings UI**: a "Settings" button on the home screen (or the Edit->Settings + menu in the editor) will open a settings window. Check it out! +* **Horizontal Toolbars option:** if enabled in the Settings window, the toolbar + and palette in the Editor will be horizontal instead of vertical, along the top + and bottom of the screen. This may be better optimized for smartphone-sized + screens like the Pinephone. If the program is started with `-w mobile` the first + time, it will use horizontal toolbars by default. + +Some small bits of polish in the game's user interface: + +* Some buttons are more colorful! The "Ok" button in alert boxes is blue and pressing + Enter will select the blue button. +* When opening a drawing to play or edit, a blue **Browse...** button is + added so you can more easily find downloaded custom levels and play them. +* In the Level Editor, the "Level -> **Attached Files**" menu will let you see + and manage files attached to your level, such as its custom wallpaper image or + any custom doodads that were published with the level. +* The keyboard shortcut to open the developer console is now the tilde/grave key + (`) instead of Enter. + +Bugs fixed: + +* The WASD keys to move the player character (as an alternative to the arrow keys) + now works more reliably. Previously, they were affected by key-repeat so Boy would + do a quick hop followed by a longer one when pressing W to jump. Also, his + animation would not update correctly when moving via the WASD keys. Both bugs + are fixed in this release. +* Shortcut keys advertised in the menu, such as Ctrl-N and Ctrl-S, now actually work. + +Get the new version on the [Download](/download/) page! diff --git a/content/posts/release-v0.7.1.md b/content/posts/release-v0.7.1.md new file mode 100644 index 0000000..0bd5be1 --- /dev/null +++ b/content/posts/release-v0.7.1.md @@ -0,0 +1,13 @@ +--- +title: "Release v0.7.1" +date: 2021-07-11T14:56:35-07:00 +draft: false +--- +This is a small bugfix release: on the Windows build of v0.7.0, built-in wallpapers +other than the default Notebook were failing to load. + +No substantial differences for the Linux or Mac OS version, though I have +improved my deployment scripts to make it easier to release the game in +the future. + +Get the new version on the [Download](/download/) page! diff --git a/content/register.md b/content/register.md new file mode 100644 index 0000000..68db70c --- /dev/null +++ b/content/register.md @@ -0,0 +1,42 @@ +# Register Your Game + +_Sketchy Maze_ is 100% free to play as a shareware game, but purchasing the +full version will unlock additional features. + +As of [release v0.7.0](/posts/release-v0.7.0/), registering for the full version +of the game adds the following features: + +* **Publish your custom levels, doodads included!** If you are using some custom + doodads to design your levels, the Publish feature allows you to _easily_ share + your level with others: all custom doodads will be _attached_ directly into + the .level file, so you can send your level to your friend and it will + "just play" on her computer, as all of its custom content is included! +* **Play custom levels which have attached doodads:** the full version of the + game is needed to _play_ such levels which were published with their custom + doodads attached to the level file. + +## Status: Coming Soon! + +Options are currently being explored in terms of payment provider to begin +selling full versions of this game. Until then, friends & family get free +license keys. + +## Buy once, free updates forever + +The way this is going to work is that you buy the game just **one** time and +get free updates to the game for as long as I find it interesting to develop. +The early releases will be inexpensive and will go up as the game gains more +features and popularity, so early adopters can get in on the later updates for +a lower price! + +## No DRM + +Upon registering for the full version of the game, you will receive a +"License Key file" which you select in-game to activate it. This process is +100% off-line, no network connection required, I want to make sure the game still +functions even if I get hit by a bus. + +Future releases of the game will honor license keys generated for prior versions, +except if your key is discovered leaked onto piracy websites; in which case, +future releases of the game would stop accepting that license but older versions +will still work. diff --git a/static/images/lava.png b/static/images/lava.png index 510385a..a819810 100644 Binary files a/static/images/lava.png and b/static/images/lava.png differ diff --git a/static/images/patterns.png b/static/images/patterns.png new file mode 100644 index 0000000..1df4772 Binary files /dev/null and b/static/images/patterns.png differ diff --git a/themes/notebook/layouts/index.html b/themes/notebook/layouts/index.html index bdfd849..07541cb 100644 --- a/themes/notebook/layouts/index.html +++ b/themes/notebook/layouts/index.html @@ -3,10 +3,6 @@
- -
-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 @@ -15,25 +11,27 @@ obstacles.
++ +
+The game is currently available as an early alpha release. See the Downloads to try it out!
-See About, FAQ and the Guidebook for more information about the game.
+ +