Release v0.13.1

This commit is contained in:
Noah 2022-10-10 14:27:12 -07:00
parent d637d23e08
commit d5091b4763
3 changed files with 167 additions and 20 deletions

View File

@ -3,7 +3,7 @@ title: "Download"
draft: false draft: false
toc: true toc: true
--- ---
# Latest Release: v0.13.0 (May 8, 2022) # Latest Release: v0.13.1 (Oct 10, 2022)
[Change History](/guidebook/changes.html) [Change History](/guidebook/changes.html)
@ -16,8 +16,8 @@ start the game.
**Note:** I do not yet have a code signing certificate for the Windows release, **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. so you may need to click through the "Unknown Publisher" dialog.
* **64-bit:** [sketchymaze-0.13.0-windows-64bit.zip](https://download.sketchymaze.com/release/v0.13.0/windows/sketchymaze-0.13.0-windows-64bit.zip) (23 MB) * **64-bit:** [sketchymaze-0.13.1-windows-64bit.zip](https://download.sketchymaze.com/release/v0.13.1/windows/sketchymaze-0.13.1-windows-64bit.zip) (43 MB)
* **32-bit:** [sketchymaze-0.13.0-windows-32bit.zip](https://download.sketchymaze.com/release/v0.13.0/windows/sketchymaze-0.13.0-windows-32bit.zip) (23 MB) * **32-bit:** [sketchymaze-0.13.1-windows-32bit.zip](https://download.sketchymaze.com/release/v0.13.1/windows/sketchymaze-0.13.1-windows-32bit.zip) (43 MB)
--- ---
@ -33,8 +33,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) [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. how to do this for your version of macOS.
* **Intel 64-bit App:** [sketchymaze-0.13.0-macOS-x64.dmg](https://download.sketchymaze.com/release/v0.13.0/macos/sketchymaze-0.13.0-macOS-x64.dmg) (32 MB) * **Intel 64-bit App:** [sketchymaze-0.13.1-macOS-x64.dmg](https://download.sketchymaze.com/release/v0.13.1/macos/sketchymaze-0.13.1-macOS-x64.dmg) (55 MB)
* **Zip file for Intel Macs:** [sketchymaze-0.13.0-macos-x64.zip](https://download.sketchymaze.com/release/v0.13.0/macos/sketchymaze-0.13.0-macos-x64.zip) (22 MB) * **Zip file for Intel Macs:** [sketchymaze-0.13.1-macos-x64.zip](https://download.sketchymaze.com/release/v0.13.1/macos/sketchymaze-0.13.1-macos-x64.zip) (43 MB)
--- ---
@ -46,8 +46,8 @@ The easiest cross-distro way to download _Sketchy Maze_ is via [Flatpak](https:/
which is well supported on most popular Linux distributions including Fedora, Ubuntu, which is well supported on most popular Linux distributions including Fedora, Ubuntu,
Debian and others. Debian and others.
* **64-bit:** [sketchy-maze-0.13.0.flatpak](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze-0.13.0.flatpak) (13.1 MB) * **64-bit:** [sketchy-maze-0.13.1.flatpak](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze-0.13.1.flatpak) (31 MB)
* **ARM aarch64:** [sketchy-maze-0.13.0-aarch64.flatpak](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze-0.13.0-aarch64.flatpak) (13.1 MB) * **ARM aarch64:** [sketchy-maze-0.13.1-aarch64.flatpak](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze-0.13.1-aarch64.flatpak) (31 MB)
There is not a Flatpak repository for this game yet; inclusion on There is not a Flatpak repository for this game yet; inclusion on
[Flathub](https://flathub.org/) or a custom Flatpak repository for easier [Flathub](https://flathub.org/) or a custom Flatpak repository for easier
@ -58,10 +58,10 @@ To install the Flatpak manually:
```bash ```bash
# Download the .flatpak package. NOTE: it's distributed as a stand-alone app # Download the .flatpak package. NOTE: it's distributed as a stand-alone app
# for now, a flatpak repo will be added at some point. # for now, a flatpak repo will be added at some point.
$ wget https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze-0.13.0.flatpak $ wget https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze-0.13.1.flatpak
# Install the .flatpak package. # Install the .flatpak package.
$ flatpak install --user sketchy-maze-0.13.0.flatpak $ flatpak install --user sketchy-maze-0.13.1.flatpak
# Run it. There should also be a standard app launcher in your menu. # Run it. There should also be a standard app launcher in your menu.
$ flatpak run com.sketchymaze.Doodle $ flatpak run com.sketchymaze.Doodle
@ -71,15 +71,15 @@ $ flatpak run com.sketchymaze.Doodle
### <i class="fab fa-fedora" title="Fedora" style="color: #4e9dd3"></i> Fedora (.rpm) ### <i class="fab fa-fedora" title="Fedora" style="color: #4e9dd3"></i> Fedora (.rpm)
* **64-bit:** [sketchy-maze-0.13.0-1.x86_64.rpm](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze-0.13.0-1.x86_64.rpm) (21 MB) * **64-bit:** [sketchy-maze-0.13.1-1.x86_64.rpm](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze-0.13.1-1.x86_64.rpm) (41 MB)
* **32-bit:** [sketchy-maze-0.13.0-1.i386.rpm](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze-0.13.0-1.i386.rpm) (21 MB) * **32-bit:** [sketchy-maze-0.13.1-1.i386.rpm](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze-0.13.1-1.i386.rpm) (41 MB)
* **ARM aarch64:** [sketchy-maze-0.13.0-1.aarch64.rpm](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze-0.13.0-1.aarch64.rpm) (21 MB) * **ARM aarch64:** [sketchy-maze-0.13.1-1.aarch64.rpm](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze-0.13.1-1.aarch64.rpm) (41 MB)
### <i class="fab fa-ubuntu" title="Ubuntu (& Debian)" style="color: #e95420"></i> Ubuntu & Debian (.deb) ### <i class="fab fa-ubuntu" title="Ubuntu (& Debian)" style="color: #e95420"></i> Ubuntu & Debian (.deb)
* **64-bit:** [sketchy-maze_0.13.0_amd64.deb](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze_0.13.0_amd64.deb) (21 MB) * **64-bit:** [sketchy-maze_0.13.1_amd64.deb](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze_0.13.1_amd64.deb) (41 MB)
* **32-bit:** [sketchy-maze_0.13.0_i386.deb](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze_0.13.0_i386.deb) (21 MB) * **32-bit:** [sketchy-maze_0.13.1_i386.deb](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze_0.13.1_i386.deb) (41 MB)
* **ARM aarch64:** [sketchy-maze_0.13.0_arm64.deb](https://download.sketchymaze.com/release/v0.13.0/linux/sketchy-maze_0.13.0_arm64.deb) (21 MB) * **ARM aarch64:** [sketchy-maze_0.13.1_arm64.deb](https://download.sketchymaze.com/release/v0.13.1/linux/sketchy-maze_0.13.1_arm64.deb) (41 MB)
**Notice:** the game depends on SDL2, SDL2-ttf and SDL2-mixer but the .deb package doesn't declare these **Notice:** the game depends on SDL2, SDL2-ttf and SDL2-mixer but the .deb package doesn't declare these
dependencies for compatibility between Debian and Ubuntu which name these packages distinctly. dependencies for compatibility between Debian and Ubuntu which name these packages distinctly.
@ -91,9 +91,9 @@ 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 should run as-is on other modern GNU/Linux systems, but sometimes shared library
versions of SDL2 may not match your computer. versions of SDL2 may not match your computer.
* **64-bit:** [sketchymaze-0.13.0-linux-64bit.tar.gz](https://download.sketchymaze.com/release/v0.13.0/linux/sketchymaze-0.13.0-linux-64bit.tar.gz) * **64-bit:** [sketchymaze-0.13.1-linux-64bit.tar.gz](https://download.sketchymaze.com/release/v0.13.1/linux/sketchymaze-0.13.1-linux-64bit.tar.gz)
* **32-bit:** [sketchymaze-0.13.0-linux-32bit.tar.gz](https://download.sketchymaze.com/release/v0.13.0/linux/sketchymaze-0.13.0-linux-32bit.tar.gz) * **32-bit:** [sketchymaze-0.13.1-linux-32bit.tar.gz](https://download.sketchymaze.com/release/v0.13.1/linux/sketchymaze-0.13.1-linux-32bit.tar.gz)
* **ARM aarch64:** [sketchymaze-0.13.0-linux-aarch64.tar.gz](https://download.sketchymaze.com/release/v0.13.0/linux/sketchymaze-0.13.0-linux-aarch64.tar.gz) * **ARM aarch64:** [sketchymaze-0.13.1-linux-aarch64.tar.gz](https://download.sketchymaze.com/release/v0.13.1/linux/sketchymaze-0.13.1-linux-aarch64.tar.gz)
_Sketchy Maze_ also works on Linux smartphone devices such as the Pinephone and Librem 5. _Sketchy Maze_ also works on Linux smartphone devices such as the Pinephone and Librem 5.
Check out the aarch64 releases, built on <a href="https://mobian-project.org/">Mobian</a> Check out the aarch64 releases, built on <a href="https://mobian-project.org/">Mobian</a>

View File

@ -143,6 +143,15 @@ to the level may be offset from where the preview was on-screen. Draw some test
lines to find out the offset or else avoid drawing while zoomed. The 1 (one) key lines to find out the offset or else avoid drawing while zoomed. The 1 (one) key
restores the zoom level to default 100%. restores the zoom level to default 100%.
## Text sometimes gets glitchy
Sometimes, the text in-game will begin to look glitchy, especially on Menu Bars
and pop-up windows. The root cause and reliable repro steps haven't been found yet;
I suspect it has to do with memory leaks in the way I use SDL2. If you begin to
see text get a bit wonky, save your work and restart the game. Whatever condition
triggers this to happen seems to eventually crash the game if it goes on for long
enough!
# Pricing and Distribution # Pricing and Distribution
## Is this game free? ## Is this game free?
@ -279,7 +288,14 @@ their projects.
## Is this game open source? ## Is this game open source?
Parts of it are! Yes!
The source code to the game is available at <https://git.kirsle.net/SketchyMaze>
with a mirror of the important repositories [on GitHub](https://github.com/SketchyMaze).
The game engine, called "doodle," is released as open source software under the GNU
General Public License. However, the game assets -- including the built-in doodads
and levels -- are licensed separately, under exclusive copyright for distribution
only with official builds of Sketchy Maze.
_Sketchy Maze_ was built from the ground up using little more than _Sketchy Maze_ was built from the ground up using little more than
[SDL2](https://www.libsdl.org/) which lets you plot pixels on a screen. While [SDL2](https://www.libsdl.org/) which lets you plot pixels on a screen. While
@ -312,7 +328,7 @@ GitHub mirrors of the above:
* [SketchyMaze/ui](https://github.com/SketchyMaze/ui) * [SketchyMaze/ui](https://github.com/SketchyMaze/ui)
Also this website, the user guidebook, and other things with the game are Also this website, the user guidebook, and other things with the game are
readable as open source code, at https://code.sketchymaze.com/ readable as open source code as well.
## Wait, does _Sketchy Maze_ have a WebAssembly port? ## Wait, does _Sketchy Maze_ have a WebAssembly port?

View File

@ -0,0 +1,131 @@
---
title: "v0.13.1 Released"
date: 2022-10-10T13:03:02-07:00
draft: false
---
This release brings a handful of minor new features to the game.
First, there are a couple of new Pixel Attributes available in the level editor:
* Semi-Solid: pixels with this attribute only behave as "solid" when walked on
from above. The player can jump through the bottom of a Semi-Solid and land
on top, and gradual slopes can be walked up and down as well, but a steep
slope or a wall can be simply passed through as though it were just decoration.
* Slippery: the player's acceleration and friction are reduced when walking on
a slippery floor. In the future, players and other mobile doodads may slide
down slippery slopes automatically as well (not yet implemented).
* These attributes are available in the Level Editor by clicking the "Edit"
button on your Palette (or the "Tools -> Edit Palette" menu). The Palette
Editor now has small icon images for the various attributes to make room for
the expanded arsenal of options.
![](https://www.sketchymaze.com/guidebook/images/palette.png)
Doodad/Actor Runtime Options have been added:
* In the Doodad Editor's "Doodad Properties" window, see the new "Options" tab.
* Doodad Options allow a map creator to customize certain properties about your
doodad, on a per-instance basis (instances of doodads are called "actors" when
placed in your level).
* In the Level Editor when the Actor Tool is selected, mousing over a doodad on
your level will show a new gear icon in the corner. Clicking the icon will open
the Actor Properties window, where you may toggle some of the doodad options
(if a doodad has any options available).
* Options can be of type boolean, string, or integer and have a custom name and a
default value at the doodad level. In the Level Editor, the map creator can
set values for the available options which the doodad script can read using the
`Self.GetOption()` method.
* Several of the game's built-in doodads have options you can play with, which are
documented below.
New and updated doodads:
* "Look At Me" is a new Technical doodad that will draw the camera's attention
to it when it receives a power signal from a linked button. For example, if
a button would open an Electric Door far across the level, you can also place
a "Look At Me" near the door and link the button to both doodads. When the
button is pressed, the camera will scroll to the "Look At Me" and the player
can see that the door has opened.
* Anvils will now attract the camera's attention while they are falling.
Several of the game's built-in doodads have new Actor Runtime Options you can
configure in your custom levels:
* Warp Doors: "locked (exit only)" will make it so the player can not enter the
warp door - they will get a message on-screen that it is locked, similar to
how warp doors behave when they aren't linked to another door. If it is linked
to another door, the player may still exit from the 'locked' door -
essentially creating a one-way warp, without needing to rely on the
orange/blue state doors. The "Invisible Warp Door" technical doodad also
supports this option.
* Electric Door & Electric Trapdoor: check the "opened" option and these doors
will be opened by default when the level gameplay begins. A switch may still
toggle the doors closed, or if the doors receive and then lose a power signal
they will close as normal.
* Colored Doors & Small Key Door: you may mark the doors as "unlocked" at the
start of your level, and they won't require a key to open.
* Colored Keys & Small Key: you may mark the keys as "has gravity" and they
will be subject to the force of gravity and be considered a "mobile" doodad
that may activate buttons or trapdoors that they fall onto.
* Gemstones: these items already had gravity by default, and now they have a
"has gravity" option you may disable if you'd prefer gemstones not to be
subject to gravity (and make them behave the way keys used to).
* Gemstome Totems: for cosmetic purposes you may toggle the "has gemstone"
option and the totem will already have its stone inserted at level start.
These gemstones will NOT emit a power signal or interact normally with
linked totems - they should be configured this way only for the cosmetic
appearance, e.g., to have one totem filled and some others empty; only the
empty totems should be linked together and to a door that would open when
they are all filled.
* Fire Region: you may pick a custom "name" for this doodad (default is "fire")
to make it better behave as normal fire pixels do: "Watch out for (name)!"
Improvements in support of custom content:
* Add a JavaScript "Exception Catcher" window in-game. If your doodad scripts
encounter a scripting error, a red window will pop up showing the text of
the exception with buttons to copy the full text to your clipboard (in case
it doesn't all fit on-screen) and to suppress any further exceptions for
the rest of your game session (in case a broken doodad is spamming you with
error messages). Cheat codes can invoke the Exception Catcher for testing:
`throw <message>` to show custom text, `throw2` to test a "long" message
and `throw3` to throw a realistic message.
* Calling `console.log()` and similar from doodad scripts will now prefix the
log message with the doodad's filename and level ID.
There are new JavaScript API methods available to doodad scripts:
* `Self.CameraFollowMe()` will attract the game's camera viewport to center
on your doodad, taking the camera's focus away from the player character.
The camera will return to the player if they enter a directional input.
* `Self.Options()` returns a string array of all of the options available on
the current doodad.
* `Self.GetOption(name)` returns the configured value for a given option.
Some improvements to the `doodad` command-line tool:
* `doodad show` will print the Options on a .doodad file and, when showing
a .level file with the `--actors` option, will list any Options configured
on a level's actors where they differ from the doodad's defaults.
* `doodad edit-doodad` adds a `--option` parameter to define an option on a
doodad programmatically. The syntax is like `--option name=type=default`
for example `--option unlocked=bool=true` or `--option unlocked=bool`; the
default value is optional if you want it to be the "zero value" (false,
zero, or empty string).
Minor fixes and improvements:
* Add a "Wait" modal with a progress bar. Not used yet but may be useful
for long operations like Giant Screenshot or level saving to block input
to the game while it's busy doing something. Can be tested using the
cheat code "test wait screen"
* Detect the presence of a touchscreen device and automatically disable
on-screen touch hints during gameplay if not on a touch screen.
* Mobile Linux: mark the Sketchy Maze launcher as supporting the mobile
form-factor for the Phosh desktop shell especially.
* Fix the Crusher doodad sometimes not falling until it hits the ground
and stopping early on slower computers.
* Small tweaks to player physics - acceleration increased from 0.025 to
0.04 pixels per tick.
See the [Downloads](/download) page to try it out!