Tuesday, January 31, 2012

Making of Radar demo #1

Not sure, but asides those who google “Far hairy lady/pussy”(dirty bastard!) and end up at our infamous demo1 topmodel according to the blog-traffic-statistics, I suppose most of you are curious about game-programming, or making games in general. So why not tell a little story about how that Radar Station was made? So ladies, for this week, and the upcoming ones, a little peek behind the scenes.

When reading a book, you try to visualize things. Who's the protagonist? How does his house look? How would you imagine the woman referred as "the ugly lady with red curls and anchor tattoo"? Your eyes read the letters, your brain sets up the décor at the fly. But when watching a movie remake, it’s usually way off (and therefore maybe disappointing) of your own imagination version.

So let me give a helping hand in case you’re trying to visualize our situation. Forget the romantic scenery and programming stereotypes. We don’t have an office or a cool room decorated with T22 concept art and a whiteboard showing complex level designs or mysterious programming formula's. The reason is pretty simple. There is no team to meet. At least not in real-life, as all of us are living thousands of kilometers away from each other. Spain, Netherlands, USA, Germany, UK; not your typical weekly trip. So far communication is done via email, sometimes via Skype, and telekinesis of course. The bottom-line: I don't even know how half of my partners look!

As for having a "game-dungeon" in my house... That would be pretty cool, and I can play Resident Evil without having to worry about our little girl, or getting kicked away by the girl who thinks doing 2 hours of Nintendo per year is more than enough for a grownup man. Yet, I'd better not isolate myself elsewhere in the house. Probably I won't see my child growing up and such. Ah, we don't have much space anyway, asides from a dusty attic.

So usually I just sit in the couch. Girl watching Polish soaps, little girl watching Mickey Mouse on the right half of my laptop, daddy programming scary stuff on the left side of the screen. You wouldn’t see the difference if I was playing WoW, or watch porn. Or, oh well, you get the point. Working days then? Oh yes, like the other team-members, there is a daily job. Or actually 2 in my case. And not surprisingly, as a programmer (harvesters, pharma-machines, database stuff).

Once home, it's dinertime & playing with the little ape. When she goes to bed around 8 ó clock, I tell her a story (stopped reading fairy tales, those are freakin scary and she got a lot of nightmares about wolves and witches lately :) ). But then… I put on my captain Ultrabyte superhero programming spandex + 8-bit goggles + external underpants, to sit in the couch again with the laptop. Girl watches TV and talks, I hear half of what she says. When I’m captain Ultrabyte, I only speak Turbo Pascal. But to make it up, I usually take a break around 22:00, then continue my hero-activities till 01:00 or 02:00.

Yep, that's pretty much how it happens every day. Except on beer-drinking days then. When not programming I'm usually drinking beer with friends, do stuff in the house, make diner for the girls(= demolish the kitchen), try to sport a little bit, or, sigh, got to go shopping with the girls. Yay.

All in all, lot's of sitting & computers, and pretty dull. That's why beer-drinking events are healthy. None of the friends/family is really into gaming, let alone programming, and neither do I bother them too much with binary jokes. Same story for pretty much all colleagues at work. Prevents being a game-nerd 100% of the time. Believe it or not, most people, including parents, don't even know about Tower22. I just rarely talk about programming or games, unless someone is really interested
(or when writing here).

How the other team-members do it? No idea! They just work as well, in some cases also as freelancer on other (game) projects, do their other hobbies, and some of them have kids as well. So they mainly work on T22 in their free night hours as well. When there are ideas, questions or something to show, a mail pops up (got a bit obsessed watching the mailbox the whole day for that reason). And each Friday I'll send a mail to everyone, sharing the progress. Other than that, no fixed meetings, or strict rules. That makes team-progress a bit slow, then again the laidback athmosphere makes the whole thing enjoyable instead of a second or third stressy job. There are more important things than programming games.

