Thursday, January 16, 2014

Games as Waffles

Waffles. Syrup delivery platforms. Tasteless but readily supports a whole stick of butter.

Okay, I'm being silly, but I thought I'd talk a little bit about games as content delivery platforms rather than as games.

Many games - including some really good ones - have basically no gameplay. Instead, the game simply offers context and pacing for the content of the game. For example, Gone Home has no gameplay in it worth mentioning. Most AAA games these days don't have open gameplay, but a very closed, gated, linear gameplay that offers the player no real freedom and requires no real skill. These games instead focus on giving you art, sound, music, dialog, mood...

And I think that's okay.

Even in games where the gameplay reigns supreme, there's a lot to be said for giving context and form to the art half of the experience.

For example, in Kerbal the game is definitely about building rockets. The physics limitations are the most interesting part of the game. But even then, the artistic side of the experience is enabled and highlighted by the gameplay. The epic scene of a sun setting behind a distant planet, the heavy feeling of separating stages, the raw fire of re-entry, the delicate bounce of a ship landing, and of course the visual appearance of the ship. It's difficult to separate it into "this is gameplay, that is aesthetics" because the two end up bound so tightly.

It's easy to look at a first person shooter and talk about what is aesthetics. Music, textures, level models, lighting... most of the things we would talk about have little direct connection to gameplay. There are things like shot sounds that are linked to gameplay, but they are still distinct from gameplay. This makes it easy to separate the two elements, and that makes it easy to use the gameplay to gate the art and visa-versa.

But in a constructive game, the aesthetics are much more tightly bound because the player is the one building the things they see. Moreover, the weight of context is very heavy. The more someone plays, the more refined their aesthetic sense becomes in regards to the aesthetics of the game.

For example, I built a very cool-looking rocket in Kerbal yesterday. To people who have not played much Kerbal, it would look amazing. But to anyone who's played a lot of Kerbal, they would sigh about how overbuilt it was. The day before that, I built the opposite kind of rocket: it looks dull to the average person, but to someone who's played a lot of Kerbal it looks very elegant and interesting because of its ground-docking function.

Of course, not all of Kerbal's aesthetics are rocket-based. No matter how long you've been playing Kerbal, shots of the natural beauty of Kerbin's star system are equally appealing. It's only the aesthetics related to the mechanic that are complex and generative.

Moreover, the aesthetics of Kerbal's rockets are fundamental to the mechanics of Kerbal. Even if you download a lot of other part packs, the fundamental visual pattern remains more or less the same. The only time the rockets begin to really feel different is when you download elements that change the fundamental layout of the rocket, such as downloading cargo bays.

I began to think: what if you make a construction game like Kerbal, where you construct a physics-limited device of some kind... but the construction engine was calibrated and engineered to give a specific kind of beautiful aesthetic? What if I took inspiration from the coolest looks Kerbal could give, and used that to create a new construction game?

The challenge here is that the construction would have to naturally give rise to this kind of beauty. Unlike many of the most modern games with starship creation, we're not choosing elements that look cool because we think they look cool. Instead, the fundamental gameplay will naturally give rise to something that looks cool.

What looks cool? Well, here's some samples. There's a lot of variation to show the kinds of things I'm talking about.

The first thing to notice is that STUFF is important. The only thing all of those devices have in common is that their surfaces are broken up by things, rather than simply being a centralized chain of major shapes. In some cases the stuff is quite minor, just the remnants of a separation stage or the texture built into the core shape. However, sometimes the stuff is extravagant. Either way, "stuff" is worth considering in detail. For example, can you put surface junk on top of other surface junk, or can you only put surface junk on top of core shapes? Kerbal only does the latter, but there's nothing stopping us from doing the former in a new game.

The second thing I notice is that the core shape is always interestingly lumpy, and usually in a fairly graceful manner. So I'm thinking a graceful, lumpy core shape covered in stuff.

The third thing I notice is contrast. This isn't a pile of gray on gray. The patterns of light and dark are pretty punchy, and I think that's important. Far more important than the colors involved. Not only does the stuff contrast with the surface tone, but the surfaces are frequently striped. In fact, whenever I identify something I think is ugly, it's almost always because the shade is too uniform!

This really shines when using concave shapes such as landing bays, where the interior of the ship is shown (see the LLL Sundiver image). I think this is because I always light concave areas, so the shading of the interior devices naturally forms stripes, pools, and bars.

In addition to simple light-dark contrast, there's also contrast between "empty" and "crowded" space. Nearly all of the ships have simple areas and complex areas, spindly areas and heavy areas. We don't want the ship entirely covered in high-density cruft, but instead we would prefer to have high and low density regions. Interiors can really shine here, because at range they can be closed and therefore be low-density, but as you zoom in they can open and reveal a new high-density region even as the zooming itself turns the previous high-density regions into low-density regions.

Lastly, almost without needing mention, symmetry.

So, when we build something, we want:

