Hat tip to @jwz here. The technical name for these is apparently Image-to-Image Translation with Conditional Adversarial Nets. Here’s a link to a (currently) working interactive toy. It takes a simple drawing and turns it into a rendered nightmare.


Well, that wasn’t too bad, if you don’t look hard at the eyes.  Can it handle blonde hair?


Nnnnnno, I wouldn’t say it can.  OK, got it, dark hair. Maybe a more cartoony image would look better.


Well, maybe we should play to this thing’s strengths.  If I draw a monster, it should produce a monster, right?


I dunno, it kind of turned into Orc Gary. I wonder if I could import him into Skyrim.

So, who’ll be first to produce a graphic novel with this thing?

I have a couple of side projects besides all of the India.  One is Ticai, the game I started working on a few years ago. Here’s what it looks like today.


You can compare this to the last look from… gulp… three years ago here. What’s changed?  A bunch of things:

  • A better skybox, rather than featureless blue.  Still needs to be redone, but at least I know how now.
  • Even more buildings, including the nice round temple on the left.
  •  The cobblestones are bump-mapped, so they don’t quite look like a flat texture slapped down on a flat surface.
  • Previously the streets were modular; I figured it would be easier for Unity to render them if there was only one copy of each unit.  Then I realized that the entire street grid has fewer polygons than a single human model. So now the whole grid is one model. This cleared up a lot of little alignment problems and makes the streets look better. It also allowed me to do things like put the tower on the right on a little hill.
  • The camera stays closer to Ticai. This makes it harder (though not impossible) to see through walls and such, which helps out a lot in some of the smaller spaces.

Unity has been upgraded to version 5.4, which broke a few things.  Most are fixed, but something has changed about the lighting which I haven’t figured out.  Ticai’s clothes don’t look smooth, nor does the round temple.  Unity used to correct for that, and I don’t know how to fix it yet.

There were some major bits of the city that weren’t done yet.  There is a whole underground that was only mocked up; it’s all finished now. I also added an alchemist’s shop:


I like the various jars and things. There’s even a microscope!   Not shown: the alchemist has a rather pretty globe of Almea.

I’m convinced that one reason games are so often late and buggy is that the developers spend half their time redoing things.  You make something quickish just to get it working (possibly learning how to do it at the same time). Then you learn how to do things better, get dissatisfied with what you did, rip it out and redo it.  For instance, Ticai’s feet:


I half-assed her feet the first time… I figured I could suggest her toes using the texture, and it looks bad.  Finally I redid the toes, separating them in the model.  Plus I redid the ankles. Also her eyes: she has eyelids now, and blinks.  Her face still looks kind of weird, though, so I’ll have to work on that.

(The four toes are not a way of saving work: Ticai is Almean, so she really does have just four toes.)

I put the project aside before mostly because I was hung up on the writing side. The game is supposed to be a set of interlocked mysteries, which Ticai solves by running around and talking to people.  I want a really complex conversational engine, where you don’t have four options to choose from, but a hundred or more.  But of course that means a lot of writing, and even more testing, and I haven’t found a way to keep the amount of work under control.

The other project is a new conlang, something at least two or three of you have been waiting for patiently for years.  It’s Hanying, one of the language of the Incatena— in fact, the language of Areopolis, more or less Morgan’s native language.  I said it was “in origin a Chinese-English creole”, and it was… for the first half-century or so of its existence.  But it will be much weirder than that.  E.g., it suffered a series of phonological adaptations to new speakers twice, and it went through both some relexification and decreolization.  By the time it’s done I hope it really looks like something that survived a thousand years of change.

I’ve got back into making model after model in Blender– current count is 140.  When we last looked in on Ticai, the game looked like this.  Now it looks like this:

Ticai contemplates encroaching urbanization

Ticai contemplates encroaching urbanization

Now I know why, in a game, you’ll often be right next to interesting-looking spaces you can’t get to. Why can’t I go over and explore it?

A game level, conceptually speaking, works like this:


There’s a very detailed area where the player can explore. Here you’ll get real doorknobs and window frames and pipes, 3-d trees, and all the hidden triggers that make the level work, like working doors and ladders.

Just outside it is areas you can see into, but can’t get to. Because they’re close, they have to be pretty well rendered, though of course nothing will be interactive.

Outside that is a land of increasing fakery. Here the architectural details are likely to be part of the texture, and for any object, only the sides facing the player need to exist. Even farther out, you get the skybox. In Hammer you can have objects there, coarsely modeled, so you can see far into the distance. At this point you model a tree by pasting a picture of a tree on a transparent quad, and far details like clouds may also be 2-d pictures.

You can’t get into those nice nearby areas because it’d get too close to the fakery zone, and the illusion would be spoiled. The level designer may need to put a lot of work into inaccessible areas, but they’ll only work enough to make it look good from the accessible one.

(This applies to Valve games, as well as games like Dishonored, Mirror’s Edge, Bioshock, Mass Effect, and Dragon Age. It doesn’t entirely apply to open worlds like Skyrim or Saints Row or Arkham City, which have to use different methods to manage the huge maps– though note that interiors still involve a level change. Unity allows huge maps, but I don’t have a development team to fill them!)

