Online Progress

Coming soon to Bomb Sworders — online multiplayer!

And a bunch of other stuff too:

  • A better QuickStart tutorial (Along with writing a post about developing the online for Bomb Sworders, I’d especially love to discuss development of the tutorial: from horrible initial attempt to starting over and improving it across several conventions)
  • Bot Battle: a single player mode that sets you against bots on 7 progressively more difficult rounds.
  • 1 or 2 new levels, more level bgs
  • Perfect hit: time your swing or sword throw for extra power
  • Cannon behavior tweak: the death-beam will now immediately explode any bombs of the same color. This makes cannons much more useful for higher-level play.
  • Plus lots of bug fixes of course

“Bomb Sworders — holy s#$! they have it!”

Favorite quote @ Midwest Gaming Classic 2022

v0.8.0.12 wrap fixes

Early design decisions can lead to headaches later on and for Bomb Sworders having wrap-around was one of these.

The problem separates into a visual side — getting the wrap-around to appear seamless — and into a physics side — having items at the wrap-around point interact exactly as if that space is no different than any other.

The visual side was “solved” awhile back. This new update attempts to solve the physics side.

It wasn’t absolutely terrible before — maybe a sharp-eyed player would spot a missed collision or a missed jump once-in-awhile. Of course, if players spent a lot of time right at the wrap edges, they’d encounter these issues much more frequently. But often the mistake would happen so fast that it’d lie in kinda an area of uncertainty for the player — “I guess *I* must have missed that jump…”

The worst issue was that there could be “unearned” trap shots — 2 bombs moving rapidly in succession across the wrap-around might trigger an extra (errant) collision event, which could result in an explosion. Super rare, but very annoying. This update should fix that too.

So:

  • bug fixes: physics interactions near wrap-around
  • thrownSword “trail” turns off when the thrownSword is unowned
  • optimizations to wrap-around checking
  • at the end of a round, the stats-boxes for each player now position themselves correctly regardless of the level’s aspect ratio.
  • bug fix: under fairly specific circumstances, it was possible to receive “cold” damage — an idea that we explored in the past but, for the time being, are not developing. (I guess this bug does show that that functionality is still very much in the code base…)

v0.8.0.7/8/9

for whom the toad comes?
it comes for thee

A few small updates

v0.8.0.9

  • bug fix: character animation doesn’t play properly when on a vertically moving platform
  • bug fix: when horde mode characters are stacked on top of each other, it’s possible to “fly”
  • the swing animation will only play when it’s possible to hit things (e.g. the animation no longer plays for frozen characters)
  • minor performance improvement

v0.8.0.8

  • the first press of the random button will exclude the just-played level
  • bug fix: potential for a loud, stuttery sound effect to play after a round victory
  • bug fix: unable to generate a trap shot from two currently-touching bombs
  • bug fix: items failing to wrap-around properly

v0.8.0.7

  • improvements to sound system (prevents some very loud audio spikes)
  • better support for 4k resolution
  • automatically uses a better replay resolution if the hardware can comfortably handle it
  • “doodle” effect added to character avatars
  • fixed some avatar layouts
  • thrownSword: added faint trail (WIP)
  • level tweaks
  • bug fix: collided by moving black-bricks when in limbo
  • physics simulation generates less junk

Update v0.8.0.5

  • AI improvements
  • 2 new levels added to Experimental: “X Marks the Spot” and “Lava Gap”
  • 1st pass at backgrounds for “Elevation” and “Penrose”
  • Tweaks to spawner placement and item weighting on several levels
  • Fix: unable to hit freezer for a bit after appearing
  • Fix: thrownSword graphic clipped on y-wraparound

A couple small updates

v0.8.0.3

  • fixed overlapped text on trapShot tutorial (thanks Chaddog)

v0.8.0.2

  • added better support for Steam Controllers — still not great… but better.
    • instructions: in the Character Options menu, set the “manual sword” mapping to the right-stick-button. Then hold that button to aim sword and release to swing
  • fixed a rare bug on level select (thanks Blazecc and goggleOgler)
  • added 2 big experimental levels: Burning Divide, Chute
  • improved AI
  • spelling fix, 2 more levels accessible in Horde Mode

The Quick Start Update

This update (v0.8.0) focuses on the game’s early experience for new players.

