diff --git a/Changes.md b/Changes.md index 3c6d0db..526b473 100644 --- a/Changes.md +++ b/Changes.md @@ -1,5 +1,33 @@ # Changes +## v0.1.0-alpha + +New doodads: + +* Start Flag: drag this into your level to set where the player character will + spawn. There should only be one per level. +* Crumbly Floor: a rocky floor that breaks and falls away after a couple + seconds when the player (or other mobile doodad) walks onto it. +* State Blocks: blue and orange blocks that toggle between solid and passable + when the corresponding ON/OFF button is touched. + +New features: + +* An inventory overlay now appears in Play Mode when the player character picks + up one of the colored keys. +* While editing a level, you can click the new "Options" button in the top menu + to open the level settings window (like the one you see when creating a new + level): to change the wallpaper image or the page type. + +Other changes: + +* Added better platforming physics to the player character: acceleration and + friction when walking. +* The colored Locked Door doodads have been re-designed to be shown in a + side-view perspective and have an open and closed state in either direction. +* Tooltips added to various buttons in the Editor to show names of doodads and + functions of various buttons. + ## v0.0.10-alpha New features: diff --git a/Makefile b/Makefile index ce1c02f..fa0af5d 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ LDFLAGS_W := -ldflags "-X main.Build=$(BUILD) -X main.BuildDate=$(BUILD_DATE) -H # `make setup` to set up a new environment, pull dependencies, etc. .PHONY: setup setup: clean - go get -u github.com/go-bindata/go-bindata/... + go get -u git.kirsle.net/go/bindata/... go get ./... # `make build` to build the binary. diff --git a/README.md b/README.md index dff99f1..c021fac 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Project: Doodle (Working Title) -> **Homepage:** https://www.kirsle.net/doodle +> **Homepage:** https://www.kirsle.net/tagged/Doodle Doodle is a drawing-based maze game. @@ -131,8 +131,16 @@ A brief introduction to the built-in doodads available so far: Electric Door to open/close the door. Link switches _to each other_ as well as to a door, and all switches will stay in sync with their ON/OFF state when any switch is pressed. +- **Crumbly Floor** + - This rocky floor will break and fall away after being stepped on. +- **Two State Blocks** + - Blue and orange blocks that will toggle between solid and pass-thru + whenever the corresponding ON/OFF block is hit. +- **Start and Exit Flags** + - The "Go" flag lets you pick a spawn point for the player character. + - The "Exit" flag marks the level goal. -## Developer Console +# Developer Console Press `Enter` at any time to open the developer console. @@ -166,12 +174,37 @@ quit Close the developer console. ``` -# Known Bugs +## Cheat Codes -* In an **Unbounded** map, the game will sometimes spaz out in Play Mode when - the character moves into negative coordinates (off the top or left edge of - the level). Stick with only "Bounded" and "No Negative Space" levels instead. +The following cheats can be entered into the developer console. + +Play Mode: + +* `import antigravity` + - This disables the effects of gravity for the player + character. Arrow keys can freely move the player in any direction. +* `ghost mode` + - This disables collision detection for the player character + so that you can pass through walls and solid doodads. Combine with + antigravity or else you'll fall to the bottom of the map! +* `give all keys` + - Adds all four colored keys to the player's inventory. +* `drop all items` + - Clears the player's inventory of all items. + +Experimental: + +* `unleash the beast` + - Removes the 60 FPS frame rate lock, allowing the game to run as quickly + as your hardware permits. +* `don't edit and drive` + - Allows editing the level _while_ you're playing it: you can click and drag + new pixels with the freehand pencil tool. +* `scroll scroll scroll your boat` + - Enables Editor Mode scrolling (with the arrow keys) while playing a level. + The player character must always remain on screen though so you can't + scroll too far away. # Author -Copyright (C) 2019 Noah Petherbridge. All rights reserved. +Copyright (C) 2020 Noah Petherbridge. All rights reserved. diff --git a/docker/Ubuntu.dockerfile b/docker/Ubuntu.dockerfile index 345efed..b4b142c 100644 --- a/docker/Ubuntu.dockerfile +++ b/docker/Ubuntu.dockerfile @@ -11,6 +11,11 @@ RUN apt update && \ # Create a user to build the packages. RUN useradd builder -u 1000 -m -G users +# HACK: pre-emptively copy go/log in, `make setup` gets a dumb error otherwise +# cuz terminal_js.go and terminal.go set the same variable which SHOULD NOT +# HAPPEN cuz the two files should have mutually exclusive build tags. Ugh! +RUN git clone https://git.kirsle.net/go/log /home/builder/go/src/git.kirsle.net/go/log + # Add the project to the GOPATH ADD . /home/builder/go/src/git.kirsle.net/apps/doodle WORKDIR /home/builder/go/src/git.kirsle.net/apps/doodle diff --git a/lib/draw/line.go b/lib/draw/line.go index 68d8bdb..c57b0a7 100644 --- a/lib/draw/line.go +++ b/lib/draw/line.go @@ -29,8 +29,8 @@ func Line(x1, y1, x2, y2 int32) chan render.Point { y := float64(y1) for i := 0; i <= int(step); i++ { generator <- render.Point{ - X: int32(x), - Y: int32(y), + X: int(x), + Y: int(y), } x += dx y += dy diff --git a/pkg/branding/branding.go b/pkg/branding/branding.go index 5164069..f7508e7 100644 --- a/pkg/branding/branding.go +++ b/pkg/branding/branding.go @@ -4,7 +4,7 @@ package branding const ( AppName = "Project: Doodle" Summary = "A drawing-based maze game" - Version = "0.0.10-alpha" + Version = "0.1.0-alpha" // Update check URL UpdateCheckJSON = "https://download.sketchymaze.com/version.json"