Releases: endlessm/moddable-platformer
v1.6
This release skins Moddable Platformer to match Threadbare, another game we are developing at Endless Access.
We have added new "special abilities" to the player character, which unlike existing abilities like double jump cannot be enabled through the inspector: one must edit the player.gd script. The necessary function calls are in the correct places but are commented out with clear instructions. This is intended to be a gentle introduction to programming, building on the ways that this game can be modded without reading or writing code. There is a new section to the right of the existing level which can only be accessed & completed using these new abilities; the original section of the level can still be completed without any code changes.
The game now includes a component that spawns enemies on a timer. This script is deliberately broken so that enemies spawn much faster than intended, making the game unplayable if the spawner is added to the level. This is the basis for an exercise in diagnosing and fixing a bug.
We have also fixed a miscellaneous collection of (unintentional) bugs.
What's Changed
- Bump endlessm/amalgamate-pages from 1 to 2 by @dependabot[bot] in #33
- Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #34
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #37
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #38
- player: Invert jump velocity parameter & adjust range by @wjt in #39
- Miscellaneous cleanups to setters by @wjt in #40
- Simplify handling both players' inputs by @wjt in #41
- Add jump sound effect by @wjt in #43
- Add deliberately-broken enemy spawner by @wjt in #42
- main: Remove 1-pixel transform of TileMap by @wjt in #45
- global: Add enum for physics layers by @wjt in #46
- Build player-action mapping dynamically by @wjt in #47
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #50
- Platform: Use TileSet for texture by @wjt in #52
- Don't share collision shapes between instances of platforms by @wjt in #51
- Update "Endless OS Foundation" to "Endless Access" by @wjt in #49
- Update pre-commit hooks by @wjt in #53
- Add and use Threadbare-themed tiles for tilemap and platforms by @wjt in #54
- Replace crystal coins with Threadbare button coins by @wjt in #55
- Add special abilities, commented out by default by @wjt in #44
- Use (red) InkDrinker as player & StoryVore as enemy by @wjt in #56
- platform: Use different debug colors for collision shapes by @wjt in #57
- Make web export preset runnable by @wjt in #59
- Find coin nodes by their group by @wjt in #58
- Add special coin/ability section to main scene by @wjt in #60
- HUD: Optionally show buttons for specials by @wjt in #61
- Improve comments in player.gd by @wjt in #62
- Make the deliberately-broken enemy spawner spawn StoryVores by @wjt in #63
- player: Prevent double-jumping after respawing by @wjt in #64
- player: Add clear instructions above commented-out special abilities by @wjt in #65
- Add "ding" sound when collecting coins by @wjt in #66
- doc: Update screenshot by @wjt in #67
Full Changelog: v1.5...v1.6
v1.5
This release requires Godot 4.4.
It includes a bug fix for the timer component, contributed by @dariocavada, and improvements for the instructions displayed at the start of the game.
What's Changed
- Improve input prompt overlay by @wjt in #19
- Hide instructions on touch devices by @wjt in #20
- Workflows: Download and cache Godot Engine for build by @cassidyjames in #21
- Global: Suppress UNUSED_SIGNAL warning by @wjt in #23
- Update to Godot 4.4 by @wjt in #24
- Pause timer before game starts & after game is won by @dariocavada in #26
- Add simple CODEOWNERS file by @wjt in #27
- ci: Use Amalgamate Pages for web builds by @wjt in #28
- Include web export workflow in git archive by @wjt in #29
- README: Fix Endless Studios Platform link by @wjt in #30
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #31
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #32
New Contributors
- @cassidyjames made their first contribution in #21
- @dariocavada made their first contribution in #26
- @dependabot[bot] made their first contribution in #31
Full Changelog: v1.4...v1.5
v1.4
What's Changed
- @jbourqueendless added touchscreen controls, which are only shown on touchscreen devices #15
- @wjt replaced the deprecated TileMap node with its replacement, TileMapLayer #18
- @wjt and playtester L.T. found and fixed an error in the mapping of the analogue stick for the second controller when the game has been modded to support two players #17
New Contributors
- @jbourqueendless made their first contribution in #15
Full Changelog: v1.3...v1.4
v1.3
v1.2
Player control improvements
This adds a few nice adjustments to the player controls:
- You get a few frames' grace after walking off a ledge where you can still jump ("coyote time")
- You get a few frames' grace if you press jump just before the character lands from a previous jump/fall ("jump buffering")
- You can control the height of the jump by releasing the jump key before the player reaches the top of the arc and starts descending ("jump cut")
- The player accelerates when pressing or releasing left or right, rather than the velocity being set immediately. The acceleration can be controlled by the learner in the inspector.
- The player can now optionally double-jump.
These properties are all configurable in the inspector, with sensible defaults (about 3 frames for coyote time and jump buffering; 20% jump cut; about 5 frames to accelerate to full speed; double jump disabled by default).
Other improvements
More moddable properties now display units in the inspector.
Automatic publishing to GitHub Pages
The project now includes a web export preset, and a GitHub Actions workflow which builds the project for the web and publishes it with GitHub Pages. The workflow runs when manually triggered or when creating a release; and gives hints if GitHub Pages is not appropriately configured rather than failing. These files are included in the Godot Asset Library version, so that learners who get the project there and then commit it to a new Git repo get this behaviour by default.
Full Changelog: v1.0...v1.2
v1.1
Player control improvements
This adds a few nice adjustments to the player controls:
- You get a few frames' grace after walking off a ledge where you can still jump ("coyote time")
- You get a few frames' grace if you press jump just before the character lands from a previous jump/fall ("jump buffering")
- You can control the height of the jump by releasing the jump key before the player reaches the top of the arc and starts descending ("jump cut")
- The player accelerates when pressing or releasing left or right, rather than the velocity being set immediately. The acceleration can be controlled by the learner in the inspector.
- The player can now optionally double-jump.
These properties are all configurable in the inspector, with sensible defaults (about 3 frames for coyote time and jump buffering; 20% jump cut; about 5 frames to accelerate to full speed; double jump disabled by default).
Other improvements
More moddable properties now display units in the inspector.
Automatic publishing to GitHub Pages
The project now includes a web export preset, and a GitHub Actions workflow which builds the project for the web and publishes it with GitHub Pages. The workflow runs when manually triggered or when creating a release; and gives hints if GitHub Pages is not appropriately configured rather than failing. These files are included in the Godot Asset Library version, so that learners who get the project there and then commit it to a new Git repo get this behaviour by default.
Full Changelog: v1.0...v2.0