I'm am VERY, VERY excited to announce that the first "Release Candidate" (0.13.0_rc1) for Cosmoteer MULTIPLAYER is now available! Yes, there's multiplayer! Finally! Seriously, I've been working really hard on it, and I'm really happy to be able to finally show it to you all, even in it's early, simple, and probably-buggy state.
What is the gameplay? In this first version, multiplayer is a simple team-versus-team battle of up to 8 players spread across two teams. Each player has a certain amount of money (configured by the host) to spend on a fleet of up to 5 ships (or fewer, as configured by the host). Then the game starts and the players control their own ships, attempting to destroy the other team's fleet. The game ends and one team is declared the winner when either the other team's fleet is sufficiently destroyed or the timer runs out.
Who can I play with? In this first version, you can play with anyone on the same LAN (Local Area Network) as you. You can also play with a friend anywhere else in the world by typing in the host computer's I.P. address. There is not yet a public online list of games.
This is just the beginning! This first version lays the coding foundation for more improvements to come. In the long term, I may add entirely different game modes, such as multiplayer co-op and creative modes. In the near future, I plan to add:
- A.I. players in multiplayer battles
- Observers (for streaming tournaments)
- More than two teams & free-for-all battles
- Automatic port-forwarding for I.P. address connections
- In-game text chat
- Some sort of boundary around the playing area to prevent people from being able to run away indefinitely
- Multiple "rounds" per game
- Limit price per-ship and not just total price per fleet
Expect the game to be buggy! Crashes and "out of sync" errors are to be expected until I get all the bugs ironed out. You may even encounter new bugs in singleplayer, because much of the underlying game simulation & physics code has been significantly reworked to support multiplayer.
Let me know if you have any new performance problems. Due to the changes I made to the underlying game simulation & physics code, it's possible that those changes could make performance worse for some players, even in singleplayer. I haven't noticed any significant difference myself, but I have a pretty nice computer.
Players running 32-bit operating systems cannot play multiplayer with people running 64-bit operating systems, or vice-versa. And I'm not even sure that all players running 32-bit operating systems will be able to play with each other without getting "out of sync" errors. This is an unfortunate technical limitation due to the way multiplayer has been implemented (a technique called "deterministic lockstep") that's necessary in a game as complex as Cosmoteer to keep bandwidth low, but it causes incompatibilities between 32-bit and 64-bit OS's. In the future I might add a way to force the game to run in 32-bit mode so that players who have 64-bit OS's can play with their friends who have 32-bit OS's.
Multiplayer should generally work fine with mods as long as all players in the same game have the same mods installed and activated. If you have different mods or different versions of mods than the game's host, then you'll get an error when trying to join a game. (Mods that do not change multiplayer gameplay can add ModifiesMultiplayer = false
to their mod.txt
which will stop the game from checking to make sure all players have the mod installed. Adding that to mods that do change multiplayer gameplay will not magically allow players to play together; it'll just make the error when trying to join a game less helpful.)
When using the "Connect via I.P." option, you will probably get a "Request timed out" error unless the host configures "port forwarding" on their router to forward UDP port 35862 to their computer.
Please give me your feedback as you try it out! Let me know when you run into bugs, and let me know what features you think should be added & improved.
It will be at least a week before the "official" 0.13.0 update is released, or more if people find lots of bugs with the release candidate. I'll also be using this time to fix some non-multiplayer bugs and make other non-multiplayer improvements that aren't in this first release candidate but that I hope to be in the final 0.13.0 release.
So what are you waiting for??? Download Cosmoteer 0.13.0_rc1 today!
Full Changelog:
- WARNING: Existing saved games from pior versions of Cosmoteer will no longer work in this version. Sorry for the frustration! Existing saved ships will still to work fine.
- Major Feature: Multiplayer!
- A simple team-versus-team battle mode for up to 8 players.
- The battle ends either when one team is sufficiently destroyed or when the time runs out.
- One player "hosts" the game and acts as the game server. The other players join the host's game.
- The host can configure various game options such as number of ships and total fleet cost.
- Local Area Network (LAN) game lobby and chat room.
- Direct I.P. address connection to games not on the same LAN.
- Cross-play between 32-bit and 64-bit operating systems is NOT supported.
- The game physics and simulation will now behave exactly the same way regardless of game speed and framerate.
- The clickable "eye" icon is now shown only for the first target in the attack queue.
- Bugfix: In some cases attacking large ships would choose a very-close attack distance and non-optimal rotation.
- Bugfix: Changing formations during combat could cause the game to hang after combat ends and the ships try to return to their formation.
- Bugfix: Rare crash when a shield generator runs out of power on the same frame that its ship is destroyed.
- Bugfix: Rare audio-related crashes during gameplay.
- Modding: Mods can now add a ModifiesMultiplayer = false
flag to their mod.txt
files to allow players to play together even if one player has the mod and the other doesn't.
- The secret coconut is now 15% less secret.
Known Bugs:
- The game will immediately end if you don't have a time limit.
- FTL jump is broken in single-player.