Quick Start Tutorial

The new “Quick Start” Tutorial is an attempt at 3 things:

  1. Get new players into the actual game as quick as possible
  2. … while making sure they have a basic framework in place for understanding/playing the game
  3. … and hopefully without being too boring.

It’s made up of a few explanations interspersed with practice levels — some of which provide guidance to players as necessary based on how they’re playing. e.g. If the tutorial notices that a player isn’t swinging their sword, it’ll gently remind them of the control/action.

Also, throughout the game, the control/action text is now shown correctly for each individual player’s (possibly custom) control mappings.

New Experimental Levels

* Experimental = W.I.P.

Lavarinth — bombs/dynamite generate in the inner area while there’re mostly cannons in the outer area
Penrose — vertical wraparound! (Thanks kiaten for the idea!)
Elevation — really helps to have bounce-jumping down pat
Roam — moving platforms provide some challenge getting to the top while also shielding anyone below

Misc Stuff

  • New Characters — Ticket, Bully, and Toad (Thanks to goggleOgler for Ticket and Bully concepts!)
    • Bully and Toad are unlockable characters
  • Random Level Select (Thanks Blazecc for the idea!)
    • Additionally, you can choose which levels will be in the random-selection-set by highlighting the Random button and pressing Menu/Options
  • Refined sword swinging
    • Canceling a sword-swing now acts as kinda a pump-fake (“canceling” can be turned on in the control mapping section)
    • Swinging rapidly many times in a short period will lead to temporary “exhaustion” — a slower rate of swinging
    • You can get the strongest sword swing by releasing within 0.5 seconds of the charging-sword animation reaching its back-most position
  • New song: Luwuk Logic Bomb
  • Options menu for Practice Mode
  • Smoother/more-efficient camera movement in Race Mode
  • Additional sounds
  • Music continues (doesn’t reset) through Race Mode restarts
  • Revised limbo behavior — killing a stunned character while in limbo will cause revive
  • Character Select: pressing Options/Menu while in a READY state will kick immediately out to the non-ready state with Options menu shown (previously this button press would be ignored)

Bug Fixes

  • Fixed stuck-on-pillars in Roam level (thanks Blazecc)
  • Fixed issue where axisElements (L2, R2, triggers, etc) couldn’t be assigned to jump/dash actions (thanks Blazecc)
  • Fixed where cannon could kill players for 1 frame after the cannon was visually gone from the scene

Also — thanks Chaddog for feedback on the Steam controller!

The Boost Update

The Boost update (v0.7.9) brings a bunch of changes both significant and small

New Item: Boost

Initially designed with multiplayer in mind, the boost item first comes to Race Mode — Zip, zoom, and bounce around levels at ultra-fast speeds.

A future update may bring the item into other modes if some balance issues can be satisfactorily addressed…

Support for up to 8 Players

(on platforms that allow it)

AI in Battle Mode

Previously cordoned to the bowels of Tutorial Mode, the AI has finally broken free into Battle Mode proper! On the character-select screen, just press the “Add AI” button (you can watch the scrolling bar at the top of the character-select for specific instructions)

  • Currently only supported on Verticality and Treehouse levels
  • Some improvements are still coming
  • You can increase the difficulty by adding more AI opponents + turning on Handicapping in the Mode Options panel (press Options/Menu while Battle Mode is selected on the mode-select screen)

Misc Changes

  • Race Mode: new and refined levels
  • Better filtering of sword-joystick overshoot
    • Greatly reduces, and possibly eliminates, the potential for joystick overshoot* to cause a sword swing in the wrong direction.
    • The naive filtering I did before seemed pretty decentâ„¢ — on average I saw maybe 1-in-300 sword swings experiencing this problem. But one day I came across a controller that had it occur about 1-in-20…
    • * “joystick overshoot” being where you release the joystick and it returns so fast towards the zero point that it actually shoots past it and returns a value in the opposite direction from where you intended.
  • A couple new characters
    • fish
    • bot (for AI only)
  • Refined options menus
    • Easier to understand and more space efficient
    • For keyboard/mouse players: Control remapping and other settings are now available in the character select options. (We still recommend playing with a modern gamepad controller if you can)
    • More options — including item weighting for Battle Mode. Then because Cannons Mode and Dynamiter Mode can now be recreated using the new options, those modes have been eliminated.
    • Further polish on the control-remapping feature.
  • New song