The Radar-Station-Motivation
Sounds like a disco-track title. Anyway, now that you have a slight visual on our work situation, let's proceed with the scene being used in the last Demo movie. It's called "Tech-Demo" for a reason; the scene isn't part of the T22 game, neither does it contain gameplay elements. Why spending so much energy on something that does not appear in the game? Uhm...

Somewhere last spring or summer, Sergi joined the team. He would make props mainly. Props are objects to decorate the scene with. Boxes, barrels, computers, furniture, lamps, stinky corpses, et cetera. Very common for pretty much every 3D game. Well, an artist can model a trashcan in Max or another package, eventually using a concept drawing or photos from the internet. But then what?

What you make in Max, is not exactly what you get in your game engine. Rendering techniques are different, and a game-prop needs to do more than being beautiful only. We want to throw, shoot, kick or interface with that trashcan! What we needed was a playground. A test-environment that uses the actual game-graphics / physics / sounds /.../. Not only to fine-tune the object, but also to give feedback to the artist.

Shot of the Object-Editor. Now that simple textured object does not give the artist a good idea of how an object will look / feel.

If you spend 5 hours on making a soup-kettle object for the game, you want it being used, ASAP please! It does not satisfy if your 3D file disappears somewhere in the dusty virtual archives for future usage. Unfortunately, this is what often happens in hobby projects. The technology is not far enough to actually use the props, and/or programmers just don't understand the needs of an artist. Thanks for the kettle object, looks cool, bye. That does not really motivate to make an even cooler stove object, does it?

So, for practical usage and for the fun-factor, I started making the "Object-Editor". As the name sais, you import your raw 3D meshes here and define an object:

- Meshes (in several levels of detail)
- Physical collision shapes & properties (mass, name, materialtype)
- AI script (link to a DLL that does object specific behavior)
- Animations
- Eventually sub-objects, connected with joints or motors
- Define special sub-objects (lights, sprites, particles, cloth, ...)

The combination of that crap forms an Object file that can be used in the game later on, typically when decorating empty environments(maps). Like the Sims "buy" modus.

Asides constructing the object, you can test it. The view toggles to a game-map, eventually with full graphics enabled. Then you can watch your object in several setups (bright, dark, water, skylight, ...). But also throw it around to test impact effects/sounds and see how the physics work. Does it float or sink in water? How far does it slide on ice? What happens if your give your ragdoll a Porrasturvat stair dismount? Not all of those features already work btw, but that's pretty much the goal.

Mapping Ideas
This requires a testing-environment with some varying situations. Bright rooms, dark rooms. Water for buoyancy, wind for blowing away light stuff, icy surfaces for low-friction physics, stairs of course and an overall pretty big space that allows to throw with stuff, also larger objects. Your typical Tower22 apartment would be too small for that so I thought about a... bunker... Not just because bunkers can be made relative big, they are also easy to do. A bunch of concrete, and even more concrete. Voila, done. Hey, we shouldn't waste too much time on a playground that never reaches the game right?

As usual, such ideas are shared with the others via mail. Before doing idea X, I first want to make sure everyone agrees, and give a chance to bring up better ideas. Then Julio came with photographs of an old abandon Radar station. This radar, built in Canada in the cold war era, was part of big string of radars that had to intercept Russian (nuclear) missiles. As we know by now, they better spent that money on buying bigMacs or Russian Vodka for that matter. But at least it delivered a bunch of nice photos. What caught my interest in particular, was the flooded & frozen bottom part of the building. Perfect for physics, and it looks pretty spooky as well.

Another salient detail, instead of intercepting missiles, it's a place to drink & party for kids nowadays.

Yes, the flags were set. Frozen Canadian bunker-radar-thing, we got you! Of course, at that point we didn’t know yet how to fill it up. And it was certainly not meant for a demo movie! But the nice thing about ideas is that you can bend them. And I realised, with a little extra care, this scene could be useful for another small movie to show. Why not? Anyway, next time I tell you more about: map design, modeling the maps, making props and how to plan stuff.

No comments:

Post a Comment