A graceful but lumpy "core body", with tapering or rounded size transitions and nacelles. These elements should have some low-grade stripes to give them a bit of texture. The stripes should be horizontal (that is, around the 'waist' of the body) since most attachments will run vertically.

A set of "extension wings" that can gracefully extend a considerable distance, for mounting solar panels or landing legs or whatever. Not intended to connect two core body elements. Some might be static, some might have joints, and some might extend or untwist.

Attachments, many of which should run a considerable distance along the body, or connect two body elements. Attachments can have different modes that change how they look, such as radio dishes unfolding. Rather than sticking solely to Kerbal functions, attachments should be a more core part of the experience - for example, running pipes along the body should be very common, along with things like processing nodes stapled to the outside. Much of the functionality of the ship should pass through attachments.

Interior spaces that can be filled with a lot of small tubes or the like. This can be as simple as interior space variants of exterior piping and modules, but it would make sense for many modules to be "summaries" of interiors. For example, a "battery" core body element is full of individual battery modules, and the player would stuff as many in as they wanted, trading off for things like safety, weight, backups, repair access, and so on.

Because of the nature of interior spaces, while exterior spaces are radial it makes more sense for interior spaces to be symmetric across only one axis. The reason for this is that bay doors make radial symmetry extremely annoying. Let me explain.

If you want a bay full of sleeper pods, if the bay is flat you can store the sleeper pods by butting the foot of them against the wall and pointing the heads towards the center. You end up with a striped "ribcage" of pods. It looks great and it's easy to understand. You can also store them running along the axis, creating a sort of "pinstripes" situation, which also looks great and is easy to understand. The bay door opens, you see the pods. This works because you have a static set of walls that you can work against.

But if you have a radial setup, there's no "base" to attach to. The walls are the parts that open. If you attach the pods to the walls, then when you open a bay door you either see the backs of the pods, or you actually yank the pods out of the bay and leave them attached to the doors. In order to get a radial bay to work, you need a central column of stuff that doesn't attach to the walls, and that wastes a lot of space and makes no structural sense. It also lights badly and doesn't look as sharp.

Well, there is one more option - force the player to attach to the parts of the bay that aren't doors. However, this is very difficult to manage both in terms of the player sticking things in and making it turn out beautiful when she's done.

The best option for interior spaces is linear symmetry, which does mean some wasted space. However, this can be okay because space doesn't have to be a critical factor. If the real constraints are weight and complexity rather than space, it's okay if interior spaces waste some space. Also, it could lead to interesting setups like a cargo bay actually being three linear-symmetry cargo bays arranged in radial symmetry, which would look neat!

Anyway, that's my thinking on the matter.


Scorpio said...

Great post on game design! I have to agree that visuals play a big role in immersion and that in turn reflects on the quality of the experience. I'd debate the weight of arts in the grand scheme of things tho. As much as it is fun to see AAA CG It's my opinion that the industry nowadays has forgotten that gameplay should be about.. well... playing. You mentioned games being linear and I agree. It would seem that art has taken precedence over the substance of gaming and turned most modern games into a "null skill interactive movie". Think about the most popular FPS series out there. If one were to strip the high vertices (pun intended) count to the level of what it was when say the second of third installment was the most current we'd notice a stagnation in gameplay mechanics. To make things worse that is the best case scenario. Dollars to donuts we'd see a decline in level complexity and the options available to the player when tackling certain situations.

I've discussed this issue with a number of people trying to figure out why it's being done that way and the only sane reason we've found each time is that the CEOs think gamers are more and more brain-dead. Sure, one might argue that giving the player more of the aforementioned would cost more - very true - yet it would boost the quality and (if done well) also add immensely to the replay value. It is my opinion that is a mainstream company can't do it right they should not be doing it at all because if it was possible and has been done in games targeted at the 400MHz CPU it surely can be done now with the strides that were made to ensure that gamdev is more fun less pain. I dunno about You - reader/gamer/dev but I'd rather play a game with 16x16 visuals but offering depth and meaningful choices than a guided tour of just how many polygons my GPU can handle. More often then not one that is refusing to push back when shoved. I ask you all: Where is the sense of accomplishment in taking a kids lunch? Sure, a challenging game can be frustrating at times but the warm fuzzy feeling of conquering that obstacle is well worth it in my humble opinion. That goes for both making games and playing them regardless of your skill level. Too hard? Start small. The "Insane" difficulty was never meant for newcomers. You gotta earn your wings.

As far as the kerbal lean vs mean design goes it's all a matter of why you choose to play. A V12 engine sounds sweet but don't expect it to run on a drop.

Cheers and happy coding/gaming.

Craig Perko said...

I'm exploring some areas further afield from my standard approach.

The thing is, I don't think the art half of the game has to take away from the gameplay, or visa-versa.

Scorpio said...

If I had a say in the matter I'd vote for finishing the mech game you posted a series on. I'm exploring a few options on how to fix the performance drop since unity update right now. It's been very helpful to see your approach to terrain generation (there are a few minecraft starter packs floating about but most of them are extremely cluttered). I'd say it's still worth the effort to finish.