Tweaks

  • ThrownSword
    • The sword-hittable area more closely matches its visual shape
    • More reliable physics responses at high speed
  • Stunned State (after falling into lava)
    • You can pick up items — but those items *won’t* immediately kick you back to the normal state
    • Various new ways that a teammate can rescue you
    • *testing* You can swing your sword while in stun (offering some defense against enemy thrownSwords)
  • More team color options. The colors will continue to be tweaked over time — for greater color-contrast but also to try to make them as color-blind friendly as possible
In no particular order: yellow, powder pink, blue, cyan, green, red, magenta, purple
  • The handicapping option — which creates free blastZones for the losing player(s) now scales the number of free blastZones to the size of the level
  • Slightly easier-to-spot limbo bombs
  • More sounds: things falling into lava, items colliding, additional interface sounds on the menu screen, etc
  • Race levels unlock as you complete prior ones
  • All tutorial levels start unlocked — so people can pick and choose specific things they want to practice
  • Smoother Race cam — most noticeable at really high speeds (there are still some ways to make it even better)
  • Defined color schemes in Race Mode — to have greater color contrast + just be a bit more pleasant overall
  • Star item in Race mode can’t be hit/recoiled off of
  • (Not 100% complete yet) More instruction icons for keyboard/mouse input
  • Small graphic tweaks, jump animation plays every time there is a successful jump (previously it only played if there was a fairly big difference in before/after speed)
  • Race Mode: Option menu includes ability to turn on/off best-time playback
  • Split level: refined for easier jumps
  • Single player modes (Exploder and Race) — accomplishing a Gold or better score will *always* earn an extra coin
  • Simple implementation of input behavior for keyboard/mouse while in limbo, boostPrep (aiming the boost), and stunnedScamper (after falling into lava)

Bug Fixes

  • Menu screens
    • Rapidly exiting and entering the Character Select area could make some character-select boxes invisible
    • Fixed error with attempting to load leaderboards when in Steam Offline mode
    • Fixed issue where 2+ players pressing Back at the same time could potentially “confuse” the UI
  • Gameplay
    • Under certain conditions a thrownSword hitting the ground could fail to play a sound
    • Stopped thrownSword from continuously making ground-contact sounds when it’s on a moving platform
    • Better enforcement of: if you jump off a pickupable (dynamite, freezer, thrownSword, etc) then you do *not* pick it up
    • Fixed issue where a player trying to rescue a teammate from the stunned-state could potentially leave them immobile
    • More reasonable speed output when hit a fast moving object with your feet
    • Fixes related to the owner of a thrownSword dying while that thrownSword has items attached
    • Fixed issue with ownership transferring to items attached to a thrownSword
    • Fixed interaction between temporarilyInvincible (an attribute you have when first revived from Limbo) and lava
    • Prevent “mega” jumps from potentially occurring for a newly revived character who had initially died while moving really fast
    • Fixed the potential for characters to teleport a massive distance under certain, very specific circumstances. (Never saw this happen in a public playtest.. but once I knew how to do it, it was fairly reproducible…)
    • Screen Expand settings now work in Race Mode
    • Improved the timing of round-beginning events
    • Fixed issue where limbo character was unable to create limbo bombs/cannons
    • Remove a super rare case where a team with all its players in limbo could still have non-limbo bombs, cannons, etc created on the play field.
    • Fixed issue related to a trapShot potentially being able to “double hit” a bomb

Update v0.7.8.1

v0.7.8.1 brings a bunch of small changes

  • better interpretation of player’s intent for recoil at near-horizontal angles
  • more reliable, slightly-easier sword swing mechanics and animations
  • fixed an exploit where you could assign multiple jump buttons and then mash them all to climb super fast. (As one of the primary abusers of this exploit… I mourn the passing)
  • Exploder mode: once again displays a running-out-of-time graphic — accidentally had hidden it in the previous version as part of a larger-scoped optimization
  • fixed issue where items could fail some interactions with other objects after a player death
  • Race mode: fixed error when an enemy-owned bomb was near a target at the moment the level was completed
  • Race mode: easier to jump off stars
  • a couple minor tweaks to some race levels

That’s it for this update!
More coming soon(ish)