Posted May 16, 2024 by puzzud
#mule
Version 1.11.0 has been released!
Notable enhancements and bug fixes:
- Final planet state can now be reviewed when game is over. Thanks, @ja-mo!
- Play Level is now changed in the lobby screen.
- Removed need to explicitly indicate number of players. Thanks @goetholon, @ThomW!
- Reworked game setup UX to be a bit more intuitive. Thanks @ThomW!
- Keyboard button assignment can now be customized. Thanks @thane, @asdfjkl!
- Auction declare & trade phases are skipped during the last round's auctions. Thanks @WatcherXP, @NeonPeon!
- Added verification prompts when attempting to quit a game in progress. Thanks @tas_2012!
- Ready timer appears when all players are ready in the lobby screen before starting game.
- Purposely abandoning a game before round 2 starts is possible and does not force a rejoin. Thanks @WatcherXP!
- Abandoning a game redirects the player back to the title screen.
- Join code now uses a typesetting that differentiates between O and 0. Thanks @WatcherXP!
- Pressing Join Code now puts it into your clipboard in all uppercase. Thanks @WatcherXP!
- Store price and good value change events are now saved to save file. Thanks @ja-mo!
- Mule valuation events are now saved to save file. Thanks @ja-mo!
- Removed Enter keys and Control key as default keyboard primary buttons. Thanks @thane!
- Default (first time) game resolution is maximized to the largest scale that does not exceed screen resolution.
- Fixed bug where mule can be visible in store at start of next player's turn. Thanks @WatcherXP!
- Fixed bug when time runs out while outfitting or selling a mule.
- Fixed minor visual artifact where player sprite is briefly visible after end of turn.
- Fixed bug where plot cursor is not black when showing which land is for sale.
It's been a while since there has been an update but this one made it just in time for M.U.L.E. 41st birthday!
Improved Game Setup UX
Previously, the process of setting up a game was extremely faithful to the original game. So much that injecting online multiplayer elements pressed its usability a bit too far.
The need to specify whether you are creating an online or offline game, as well as whether it's locally or remotely hosted is still necessary, for now, although there are ways it could be abstracted.
Previously, in some scenarios, it was required to specify both the number of total players as well as number of local players. A pain point often felt was hosting a game, hoping for all 4 human players, and needing to start it with less than 4--required the game to be recreated with the proper number of players and everyone had to rejoin--yuck!
Now it is not required to specify such. Players join like they just inserted a quarter in front of their favorite character on a classic arcade machine. Once all local players have joined with their intended input device, everyone indicates they are "ready" "to go on" as has been done with the lobby screen in all previous releases.
Notice the empty space below the Play Level. In the future, it will be possible to review & change various settings in a new play level tentatively called Custom. As per the previous update (v1.10), each player can at this point change their input device by using their currently assigned one to where it lists it under their planeteer's avatar (eg "Keyboard"), they can also navigate further to select and change the Play Level.
Once all players press Ready, a timer starts up, allowing for people to cancel any premature attempts to start the game (eg "oh, we have someone else who wants to join!"). During the ready timer, computer players join and occupy any vacant player slots.
A small "what decade is this?" improvement is the game will now ask for confirmation when attempting to quit a game in progress. Related, clients will no longer quit the application altogether in some cases and instead return to the title screen:
- Offline games
- Finished games
- Games that have progressed past round 1
Note the "past round 1" condition. Similarly, clients that purposely abandon a game prior to round 2 will not attempt to reconnect to their previous game. Remote Host games will also terminate after 10 seconds if all players have left the game before round 2. This was put in for the extremely common scenario where a new (and veteran alike) player forgets to pick a plot during Land Grant; among other scenarios too.
Final Playfield Review is Back!
It's now possible to leave the Status Summary screen when a game is over and view the final state of the game in the Development screen. It is done independently from the server and all other clients--and it does not require everyone to press their buttons; just one. I would like to implement a feature that indicates all the crystite levels after the ship returns, in case you were not able to find them all.
Other Work
I put a bit of effort into getting user accounts into this release, but it fell short. I do have a dedicated server up and running for such and the library that integrates within the code, as well as a couple attempts to have players associate themselves with a user account. The primary intention of this server is to hold user information (name, favorite species, experience level) and game histories.
I also looked into setting up Discord rich presence. To make a long story short, I ran into various complications that caused me to give up on it for now. A possible scenario is I figure out how to integrate it only for Windows & Linux without it causing issues for Mac builds; best case scenario is I get it working with all 3 platforms, but Discord does not ship a nice Mac universal binary for their SDK.
A big portion of time was dedicated to working on the upcoming enhanced client version of M.U.L.E. As a reminder, it will be fully backwards compatible with M.U.L.E. Online and my intention is to have a classic mode (aka M.U.L.E. Online) as an option. A big thank you to my patrons for the support--you keep the lights on for the Remote Host servers. If you would like to help fund the future of M.U.L.E., please join my Patreon: https://www.patreon.com/puzzud.