Thursday, September 6, 2018

Cosmoteer 0.14.4 - Multiplayer 'Arena' Mode

Cosmoteer update 0.14.4 is now available! This update adds a new multiplayer mode called "Arena" along with multiplayer "rulesets", plus a ton of other features and fixes.

Arena Mode

The new "Arena" multiplayer mode is intended to address some of the deficiencies of the old "Last Player Standing" mode. (Which still exists but has been combined with Team vs Team into a single mode called "Elimination".)

The problem with Last Player Standing is that, when playing with three or more players, it creates a standoff situation where none of the players are incentivized to attack first because doing so is almost always a poor decision for either or all of the players who fight first. This is both unfair to those players and often delays the start of combat in those games.

The Arena mode solves that by changing the victory condition from "be the last player standing" to one that rewards players for being aggressive: specifically, by awarding points to players for damaging and destroying enemy ships, and by allowing them to respawn when their own ships are destroyed and keep fighting. The player or team at the end of the match with the highest number of points is declared the winner.

Holding the spacebar at any time during a multiplayer battle will show you the scoreboard:


Once all of a player's ships are destroyed, they can respawn with a whole new fleet and rejoin the battle. Players can also choose manually respawn before their ships are destroyed, but doing so will cost them 25% of the points that their remaining ships are worth, and their old ships will remain on the battlefield for other players to destroy and earn points from.

While waiting to respawn, players can also choose to change any ships in their fleet, allowing players to choose ships to better counter their opponents.

This new Arena mode can be played with up to four teams or as a free-for-all.

Elimination Mode

Since the old Team vs Team and Last Player Standing multiplayer modes were so similar, they have been combined into a single mode called "Elimination". This new mode supports up to four teams and free-for-alls, and its options can be configured to exactly recreate the old Team vs Team and Last Player Standing modes.

Multiplayer Rulesets

This update also adds "rulesets" for multiplayer games. Rulesets are simply pre-defined configurations of game options that the host can select from, though the host is still free to customize the individual options as they desire.

Each multiplayer mode has a handful of "official" built-in rulesets. Arena mode has five "Free For All"-style rulesets for five different fleet values: 100K, 250K, 500K, 1M, and 2M. Elimination mode has ten official rulesets: five that recreate the old Team vs Team mode, and five that recreate the old Last Player Standing mode, each at those five different fleet values. When playing with an official ruleset, the multiplayer lobby will display the ruleset being used next to the game mode icon:


Players can also save their own custom rulesets for their own convenience, although these will not be displayed next to the mode icon in the lobby.

Tuesday, July 31, 2018

Cosmoteer 0.14.3 - Bug Fixes

Cosmoteer update 0.14.3 is now available! This is a minor update that fixes a bunch of bugs. It has no major new features and should be compatible with all mods that are already compatible with 0.14.2.

Download Cosmoteer 0.14.3

Changelog

Thursday, July 19, 2018

Cosmoteer 0.14.2 - Heavy Laser Blasters, Boost Thrusters, and Advanced Ship Controls

Cosmoteer update 0.14.2 is now available! In addition to a ton of bug fixes and minor improvements, this update has three major features: Heavy Laser Blasters, Boost Thrusters, and an advanced user interface for controlling your ship.

Heavy Laser Blaster

The "Heavy Laser Blaster" is a larger, double-barreled variant of the regular Laser Blaster.


In its primary firing mode, the Heavy Laser Blaster shoots two laser shots at once, each doing more than twice the damage of a single shot from the regular Laser Blaster. It can also be changed to an "alternating" firing mode which fires twice as fast but only one shot at a time.

If you need an increase in raw firepower, the Heavy Laser Blaster can be a worthy upgrade over the regular Laser Blaster, albeit at the expense of some versatility with its reduced firing rate, arc, and shot speed.

Boost Thruster

The "Boost Thruster" is a longer variant of the Large Thruster. Ordinarily, it provides exactly the same thruster force as the Large Thruster, but it also has a special "boost mode" that, when activated, triples its thrust force at the expense of greatly-increased power consumption.