Here’s what the city looks like in the editor:

What you'd see with a rocket jump

What you’d see with a rocket jump

Ticai can wander just the four city blocks in the middle of the picture. You can see that the modeling gets simpler outside this region, and even within it there’s some fakery– e.g. there’s no need to create roofs for buildings if there’s nowhere she can get high enough to see them.

You can see the map of the Nezi neighborhood, which I’m using for reference. Just to make those four accessible blocks, I’ve had to model about a third of the neighborhood, and I’m not done yet.

Here’s the mansion of the local aristocrats:

And that's just one wing

And that’s just one wing

I just redid the mansion this week– before the façade was basically a box with nice windows. You can also see a tree– Unity has a tree creator, which is good, because foliage is awful to model.

See the big white cubes in the city map?  Those are placeholders… maybe I can go model something to replace them with right now…

One reason games take so long… you keep re-implementing stuff, as you learn how to do things and your standards improve. Case in point: hands.


When I first modeled the hands (on the left), I knew the modeling wasn’t good, but I was happy just to have hands. But for some reason I decided to redo them, and I’m absurdly happy that they look much better. As so often, the key is to have a good reference. The first time I was following a drawing of the whole figure; this time I used a reference illustration of just hands.  I also drew a better texture.

Plus, a technical Blender thing: in both cases, I made the fingers by extruding a square from the palm.  But this time I extruded non-adjacent squares.  That left a gap between the fingers, which is, you’ll note, how hands actually work.

Of course, I’d used the same model for several other characters, and the work had to be propagated to each one.

The same sort of thing seems to happen in professional game development– witness this description of the making of Bioshock, which suggests a) a game is made and remade multiple times over the course of its development, and b) you should probably never work for Ken Levine.

Although it’s been out for 10 years, Half-Life 2 has always been in the “pretty good graphics” bin in my memory. Till now. Jeannot van Berlo has re-created the train station in Unreal Engine.

Here’s the original…


And here’s van Berlo’s version:


Another shot from Valve:


And van Berlo:


I guess ten years has provided an advance or two.

I was just in the game to take the comparison screenshots, and I still think it’s fine, but the Unreal Engine version is certainly stunning.  More detailed, fancier lighting, and a grander scale.  From the screenshots, it looks a little busier– not quite as focused for the eyes– but it’s hard to tell what it’d be like in the game.

This post, though a bit breathless, is extremely interesting. It’s how an upcoming game, The Vanishing of Ethan Carter, makes stunning game imagery… essentially by taking a shitload of hi-res photos, then using software to turn them near-automatically into a 3-d model.

Let me guess, we dig up all the graves for coins and rusty weapons?

Let me guess, we dig up all the graves for coins and rusty weapons?

It’s certainly not a time-saver– you have to take pictures very carefully on location, and the whole idea is that assets aren’t very re-usable… you’re modeling an entire church, say, and not just making a tileable brick wall. The nice thing is that the textures aren’t tiled– they have contextually meaningful dirt and shade and mold and whatever. Photorealistic textures still look wrong and artificial if they’re too even, too widely used, or have no apparent flaws.

A quick way to test video game textures is to look at the edges of things. Take this very good work from Arkham City:

Wouldn't you take your gloves off for this?

Wouldn’t you take your gloves off for this?

It’s all photorealistic, but look at the way the combination dial just floats in the middle of the safe. Real things have transitions from one surface to another. There should also be shadows (and maybe distortions in the fabric) under the edge of Catwoman’s glove, and under that weird metallic knob on her shoulder.

Now, in a game, you normally don’t focus on that stuff… really, we want to be fooled. Especially in the middle of action, you can get away with pretty simple models.

If you’re trying to make a game on your own, on the other hand, learning about someone else’s new, better methods can be depressing. It’s hard enough making tileable textures! And god, don’t get me started on foliage. There’s a reason so many games are set in dungeons, sci-fi futurescapes, deserts, and sewers. They’re geometric! It’s still really hard to do good vegetation.

I’ve been working on my Unity game, on and off.  I finally more or less finished the street the heroine, Ticai, lives on:


There is something wrong with the lighting which I haven’t figured out… it seems to be very hard to get an even sunlight.  Some models just insist on being in the dark, even if they’re next to brightly lit models.  That yellow house to the right of Ticai’s head, for instance– I had to add a point light so it didn’t look like it’s midnight there.

This part takes forever because each building has to be modeled separately. I can re-use models, but I don’t want it to be too obvious when I’m doing so.

A still picture can’t show it, but I’ve tried to 3-d model rather than use textures where possible.  The windows and doors are 3-D, for instance.  It looks better as you walk around, and I read somewhere that polygons are cheap.

Here’s a view down in the sewers, complete with mystery corpse:


Hmm, I should probably bevel those edges.

Sadly, Unity water isn’t as nice as Source water– it doesn’t reflect.

Next Page »