Today we’re going to get a look at another region of the world: snowy Firnfeld, long known to residents of Burren as simply “The Frozen North.”
The world has changed since the years of war, and as the skies darkened and the climate grew colder, the polar ice cap expanded and descended to cover over what once was a temperate region in the old world with permafrost and snow, burying its cities and their secrets and driving out all but the most hardened survivors.
There’s a map floating around that some enterprising ludic cartographer made showing the comparative sizes of a few particularly expansive game worlds. You may have seen it — it ranges all the way from Grand Theft Auto III at about three square miles to Elder Scrolls II: Daggerfall at 62,394 square miles. That’s a lotta land.
I’ll hold off on revealing precise figures just now, but let’s just say that on that list, the map of Guns of Icarus Online should fall somewhere in between Fuel and Guild Wars: Nightfall, which is a pretty sizable chunk of real estate.
We’ve always thought of Guns of Icarus as connected with big, dramatic panoramas of sky. Spectacular sunsets and rises, towering thunderstorms, mountainous ranges of puffy white beneath a noon sun, that sort of thing. I’ve been working recently on some things to populate our big empty expanses of 3D sky: clouds.
There are two competing goals here: first, to make our clouds look awesome, which means spending graphical resources, and in particular integrating with our lighting system. At the same time, I had to do this without slowing the display on user machines to a crawl. Simple particle systems fail both of these tests: the options for rendering are limited, and they become extremely fill-rate hungry when you layer them thickly enough to look good.
Some (okay, a lot) of shader experiments and procedural mesh manipulation code later, and I think we’ve got something pretty cool. Here’s the same scene three times, lit by a single directional light that’s been rotated to different angles.
There are a couple of technical tricks going on here that help performance a lot. Though similar to particle systems, in that these are flat meshes oriented towards the camera, the thick central portions of the mesh are fully opaque and participate in depth testing, which cuts down significantly on fill-rate usage. Also, we can do most of our lighting per-vertex, and it looks just fine – for big soft clouds, we’ve found that high-detail lighting actually looks worse, because it destroys the illusion of a mass of vapor.
Unity’s standard lighting model actually gives you quite a lot per-vertex, basically for free. The combination of multiple vertex lights per pass with spherical harmonics for very distant lights allows us to add lights almost freely so long as we’re willing to accept that they are low detail. For fast, flickering lights (explosions, thunderbolts, fires), this seems like a win-win situation!
The cloud particles are positioned procedurally (just random distribution), but within volumes that are defined (by boxes, nothing too fancy) within the Unity editor. This allows us to shape the cloud volumes, an important factor if we want to use these as level geometry, with players flying in and out of them for cover. Which is, of course, the plan.
These static images are well and good, but let me leave you with a better demonstration of just how well this system interacts with real-time lighting. This is the result of a simple script that spawns randomly positioned, short-lived point lights.
The world of Guns of Icarus is in an interesting place, historically speaking — a grand civilization devastated by relentless war and sunk into a post-apocalyptic ruin, so much progress and knowledge and technology lost, the people who remained scrabbling and struggling and surviving, barely.
But that’s not where we enter this world. We enter it later, as the tides are changing and something new is shifting beneath the surface of the restless sands. As more and more airships are built in makeshift dockyards in villages scattered across the Burren, as young men and women leave their homes and take to the skies to crew them, traders and adventurers and daredevils and visionaries, a new class is arising, with the potential to change the world. Airship captains and their crew are the new knights errant, the new merchant class, explorers and ambassadors and warriors. As trade routes open and formerly isolated communities come into contact with the wider world for the first time, a seismic shift is underway, and nothing can stay the same. Not that it will be easy. Not that it will be peaceful. Not that anyone knows what it will be like.
Because in the multiplayer campaign mode, those new adventurers changing the world are you, and we don’t know what you’ll do.