more changes

further towards no-ghost
- can cancel a fall-through by jumping
- added fall-through setting to player options: traditional (down + jump) or customButton
- keyboard/mouse default is customButton with ‘s’
- gamepad default is traditional
- this data is also saved/restored alongside the other controller-associated data
- added the less-easily-discoverable “pass-across”
- allows passing through dotted-walls
- the player can also dash or jump off the wall as you pass through it
- now, imo, a nice setup:
- can pass-through any dotted line, as before with ghosting – BUT the penalty for doing so is having your velocity zeroed
- so it’s fairly easy to navigate levels
- but if you want to move quickly through a level, you have to learn/practice the level’s structure
- levels tweaked
- to make more approachable to new players – designed to be navigable even if they don’t discover fall-through/pass-across
- and opened some routes for advanced players
- standardized some of the platform spacing to be more intuitive
- brought changes over to online

other
- when in Takeover or Exploder modes, new blastZones momentarily show their number
- prevented some jump/recoil exploits
- recoil hit/throw: slightly more powerful when “well-timed” (if struck when the sword flashes white)
- for advanced players: can dash off platform edges
- for advanced players: while moving upwards, can dash off items
- thrownSword: physics updated to work with wrap-around

misc small things
- trying to shorten the average Takeover round duration:
- lowered the target blastZone #
- when a player dies and their blastZones are wiped, the resulting spawnables now have a longer duration before they fade-out
- Takeover: reduced amount of freezer and dynamite items
- slightly reduced the number of assist blastZones
- because with the “no-ghost” change, each blastZone exerts a bit more area control
- introduced a (very fast) max fall speed + max dash/recoil speed
- will basically be unnoticeable – but good to have some limit just to stop physics from getting weird
- removed bigHit item from the modeOptions
- imo not particularly worthwhile + creates possibility for some annoying online behavior
- bug fix: problem with platforms/walls that went over a wrap-edge
- bug fix: could get a stronger recoil hit/throw by holding the joystick just slightly towards the intended direction
- thrownSword is now a bit more visible – added a dark outline – easier to see when overlapping same-colored blastZones
- “press any button to start” message on start-screen is now much closer to true
- previously it only checked buttons that had actions mapped
- fixed a couple scenarios where multiple blastZones could be created where only one should be
- bug fix: removed a way that a deathbeam could hit/explode a bomb while not visually overlapping it (deathbeams now ignore the “mirrored-colliders” that items are given to mimic wrap-around physics)
- as a result of the thrownSword physics now working with wrap-around: minor changes to how thrownSwords spin/roll when colliding with the ground
- various other tweaks
no ghosting
Tried a pass at removing ghosting from the game…
And I think it works well
for beginners
- easier, more-familiar movement
for advanced players
- can no longer just hold down ‘ghost’ button and pass through the entire level
- –> understanding a level’s structure is now much more important
implementation
- as before, dynamite-carrying characters can’t pass through any dotted lines
- characters can jump upward through platforms – like a lot of platformer games
- characters can fall-through a platform with, the somewhat standard, down + jump
- or, instead, a custom button can be mapped to fall-through
- falling through a platform causes your velocity to reset to zero
- –> so there is an advantage in avoiding fall-through when you can – to preserve your momentum
improvements to movement
Recently, a bunch of work has gone towards making non-ghost movement better:
- more intuitive/forgiving dash, bounce, wall-jumps
- dashing from still –> a more noticable boost
- no collisions with platform sides: instead, you only either land on top of the platform or fall below it. This allows characters to more-fluidly move through a level.
- because there are less opportunities to jump off platforms as you move upward through them –> the boost jump is a bit more powerful
other changes
- dropping a dynamite while in dazed now sets the character back to the correct physics layer
- improved legibility of some expressions while on bright backgrounds
- adjusted some levels for no-ghosting
dates now appear on website posts
dash improvements
- fixed a bug that sometimes zeroed momentum
- made dashing easier: the game is now much better at interpretting the player’s intended dash direction
fixed some bugs in non-ghost movement
fixes + polish
more
- now online characters can’t die after the round is done
- fixed a few objects that had wrong labels, affecting jump logic
- a bit of polish on secret levels
- also fixed one that would fail out if there were 4 or 5 players
- caught up the Practice Mode settings to those in battle/inferno
- matched local to online behavior: characters don’t collide with eachother
- movement on ground made more consistent
- previously, if you ran and then brought the joystickX to 0 –> the character slowed to a stop over a brief duration
- or, if you ran and then quickly moved the joystick to run in the opposite direction –> the character instantly got 0-xVel and then began to accel in the opposite direction. This allowed a nice convenience – fast turning
- but… if you ran and then released the joystick (intending it to go to 0) –> depending on the gamepad/quality, the joystick may go to zero… or sometimes it’d snapback, overshooting in the opposite direction.
- this made it hard to predict what would happen when you let go of the joystick – whether you’d come to a slow stop or a fast stop (when the joystick unpredictably overshot).
- –> inconsistent
- So now, when the character is on the ground and the player intends to stop, the character always stops instantly.
- fixed missing sprites, misc polish
misc updates
- handled a (rare) situation where someone could fall through lava
- fixed “initialSpawnTargetMult” gameMode option not resetting properly
- Takeover Mode: # of blast zones to win now varies based on the number of teams playing.
- inspired by a 5-team round that almost went 15 minutes and could have easily gone more…
- also updated interface to mention the target #
- and added an option to apply a multiplier to this #
- got the new pause menu working for online client
- improved pause menu readability
movement glitch
Fixed a movement glitch that could cause problems around a character entering dazed state.

simpler azure pricing
Got word that Azure will be sunsetting one of the services I use for this website in favor of another that has a “simpler pricing model”.
But…it’ll cost quite a bit more… about $35 a month instead of just a few cents(!). Thankfully the switch doesn’t happen for a couple years, so there’s time to change things up.
no lava for online
Gah -- spent a week trying to bring lava (the new/more-beginner-friendly version) to online but, in the end, wasn't able to find a fully-consistent way to do it without, at the very least, tearing down some of the assumptions that online makes and replacing it with more complexity and some loss in responsiveness. The new lava will still be available for local play.
Aside from that, did manage to fix some bugs around lava and, I think, improve behavior around character state-switching online.

rewrote ownership methods
Discovered some inconsitencies with ownership, especially with limbo ownership during inferno-mode. But, with the help of lots of unit-tests… I think/hope it’s sorted.
fixed missing dynamite/freezer icon

new website
Switched to hosting the site on Azure – saves a chunk of money + kinda fun to play with.
This site is based off Chirpy and then customized to try a couple ideas:
- ultra-short, title-only posts look okay
- ephemeral posts – unless a post is pinned or given the remain attribute (like this post has), it’ll eventually be discarded off the bottom of the page
all about making it easy to quick dash off (low effort?) updates.
Plus I get to write stuff in Emacs which is always nice.