From b12c0b15931c226bb37d41678029c6b67fc8d02c Mon Sep 17 00:00:00 2001 From: Noah Petherbridge Date: Mon, 19 Jul 2021 21:48:22 -0700 Subject: [PATCH] Update for v0.7.2 --- docs/changes.md | 56 +++++++++++++++-- docs/doodads.md | 119 +++++++++++++++++++++++------------- docs/hacking.md | 3 +- docs/images/doodads/box.gif | Bin 0 -> 10401 bytes docs/images/doodads/boy.gif | Bin 0 -> 11253 bytes docs/index.md | 2 +- 6 files changed, 128 insertions(+), 52 deletions(-) create mode 100644 docs/images/doodads/box.gif create mode 100644 docs/images/doodads/boy.gif 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 0000000000000000000000000000000000000000..36abb408b49c622d1d76987069c49150a18a71fc GIT binary patch literal 10401 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 literal 0 HcmV?d00001 diff --git a/docs/images/doodads/boy.gif b/docs/images/doodads/boy.gif new file mode 100644 index 0000000000000000000000000000000000000000..c584ad596cf3870f36b7ab200ab78b561e3897bd GIT binary patch literal 11253 zcmeHNeN0nV6hD0wXbTk-@RLB%mLMWhiik6?0%}(%2vS|a>S!O|qZJE&Oo;-H4@Dy& zxZ)QeDhO)iQ*nsRRGd0cG%6}_8g(;MCJKm*L3baWf{Dss%c8!U^u1rsJLkT8Pur7o ze&-5=^WA34Y`_&dM}cmbn3%-Qf{7rsg+(w9{}NMV29Dnz%B@cogX}cqYhRvB(`vOy z*`}AuG$-x@qrFw(vV`z3*6QelD3(Cz7XUU|Bma5gAaBordCrbbdK5xWYb5mcUMTPq zaGki$Xa=k>7FWbmod6Wd1QmL~k_3ma3?Bj=%s>wefF;A@<2(ZbM7pKD>-zEr5Oc$| z>BL;`()fUk85SOo15j8wf*}5^x6P4$|3vZ zg#d2dNS-w$V;2CJd=Id%_Uw>Q{sX}Abb#@<;$$k>;EVLo6^n=fcu@kt3D^; zJck^I2JswR=Xp=# zr5MNwVINphFE46|wuoq+yzN11{qBt(D}w31#7DkiPVF)7_Rq&Wo7&xC z7uMA-e%61Ho9!~gYMa!E@fV)tR74Lqu%4*lOr3mY(+Okol2>31DMyGk!5^7H*!N#>F6 zg@*fm3S+wMeGmH8xlT`C^yEevE})ufT=}UrvHB;LQocT#dQx${vB{S*;~VCBEk=_@ zdmlKH(Kp#Y)&?6f(vV?A7jDR~LWUJGtdL=a%vQ*3h0IpSY=uZ)M;v4kL>57)rbWM# z*A=F&P$G*UvIru%6_Q&axfPOIAt_rH$*p``+{#8>;;U$IDPG!Z zir1K+c=g{VQ|%#X8*_9PJNQt@8JI>lr8!-D=&ojedy&oB zY}K62Tm8Z^I{w@OJsw4zQ&(x1UM%EXvGhrxic5lmL$+?pi&;>P{lthX%e4gvMEINnm@^2^Jkj4 zw9b4q7;O@tOWixV#w?xNalK2d&lvkv&K0BN)8>0X!jmY|@}&3I%*++zjm~MU?Cjax zV>0J-EZ(fv+w}1ijepO@Y*Cz}K|>x58?P1ynR}!f=$V$z=4t#Gd8@8=^_nG#0=?Fa zb@yRCzEU9CWm_YhQMLdJ+EiO*@A><+BfN^3Zl4+{P@?p=_?2IGxI>TpRq2-M}E|WOkRffeumC+kq70-gL41XLAlQ~ Nc|iy3J{s0#&Oc8M0d)WX literal 0 HcmV?d00001 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