When activated, not only does its power consumption increase proportionally with its thrust, but it also continuously drains power regardless of whether it's actually thrusting, making the Boost Thruster much less power efficient per unit-of-thrust than when not in boost mode. And when boost mode is turned off, any remaining power is immediately lost, meaning you need to think tactically about when to use it.

The Boost Thruster's boost mode is most useful for when you need to quickly get away from—or get closer to—the enemy, or to make a quick maneuver. Be careful though, because once boost mode runs out of power or is turned off, you'll have to wait for your crew to bring more power to the boost thruster before it's usable again even in non-boosted mode.

Advanced Ship Controls

This update also adds a handful of advanced ship controls that can be useful for performing special maneuvers or taking certain actions that can't be done by just right-clicking.


In the top-left of the grid of six buttons is the move command. Just click the button (or press its hotkey, which happens to be M) and then click in empty space to move your ship there or click on another ship to follow it. This isn't much different than just right-clicking in empty space or on a friendly ship to follow it, but it does allow you to "follow" enemy or junk ships without having to attack them.

Below it in the bottom-left of the grid is the force-move command. This is just like the regular move command but disables all collision avoidance, meaning you can use it to ram enemy ships. (And unlike the move command, clicking on an enemy ship won't follow it; it'll just tell your ship to move onto its location.)

