diff --git a/docs/changes.md b/docs/changes.md index 221538d..79edca6 100644 --- a/docs/changes.md +++ b/docs/changes.md @@ -1,5 +1,49 @@ # Changes +## v0.7.2 (July 19 2021) + +This release brings some new features and some new content. + +New features: + +* **Loading screens** have been added. In previous versions, 'chunks' + of a level were rendered on-demand as they first scrolled onto the + screen, but busy new chunks would cause gameplay to stutter. The + loading screen is able to _pre-render_ the entire level up front + to ensure gameplay is smooth(er). +* **Compression for Levels and Doodads:** levels and doodads are now compressed + with Gzip for an average 88% smaller file size on disk. The example level, + "Tutorial 2.level" shrank from 2.2 MB to 414 KB with compression. The game + can still read old (uncompressed) files, but will compress them on save. + +Some new content: + +* **New Levels:** two desert-themed levels were added. One has you + platforming and climbing the outside of a pyramid; the next is + inside the pyramid and has puzzles involving movable boxes. +* **New Doodad:** Box is a pushable crate that is affected by + gravity. It is taller than Boy and can be used to gain some extra + height and reach higher platforms. +* **New Palette:** To the "Colored Pencil" palette was added a new + default color: Sandstone (solid). +* **New Pattern:** Perlin Noise was added as one of the available + brush patterns. Sandstone uses this pattern by default. + +Some miscellaneous changes: + +* **Slowly scroll in editor:** holding down the Shift key while scrolling the + level editor will scroll your drawing _very_ slowly. +* **'Doodads' Hotkey:** in the Level Editor, the `Q` key will open + the Doodads window instead of the `D` key, as the `D` key is now + part of WASD for scrolling the drawing. + +## v0.7.1 (July 11 2021) + +Fixes a bug on the Windows version: + +* Built-in wallpapers other than the default Notebook were failing to + load in the Windows release of v0.7.0 + ## v0.7.0 (June 20 2021) This is the first release of the game where the "free version" drifts meaningfully @@ -60,11 +104,11 @@ The new features: * **Choice of Default Palette for New Levels:** when creating a new level, a "Palette:" option appears which allows you to set the default colors to start your level with. The options include: - * Default: the classic default 4 colors (black, grey, red, blue). - * Colored Pencil: a set with more earthy tones for outdoorsy levels - (grass, dirt, stone, fire, water) - * Blueprint: the classic Blueprint wallpaper theme, a bright version of Default - for dark level backgrounds. + * Default: the classic default 4 colors (black, grey, red, blue). + * Colored Pencil: a set with more earthy tones for outdoorsy levels + (grass, dirt, stone, fire, water) + * Blueprint: the classic Blueprint wallpaper theme, a bright version of Default + for dark level backgrounds. * **Custom Wallpapers:** unhappy with the default, paper-themed level background images? You can now use your own! They attach to your level data for easy transport when sharing your level with others. @@ -77,7 +121,7 @@ Some bugs fixed: * **Collision fixes:** you should be able to walk up gentle slopes to the left without jumping, as easily as you could to the right. * **Debugging:** the F4 key to show collision hitboxes around all doodads in - Play Mode now functions again, and draws boxes around _all_ doodads, not just the + Play Mode now functions again, and draws boxes around _all_ doodads, not just the player character. * **Hitboxes are tighter:** a doodad's declared hitbox size (from their JavaScript) is used when a doodad collides against level geometry or other doodads. Meaning: diff --git a/docs/doodads.md b/docs/doodads.md index 39fb476..daa7aed 100644 --- a/docs/doodads.md +++ b/docs/doodads.md @@ -12,15 +12,22 @@ for more information. **See also:** [Linked Doodads](linked-doodads.md) for how doodads interact when linked together in your levels. -* [Flags](#flags) - * [Start Flag](#start-flag) - * [Exit Flag](#exit-flag) +* [Objects](#objects) + * [Start Flag](#start-flag) - Spawn point of a level + * [Exit Flag](#exit-flag) - Goal of a level + * [Box](#bog) +* [Creatures](#creatures) + * [Boy](#boy) - The player character + * [Red Bird](#red-bird) + * [Red Azulian (test mob)](#red-azulian-test-mob) * [Doors & Trapdoors](#doors-trapdoors) * [Colored Locked Doors & Keys](#colored-locked-doors-keys) * [Small Key Doors](#small-key-doors) * [Warp Doors](#warp-doors) * [Trapdoors](#trapdoors) * [Crumbly Floor](#crumbly-floor) +* [Objects](#objects) + * [Box](#box) * [Gizmos](#gizmos) * [Buttons](#buttons) * [Sticky Button](#sticky-button) @@ -30,13 +37,10 @@ linked together in your levels. * [State Button](#state-button) * [State Blocks](#state-blocks) * [Blue & Orange Warp Doors](#blue-orange-warp-doors) -* [Creatures](#creatures) - * [Red Bird](#red-bird) - * [Red Azulian (test mob)](#red-azulian-test-mob) --- -## Flags +## Objects ### Start Flag @@ -59,6 +63,70 @@ Flag. The **Exit Flag** sets a goal point for the level. The player must touch this flag to win the level. +### Box + +![Box](images/doodads/box.gif) + +The **Box** is a pushable object. If the player or another mobile doodad touches +the box from the side, the box will move at a fixed speed. It can be pushed up +and down slopes and it is affected by gravity. + +The box is taller than [Boy](#boy) and so can make a useful platform to jump on top of +to reach a higher ledge. + +Boxes can be pushed by enemies too, but it gets dicey with multiple enemies +pushing simultaneously. Boxes can be stacked on top of each other, but sometimes +Boy will get "stuck" standing on top of the pile. If this happens, use the +[cheat code](hacking.md#cheat-codes) `ghost mode` to get yourself unstuck. + +--- + +# Creatures + +### Boy + +![Boy](images/doodads/boy.gif) + +**Boy** is the player character. + +If he touches a "fire" pixel, he dies! You get a message like "Watch out for fire!" +and it doesn't even have to say "fire" - it'll use the color's name. + +If he touches water he'll turn blue. Swimming physics aren't hooked up yet! + +### Red Bird + +![Bird](images/doodads/bird.gif) + +The **Bird** is a simple creature which flies left and right across your level, +changing direction when it encounters an obstacle. + +The bird has solid collision on its top side, so the player can ride on it +across the level. It's very slippery, though! + +In the future, the bird will dive-bomb the player character in a diagonal +trajectory when it sees a shot it can take. This will harm the player if the +bird hits. If the bird hits the player, or misses and touches the ground, it +will fly back up to its original altitude and continue its A.I. program of +flying back and forth and searching for the player. It will also be easier to +ride more reliably. + +Currently, however, the bird is harmless and does not dive bomb the player. + +### Red Azulian (Test Mob) + +![Red Azulian](images/doodads/red-azulian.gif) + +The red Azulian is a test mobile character. Not really an enemy, as he doesn't +care about the player. + +The Azulian's A.I. just has it run left and right until it meets resistance. +It can pick up keys, activate buttons and switches that it passes by, and can +unlock doors. + +This mob will probably go away in future releases of the game and will remain +in the code as a hidden easter egg. + --- ## Doors & Trapdoors @@ -261,40 +329,3 @@ a de-activated door. The **Blue Warp Door** is active at the same time as the **Blue State Blocks**, and vice versa for the **Orange Warp Door.** - ---- - -# Creatures - -### Red Bird - -![Bird](images/doodads/bird.gif) - -The **Bird** is a simple creature which flies left and right across your level, -changing direction when it encounters an obstacle. - -The bird has solid collision on its top side, so the player can ride on it -across the level. It's very slippery, though! - -In the future, the bird will dive-bomb the player character in a diagonal -trajectory when it sees a shot it can take. This will harm the player if the -bird hits. If the bird hits the player, or misses and touches the ground, it -will fly back up to its original altitude and continue its A.I. program of -flying back and forth and searching for the player. It will also be easier to -ride more reliably. - -Currently, however, the bird is harmless and does not dive bomb the player. - -### Red Azulian (Test Mob) - -![Red Azulian](images/doodads/red-azulian.gif) - -The red Azulian is a test mobile character. Not really an enemy, as he doesn't -care about the player. - -The Azulian's A.I. just has it run left and right until it meets resistance. -It can pick up keys, activate buttons and switches that it passes by, and can -unlock doors. - -This mob will probably go away in future releases of the game and will remain -in the code as a hidden easter egg. diff --git a/docs/hacking.md b/docs/hacking.md index 3455f02..deaf3ea 100644 --- a/docs/hacking.md +++ b/docs/hacking.md @@ -138,7 +138,8 @@ The following commands are supported: ## Cheat Codes Typing these messages in the console will toggle various mundane cheat -codes within the game: +codes within the game. Press the tilde/grave key (`) to +open the developer console and type: * `unleash the beast` diff --git a/docs/images/doodads/box.gif b/docs/images/doodads/box.gif new file mode 100644 index 0000000..36abb40 Binary files /dev/null and b/docs/images/doodads/box.gif differ diff --git a/docs/images/doodads/boy.gif b/docs/images/doodads/boy.gif new file mode 100644 index 0000000..c584ad5 Binary files /dev/null and b/docs/images/doodads/boy.gif differ diff --git a/docs/index.md b/docs/index.md index bfcd388..e11dc44 100644 --- a/docs/index.md +++ b/docs/index.md @@ -7,7 +7,7 @@ maps on paper. You can draw a level for a 2D platformer game, drag-and-drop "doodads" such as buttons and doors into your level, play it and share your levels with others. -**Last Updated:** June 20, 2021 for Sketchy Maze v0.7.0. +**Last Updated:** July 19, 2021 for Sketchy Maze v0.7.2. ## Table of Contents