Sunday, July 10, 2016

Cosmoteer 0.9.4 - Copy & Paste

Today I released Cosmoteer 0.9.4. This is a release light on exciting new gameplay, but it still contains one very useful feature that's worth a blog post:

Copy & Paste

I'm generally very happy with how intuitive ship design has become. When I watch new players play the game, rarely do they have much trouble figuring out how to modify and expand their ship, thanks to many iterations and improvements to the user interface

But many players, myself included, found the process of designing larger ships (especially in Creative Mode) with repeated sections (possibly rotated and/or flipped) to be very tedious, since every part on the ship had to be added individually, even if a whole section of the ship was merely a copy of another section.

Let's say that you want to build a symmetrical ship with a center fuselage and mirrored wings on each side. So you start by designing the center fuselage and one of the wings. Prior to this release, you'd have to manually design the other wing as well, being very careful to exactly mirror the original wing. But now, you can use the new "copy and paste" tool, first selecting all the parts on the left wing...


... then clicking the "copy" button (ctrl-c works, too), followed by the "paste" (ctrl-v) button, which will load the copied parts as blueprints on your mouse cursor. Once in paste mode, you can choose to rotate and/or flip the blueprints before pasting them onto your ship...


... and then you simply click to add those parts to your ship, giving us the final result:


I'm very hopeful that this will make designing large, interesting ships much easier. Indeed, I can already find myself being more creative in my own ship designs, knowing that I won't have to duplicate any designs that I want to repeat elsewhere. (It's also worth noting that the copy & paste tool can be used to copy between ships as well.)

While this may seem like a pretty basic feature, it was actually a very serious technical undertaking to get this working. Ever since I (re)introduced the now-default "live design" mode, I've had code logic to determine whether adding a single part to a particular location was legal, but there was no code to determine whether adding multiple parts in arbitrary locations was legal, which is a far harder problem to solve, because some of those new parts may only be legal because of other parts that are also being added or may be illegal because of other added parts.

No comments:

Post a Comment