Multiplayer Matchmaking - Asteroidains Release v0.5.0.213


It's been over a year since my last official itch release, but it is here! Yay procrastination! (By the way, I tend to release builds more frequently on my Discord, if you want in on that)

About Multiplayer Matchmaking:

Game servers now register themselves with a Master Server while they are in the lobby state. When a client goes to the multiplayer menu, a list of available game servers to join is sent to the client. This removes the need for players to know the IP of the server to be able to join it.

While this makes finding multiplayer games very easy, the hosting costs of the Master Server are not cheap. At the moment, I am paying out of pocket for this. I am still playing around with ideas on how to monetize Asteroidians, but with the introduction of an upkeep cost, the likely hood of Asteroidians continuing to be a completely free download diminishes. For the time being, the game will remain free but the suggested donation has increased from $2 USD to $5 USD. *wink wink, nudge nudge*


And now, the massive changelog that took me two hours to write:

Gameplay:

  • Explosive damage falloff is now scaled based on "distance tiers", with maximum damage being near the center. Currently all weapons have three damage tiers. This change was made in order to make explosion damage more predictable.
  • Aim reticle is now positioned closer to the active character if the character is aiming at terrain. This change was made to help identify when your shot will be blocked by a rogue pixel of terrain.
  • BitmapRigidbody objects now have their bounce effected by the surface normal they hit. (This also can effect characters in an undesirable way at the moment)
  • Running out of time during the main turn phase will now skip the retreat phase.
  • Added Super Sheep weapon (This will probably be renamed in the future)
  • Added Healing Aura weapon, which drops an object that heals 10 hp to ALL characters within its radius at the end of every turn. The Healing Aura object can be destroyed.
  • Added Girder weapon, which places a single destructible platform.
  • Added Shotgun weapon, a two shot gun weapon with predictable spread. This weapon is good against groups of enemies but bad against single targets.
  • Added Anvil weapon, but this is disabled for now because it is able to softlock games.


Visuals / Audio / UI:

  • Added a "healed" particle effect.
  • Character body sprites are now pre-rendered using Shapes. This allows the bottom of the body to conform to nearly any angle, based on the slope the character is standing on.
  • Aim and target indicators are now drawn using Shapes.
  • Bullet tracers from gun weapons are now drawn using Shapes.
  • Added a second "background" terrain layer. (non-solid, visual only)
  • Background and foreground terrains now have an edge detection shader, which gives damaged terrain an outline.
  • Total match time is now displayed in the in-game Esc menu.
  • Updated help text in the in-game Esc menu.
  • Weapon panel now grays out depending on if you are able to change weapons at any given time.
  • All weapons have tooltips by hovering your mouse over the weapon in the weapon panel.
  • Timer beeps and boops audio when low on turn time.
  • Various other new or adjusted audio effects.
  • Lobby level preview now displays the name of the level, or if the level is procedural, the level's seed.


Multiplayer:

  • Teams belonging to clients who disconnect mid-game are removed from turn rotation and have their nameplates gray out.
  • When a server is closing it will now send a disconnect message to all connected clients.
  • Server now keeps track of client pings. (For now it is only displayed in game through F1 debug mode)
  • More complex handling of how the "sender client" is transferred.
  • Redesigned multiplayer chat to remove lag caused by having a long chat history. Multiplayer chat is available in multiplayer lobbies and in-game by pressing T. (Can be configured) Player name color is based on the color of the first team that you control.
  • When connecting to a server and the server denies the new connection, the server will now send the client a reason to why the connection was denied. (Eg, because server is full, no longer in lobby, etc)
  • Server will now reset itself to the lobby state if all clients disconnect. (no more need to restart the server between games)
  • Usernames can no longer contain rich text and are capped at 32 characters.
  • Added File Transfer support for user created content, namely custom levels as PNG. This is disabled until more user-control is implemented.


Backend:

  • Added a custom Console, Source Engine style, along with many commands. Console can be accessed at any time by pressing Tilde (~) (Can be configured), and commands shown to you by entering "help" are contextual.
  • Rework of weapon backend structure in order to allow for secondary firing modes. (like being able to use weapons while using a mobility tool) Secondary weapons are incomplete and were disabled due to it confusing players.
  • Physics backend can now calculate an approximate surface normal of any rectangular collection of pixels.


Bug Squashes:

  • Fixed ambient audio not ending after leaving a game.
  • Fixed some projectiles exploding when touching water.
  • Fixed health bars above turn timer indefinitely scaling vertically.
  • Fixed health pickups spawning above characters, causing the character to pick it up immediately after spawning.
  • Fixed infinitely spawning health pickups, eventually leading to a game crash when game was left running idle.
  • Fixed bug in lobbies where selecting a built-in level would sometimes not work properly.


As far as I can tell, multiplayer is now very stable under normal, stable network conditions. I'm pretty sure that multiplayer soft locks are now specific to when gameplay-critical TCP messages are dropped. Per usual, multiplayer is heavily work in progress. (maybe in another year, eh?)

Files

Asteroidians v0.5.0.213.zip 36 MB
Dec 12, 2022
Asteroidians Server v0.5.0.213.zip 539 kB
Dec 12, 2022

Get Asteroidians

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.