The wall system in SkyCruise has always been pretty bad. The grid that walls are placed on was much larger than the grid that props are placed on, which meant that you had little to no control how big your rooms are. The default room size felt too big for a standard cabin, but was just too small for a double cabin, so all of the rooms felt kind of awkward.
So this month we’ve been reworking the wall system from the ground up to support more interesting ship designs, simpler placement and better scope for things like doors and walls.
To start with, I rethought how walls are placed. Instead of placing sections of wall one by one, you just click and drag from A to B to make a wall. You won’t be able to create walls through props, but you can create walls through other walls, meaning you can make a 4 way wall section with just two walls.
The new system works by automatically generating sections of wall from the two points you specify. Each of these wall sections are the size of the standard grid, which means that our new door and wall system now supports smaller, more sensibly sized cutouts.
The height of the new walls is smaller than the previous wall, so to match we’ve rescaled pretty much everything in the game. Passengers are roughly 17% smaller, and every prop has been rescaled to fit. Several props have been rescaled more extensively, most importantly the toilet cubicle which used to take up 6 grid tiles now only takes up 1 and a half.
Some testers last month struggled to understand all of the aspects of the room system, mainly the various requirements for each room. Burying important stuff like this in text is always risky, a lot of players (myself included) skim over text. To solve this I’ve been reworking some of the UI elements involved with the system to better communicate what people need to know.
Another issue brought up was how cumbersome it was to setup a room, having to drag out a shape inside a partially obscured room was more annoying than I expected. Thanks to some of the new wall stuff mentioned above, I was able to implement a flood fill system that automatically fills in a room shape.
A pleasant side effect of this is that rooms will now work in non-square shapes, so you can now make rooms with angled wall sections and non rectangle shapes.
An area I’ve been meaning to look at for a while is the Luxury system, specifically how uninteresting it is to build with. Most passengers were perfectly happy with the occasional pot plant, which meant adding in more advanced luxury stuff, like fancy paints and props like fireplaces and paintings, felt useless. To solve this, rooms now have a Luxury requirement level that must be met before the room is valid. Many props now have a luxury level (listed alongside their weight/power/etc.) and the room will add up the luxury of each prop inside it.
This means that while a dormitory only requires a luxury of 1 (so a single pot plant will cover it) a premium cabin has a required level of 10, and you’ll need to invest in windows, couches and art to make the room fit.
Paints are also counted towards a room’s luxury level, so you can fully paint your rooms to get a nice boost.
In order to cut down on the amount of mesh in the background, I’ve implemented a curved system that curves the background world around the ships location. It could still use some polish, but I’m pretty happy with how it came out. It also lets me cut down on the amount of background props by about 30-50% per backdrop type (City, Grass, etc) since the curve occludes distant objects.