This week has seen a lot of progress as parts of the game that have been in the making started to come together. We had improvements to our movement system, UI, implementation of the defense system, multi-ship fleets and new paint jobs.
In our previous movement build we had the ability to select a ship, drag a ghostly projection where you want your ship to go. Unfortunately, there was no restriction implemented yet to where you could fly in a given turn. This week we added movement cones, that expand ahead of your ships, constraining your new position to the volume inside. When you try to drag the projection outside the reachable area the ship stops at the edge and can be picked up and adjusted again. In addition, while adjusting the projection, the player has 3 sliders onscreen to make fine adjustments to pitch, yaw and roll.
Previously, our UI flow has been that the designer creates guides and mockups and the programmers implement them. This week the UI designer learned how to put screens and buttons into Unity himself and the programmers hooked up scripts to them afterwards. This way, the programmers could spend more of their time building and debugging and the designer could make sure things looked just right.
Our new UI uses Unity’s animator system to make buttons flash when pressed and grey out when not selectable which is important to let players know which actions they can and can’t take in their current situation. We also added a more consistent layout. The top color bar lets players know whether they are in movement phase or action phase and whose turn it is. Below that is always instruction text for the player’s current situation.
We also added mode select buttons at the bottom edge of the screen. During the action phase, whether it’s your turn or not you can switch between viewing the action menu, the AR view and your ship’s status readout (which shows your health, shields and cargo hold).
Another nice usability fix is the addition of faction logos on the ground plane beneath the ships. These are connected to the ship with a visible vertical line, making it easier to find and identify your own ships in the space.
We now have the “defend” action in the game. This raises your ship’s shields to protect your ship from attack. Each ship has different angles of shield coverage and different shield strengths. Any incoming shot that hits the shield panels deals damage to a separate shield health bar instead of the ship. Once shields are depleted you can take an action to raise them again.
Since shields are activated from the action menu, we added a popup to give players feedback when their shields activate. We used the same template to add popups when cargo is gathered.
Previously, we had a map with several planets and space stations with asteroids scattered all between on a horizontal plane. We revisited this with an eye toward encouraging good player vs. player moments. Our new map puts a planet in the center, surrounded by 4 loops of asteroids equidistant between the player starting points, with a space station at the outer edge of each loop. We also redesigned the asteroid models to look like they were laced with shining gold.
Maybe the biggest change is something we’ve been planning for a long time and only now have brought into the game. Each player now controls a fleet of three ships. During the movement phase you can project the courses of your ships in any order, then see them all fly at once. In the action phase players first select the ship then choose an action for it to complete. Play passes back and forth between players until each ship has taken 1 action, then players go back to the movement phase.
6 ship designs in the game
New paint jobs
The 6 ships that we’ve been designing are now in the game. To accomplish this, we created a better pipeline. The designers balance the ships’ qualities, stats and arcs in an excel spreadsheet, which exports a data file of all the variables for Unity to read.
We also designed the ships and textures to get a lot out of a few assets. Each ship is built from standardized modules like engines and cargo pods plus hull pieces. These were all designed using a standardized multipurpose texture. For our MVP we simply put colored stripes on this texture and used the non-colored version as a specular map. This worked well, but we got feedback that the ships didn’t look different enough from each other and we also felt that they looked a little too “factory standard”.
This week, we designed faction-specific paint jobs for the ships. This was difficult because the UV maps were already set and we didn’t have time to iterate on them. Once the textures were painted though, they were very painless to implement. Because all parts of the ships were mapped to a standard texture layout and because the prefabs were set up in Unity with a material for each faction, we were able to apply the new paint jobs simply by loading the new images into the materials, without touching the models or UV maps.