In the middle of the top row is the attack command. As its name implies, this command can be used to attack enemy ships, but it can also be used to attack your own or other friendly ships if you really want to. (Doing so will turn on friendly-fire damage for the specific ship you're attacking.) And if you're already attacking a ship, this command doubles as a convenient way to quickly adjust the current distance and angle of attack—just click the command (or press T) and click in empty space to set a location relative to the enemy.

In the middle of the bottom row is the rotate command. This command can be used to quickly change your ship's rotation without altering its movement destination or attack distance/angle. Just press it or its hotkey (R) and then click where you want your ship to face.

In the bottom-right is the strafe command. This is a variant of the move command that can be used when you want to move your ship to a location while keeping its current rotation. It's especially useful when you want to make a tactical maneuver while still facing the enemy.

And in the top-right is the oft-requested halt command. Clicking this or using its hotkey will immediately cancel all current commands, causing your ship to slow to a halt.

Lastly, when you select a specific weapon (or weapons), there is now a target command (seen below in the top-right of the grid). This command is primarily useful for if you want a weapon to target a specific part on a friendly ship, or even its own ship.


By default, these advanced controls are actually hidden until "Show Advanced Ship Controls" in the gameplay settings is turned on. (This setting is also turned on automatically when the "Advanced Ship Controls" tutorial is viewed for the first time.)

Friday, June 8, 2018

Cosmoteer 0.14.1 - RAILGUNS

Cosmoteer 0.14.1 is now available! This is the 2nd in the "0.14.x" series of updates which will introduce many new weapons and other parts that you can build onto your ships. Like most updates, 0.14.1 comes with a ton of improvements, minor features, and bug fixes. But it also adds a major new weapon: The Railgun.


The Railgun is a projectile weapon that uses magnets to accelerate an explosive slug down a pair of long magnetic rails. These slugs can reach extremely high velocity, allowing them to inflict great damage and penetrate deep into enemy ships, often destroying vital enemy systems in the process. Because the railgun uses magnets to accelerate the slugs, it requires both cannon shells and power to fire. And, like the Ion Beam Emitter, the Railgun is a fixed-direction weapon that cannot aim independently of its ship.

But perhaps what makes the Railgun the most interesting is that it is actually constructed using three different kinds of parts and can be built in various different lengths. Every Railgun has both a "Loader" (where the cannon shells are loaded and where the crew operate the controls) as well as a "Launcher" (where the slug exits the Railgun at high speed), and they can also have any number of optional "Accelerators" placed in between the Loader and Launcher. Every additional Accelerator that is added increases the fired slug's speed, damage, and penetration depth.


As can be seen in the above screenshot, extremely long Railguns (such as the one on the newly-redesigned Archangel) can reach incredible damage and penetration, often shooting all the way through enemy ships, wreaking havoc in their path. Long enough Railguns can even penetrate through enemy shields!

But very long Railguns aren't without their downsides. For every Accelerator that is added, the Railgun requires that much more power to shoot. Crew must deliver power to every Accelerator segment individually, and if a single Accelerator is out of power, then the entire Railgun can't shoot, meaning longer Railguns can have a lower rate of fire unless their crew are highly efficient at powering every Accelerator. Additionally, if any single piece of a Railgun is destroyed, then the whole thing chain-reacts and explodes, possibly causing collateral damage around the Loader if it is containing any shells at the time.

While Railguns are the major new feature in 0.14.1, there are also a ton of more minor improvements, bug fixes, and modding features, all of which you can read about in the changelog.

Friday, May 4, 2018

Cosmoteer 0.14.0 - Little Thrusters, Big Thrusters, and Engine Rooms, oh my!

Cosmoteer update 0.14.0 is out! This is the first update of the "0.14.x" series which will focus on adding a plethora of new ship parts to the game. 0.14.0, specifically, adds a handful of new thruster types and an Engine Room that buffs adjacent thrusters. It also makes some significant balance changes to thrusters in general and has a ton of other smaller improvements and fixes which you can read about in the changelog.

2-Way & 3-Way Small Thrusters

This update adds two new variants of the Small Thruster, a 2-directional variant and a 3-directional variant:


These thrusters occupy the same space as the regular Small Thruster but can thrust in 2 or 3 directions, with the downsides being they are proportionally more expensive (costing 1000 for the 2-way and 1500 for the 3-way) and only have capacity for one battery, meaning they can run out of power faster than the regular Small Thruster. Hopefully these new variants will help to make small, maneuverable ships easier to build.

Huge Thruster

Not to be left out, larger ships have also received a new thruster type just for them, the Huge Thruster:


The Huge Thruster is a 3x3 thruster that is more than twice as powerful as the 2x2 Large Thruster and is especially useful on giant capital ships.

(As experienced players may have noticed in the above screenshots, the nozzles of both the new and existing thrusters have received a nice aesthetic upgrade to make them more appear less "flat".)

Engine Room

The Engine Room is a new support system that isn't useful by itself but increased the power (both thrust and power consumption) of adjacent thrusters by 75%.



Because the Engine Room can be placed internally, it allows ships to exert more thrust in the same amount of perimeter area. And the more thrusters you can fit adjacent to it, the more cost-effective it becomes, creating some additional strategy when designing ships.

Thruster Balance Changes

In addition to the newly-added thrusters and Engine Room, all of the existing and new thrusters have received balance updates:

1. The force that a thruster can exert is now directly proportional to its cost. Since the Small Thruster's force is unchanged, that means that Standard Thruster has received a 50% buff, and the Large Thruster has received a 60% buff. The new Huge Thruster's force is also directly proportional to its cost. (Its cost is 10,000, giving a force 2.5 times that of the Large Thruster.)

2. None of the thruster can exert any "lateral" force anymore. (Previously, all thrusters could exert some amount of unrealistic "sideways" force.) This change was made to make the game simulation less "cheat-y" and more "authentic".

3. All thrusters (except the Small Thruster and its variants) now have a "ramp-up" time depending on the size of the thruster. The Standard Thruster takes 1 second to go from zero to full thrust, the Large Thruster takes 3 seconds, and the Huge Thruster takes 6 seconds. (There is also a "grace period" after a thruster turns off during which it can turn back on in much less time.) This change was done to make the choice of choosing which thrusters to use a more interesting one: if you want a very maneuverable ship that can respond quickly, use smaller thrusters; and if you want a fast ship, or you have a large ship that just needs a lot of thrust, go with the larger thrusters.

Friday, March 16, 2018

Cosmoteer 0.13.7 - New Multiplayer Modes, Ship Design Tools, and Balance Changes

Cosmoteer update 0.13.7 is now available! This update is pretty meaty, boasting a couple new multiplayer modes, a bunch of new ship design tools to make building ships easier than ever, and some experimental balance changes to missiles and point defenses.

The full changelog lists all of the details, including lots of bug fixes and other little improvements, but here are the big-ticket additions:

New Multiplayer Modes

This update adds two new multiplayer features that should hopefully make multiplayer games more fun!

First, there is now a "Free For All" mode in which up to 8 players fight to be the last player remaining. This is a more "casual", less competition-focused mode than the Team vs Team mode, which requires more setup and coordination between the teams.

Second, both the Free For All and Team vs Team modes now have a "Shrinking Ring of Death" option. Inspired by "Battle Royale" type games, this option causes the Ring of Death (outside of which ships rapidly take damage)  to slowly shrink over the course of the match. This option is especially important for Free For All games, because it forces players to engage with other players instead of just holding back and waiting for the other players to weaken each other.


New Ship Design Tools

The ship designer has also received a bunch of new features in this update, including improvements to Mirror Mode and a variety of new "part brushes".

For a long time now, Cosmoteer has had a "Mirror Mode", which when turned on mirrors any changes you make across your ship's vertical "centerline" from its left side to its right side or vice-versa. However, this mode had a couple major limitations, which were that you could not move the location of the centerline (it was always exactly at the center of your ship) and that there was no way to mirror from the top of your ship to the bottom of your ship. Both of these limitations have been rectified in this latest update: You can now turn on a "horizontal centerline" instead of or in addition to the vertical centerline, and you can also click-and-drag "handles" on the ends of the centerlines to customize their locations.


Additionally, the ship designer now has a variety of new "part brushes" that can be used when any 1x1-square part is selected. These brushes are inspired by drawing programs like Photoshop and can be used to rapidly "draw" large numbers of parts in various shapes. The available brushes include block brushes up to 10x10 in size, basic shapes (line, box, oval, and triangle), and the frequently-requested "flood fill" (paint bucket) that fills in contiguous areas.


All of these new tools are available in both Build (floorplan) and Paint modes.

Missile & Point Defense Balance Changes

The balance between missiles and point defenses in this update has received a big balance overhaul. In short, both missiles and point defenses have been nerfed: Missile damage has been cut in half, and point defenses are now much less effective at shooting down missiles.

This change comes not without controversy, and I even consider it to be somewhat experimental. However, this change was done to solve a problem that was making Cosmoteer less fun. Specifically, the problem was that missiles were an extremely "binary" weapon, meaning that missiles were either over-powered if the enemy didn't have enough point defenses, or near-useless if the enemy had a decent amount of point defenses. This made ship design less interesting and many battles won-or-lost before the battle even began. While some rock-paper-scissors balance is definitely a good thing, this was too extreme for a game like Cosmoteer that is all about designing varied and interesting ships. And so the nerf to missiles means that they are less over-powered if the enemy doesn't have point defenses, and the nerf to point defenses mean that missiles aren't useless unless the enemy has an extreme number of point defenses.

The major downside I can see with this change is that it likely makes "kiters" (very fast ships armed primarily with missiles that try to stay out of the enemy's shooting range) significantly stronger. Whether they are now too strong remains to be seen.

Again, these balance changes are experimental, and this balance is likely to change more in the future.

Monday, February 19, 2018

Cosmoteer 0.13.6 - Explosive Charges, Multiplayer A.I., and more!

Cosmoteer 0.13.6 was released today! This update has a ton of small-to-medium sized features and improvements. Here are some of the most notable:

Explosive Charges

For a while now, Cosmoteer has supported a feature allowing you to self-destruct literally any module on your ship at any time. To be honest, I've always thought this was pretty strange, and in multiplayer it's especially exploitable. So I decided to remove arbitrary self-destruct of individual modules. However, players were using the self-destruct to execute some pretty creative strategies (such as splitting ships into multiple distinct ships), and I didn't want to lose those creative strategies altogether -- I just wanted a way to balance them and make them feel less strange.

Thus, the Explosive Charge was born! The Explosive Charge is a new 1x1 module that can be manually detonated by the player, destroying itself and almost everything else within a small radius around it:


While fairly cheap, the Explosive Charge is still much more expensive than a single structure tile (which is what players would usually use to self-destruct in previous versions) and so you must balance its cost against other modules. Additionally, since the Explosive Charge will also destroy almost everything else around it, you'll need to position it carefully to make sure that its explosion won't damage other important parts of your ship.

A.I. Player in Multiplayer Games

In order to round-out uneven teams in multiplayer or play co-op against the computer, the host of a multiplayer game can now add A.I. players.


These are just like regular players, except that their ships are controlled by the computer. The host is able to select the difficulty level of the A.I. and what ships it will use.

Multiplayer Quality-of-Life Improvements

This update also has a plethora of quality-of-life improvements to make multiplayer more playable and stable.

First of all, the networking code has been significantly optimized and should now have fewer disconnects, fewer server crashes, lower latency, and use less bandwidth. That's a win all-around!

Second, the lobby screen has been revamped to show the details of the selected game, so that you know what kind of game you're joining before you hop in:


Notice that there's also a little latency meter displayed for every game that should give you a rough indication of how laggy the game will be.

Third, due to past problems with spam, this update now limits chat messages in the public lobby to 5 every 50 seconds. You can also mute individual players and ban them altogether from joining your games.

Lastly, this update adds a toggle to the in-game chat that lets you send messages that can be seen by only your teammates, so you can strategize without informing the enemy of your plans!

And More!

This update has a ton more improvements and bug fixes. Check out the full changelog for all the details!

Saturday, January 27, 2018

Cosmoteer 0.13.5 - Improved Multiplayer Stability

Cosmoteer 0.13.5 has been released! This is a minor update that should significantly improve the stability of multiplayer games and also fixes a handful of other bugs. Enjoy!

Sunday, January 21, 2018

Cosmoteer 0.13.4 - Online Multiplayer

Cosmoteer 0.13.4 has been released! The new-and-notable improvements are online multiplayer, increased weapon range, and better ship flight A.I.

Online Multiplayer

Until now, to play multiplayer with someone else you had to either be on the same Local Area Network as them, or send them your I.P. address and have them join your game. This made playing with other people online problematic because the host had to first setup port forwarding on their router (which can be a little complicated for someone who hasn't done it before) and then send everyone else their I.P. address (which can be potentially risky).

But now 0.13.4 adds "online multiplayer", which allows players to play with others online without having to share their I.P. addresses or setup port forwarding. This works thanks to what's called the "Cosmoteer Lobby Server" (or CosmoServer for short), which is a little program that players can connect to and join an online "lobby" where they can then host games and play with anyone else in that lobby, just as if they were on the same LAN. There's currently one official server called "Official U.S. East" (located in New York, NY, USA), but you can also run your own server if you want.


Unlike the servers for most other games, CosmoServer does not actually run any gameplay logic; it merely acts as a communication relay between all the connected players, letting the players themselves run the gameplay logic. The advantages of this approach are that it uses far less CPU than a conventional game server, and even more importantly, it is fully compatible with all mods. (Individual players playing games together must still have the same mods, but those mods do not need to be installed on the server.) The primary disadvantage is that it increases latency (not a huge deal in an RTS-style game like Cosmoteer). And if you know anything about multiplayer game programming, you may think that not running gameplay logic on the server would expose the game to cheating, but this is actually not true thanks to its deterministic lock-step multiplayer implementation.

Increased Weapon Range

Cosmoteer is a game about building pretty much any kind of starship you want, from tiny fighters to huge motherships or anywhere in between. This is great for player creativity, but it turns out to be really hard to design gameplay mechanics that work well for ships of any size. In fact, the single biggest challenge when designing Cosmoteer is figuring out how to deal with the sheer differences in scale between ships.

One of the ways in which scale can be a prickly challenge is when choosing the "range" for each weapon (how far it can shoot). The goal is to pick a range that is close enough so that two ships fighting can both be seen on the screen at the same time (without zooming so far out that you can't tell what's going on) while not so close that it feels like the ships are sumo-wrestling. The big problem here is that the ideal range for small ships is much closer than the ideal range for large ships.

Until now, Cosmoteer has leaned towards picking weapon ranges that are ideal for small ships because that made the game more understandable for new players, but that of course meant that large ships would tend to fight more closely than felt comfortable or intuitive.

But the 0.13.4 update changes that in a way that makes combat between large ships happen at a more ideal range, while still keeping combat between small ships relatively close. This change has two parts:

  1. The range of all weapons has been increased, most by about 50% (the missile launcher being the most notable exception that got a much smaller buff). These increases makes large capital ships choose longer default attack distances.
  2. The range at which a ship will choose to attack (the default attack distance when given an order by the player, and the attack distance when chosen by the A.I.) now depends on the size of the target, such that a closer range will be chosen when attacking smaller targets and a longer range will be chosen when attacking larger targets. This means that two small fighter-sized ships attacking each other will still engage at relatively close range, while two capital ships fighting each other will stand off at longer range. (And if a small, fast ship is attacking a large, slow ship, then the small ship will try to stay at a longer range than the large ship wants, which could give the smaller ship more of an advantage so long as it is fast enough to stay away from the big ship.)
Better Ship Flight A.I.

The last change I want to mention in this post is that the flight A.I. for ships has been improved in several different ways that when combine together should make ships less "dumb" and annoying:
  1. The collision avoidance algorithm has been overhauled (again) to fix a bunch of problems it had when detecting potential collisions and evading them.
  2. When a ship is commanded to attack an enemy from a specific angle, the ship will now approach the enemy straight-on until it reaches attack range and only then attempt to move to the correct angle. This change prevents ships from entering combat facing the wrong direction, which was frustrating for many players.
  3. Lastly, the thruster calculation algorithm now prioritizes lateral thrust 50% more than it does forward/reverse thrust, meaning that ships will now try to eliminate most lateral motion before thrusting forward towards their intended destination. This has the practical effect of preventing most cases where ships would "orbit" around their destination without ever actually arriving at it.

Saturday, January 6, 2018

Cosmoteer 0.13.3 - Bug fixes & restored mod compatibility

Cosmoteer 0.13.3 has been released! When I released 0.13.2, I made a mistake which made many existing mods incompatible with Cosmoteer, much to everyone's dismay. This update restores compatibility with those mods and also fixes a handful of bugs.

Wednesday, January 3, 2018

Cosmoteer 0.13.2 - Miscellaneous Improvements

Cosmoteer 0.13.2 has been released! This is a relatively minor update that fixes bugs, reduces RAM usage, and adds some quality-of-life improvements and modding tools.

The reduction in RAM (and VRAM) usage is largely because Cosmoteer now uses "texture compression" to reduce the size of almost all of the graphics textures by 75%. This saves a couple hundred MB of RAM in the vanilla game, and it makes an enormous impact for some mods: "Abh Mod" for example has gone from using more than 4 GB of ram to around 1.2 GB of RAM.

Most games use texture compression and package already-compressed textures as part of the game installation. But Cosmoteer is a bit different in that it compresses textures on the fly from the raw PNG files during loading. It does this primarily to keep the game very easy to mod (most paint programs are unable to save textures using GPU-compatible texture compression formats, and none can generate the texture atlases that Cosmoteer uses for its ship graphics). The downside is that it takes much longer to compress a texture than it does to load an uncompressed texture, and so after compressing a texture for the first time, Cosmoteer caches the compressed texture on your hard drive and only re-compresses it if the original PNG file has changed.

This update also adds a "Developer Mode" to Cosmoteer, which makes available a number of development tools and features that should hopefully make mods easier and more convenient to create. These tools include a particle effect editor, a planet editor, and the ability to "cheat" by giving yourself money and fuel.