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.

Thursday, January 19, 2012

In the year 2012

Time to write a new love letter to this blog, don't you think? The video got received well so far, and maybe, with a bit luck, we may even appear in a real paper magazine! Isn't that just awesome? I remember reading those Club Nintendo and game magazines (PU in Holland) every month, carefully sucking up details because who knows... maybe your game will be reviewed some day! Ok, since this is a game-programming magazine, the article won't be a real preview of Tower22 where the writer played the game and makes pictures with funny jokes of it. It's more focused on the development, the team behind it, and getting some facts about the game. Anyway, I keep you updated!

As for the Uncle Sam-needs-sick-horror-fans-with-drawing-or-3D-skills recruitment session, we got about 12 offers so far. It's less stormy than a year ago, but maybe that's also an indication our requirements are formulated better. Previous year the offers would vary from good to very bad, and from 3D artists to Peruvian panflute bands we didn't ask for. So, I can't complain. so far three candidates have been selected. Still not the uber-artist I may have dreamed off, but it's probably a bit unrealistic to expect Pixar-dudes to browse the "Unpaid jobs / MOD help" forums, looking for an extra hobby project. Previous time I cheated a bit by placing the request on a "Freelance" forum (per accident) instead.

Skills and some natural talent are surely important. But maybe an even more important factor is devotion. Like most skills, artists will improve themselves if they work long enough on something. We programmers need art, them artists need a challenge, so we help each other out. But the amount of work (or will to work) we spend on it, differs for each person. You could have 10 supertalented people, game-Ronaldinho's. But obviously, if all those talents only have a few hours on unreliable random intervals, it's still going to fail.

And just maybe... maybe the somewhat less experienced boys & girls have more time on theirvhands. They're not spending 40+ hours on Toy Story 4 each week. So while a professional comes home with a headache of being creative all day, a starter loves to spend all his free night hours on drawing / modeling / composing... And where a professional may get bored quicker cause he's been there and done that, a starter may be more passionate about a project.

We'll see. I think the guys who mailed me make a nice addition to the team. If it really works out can't be foreseen by looking how talented someone is. Their love and devotion for the project is what excels them in the end, not skills alone. Some are enthusiast and helpful. Others join a team, then come up with excuses every week because they found out they rather spend their free time on something else. Playing World-of-Warcraft, sleeping, girls, whatever. Personally I don't believe the "extremely busy with work" excuses that much. Of course work(+family) can eat all your time, leave you dead-tired and incapable of doing anything productive. But not for weeks/months in a row. And yes, I have a kid and two jobs as well, so I know what I’m talking about. In the end it's your decision how you fill up the hours before going to bed or your weekends. There is always some time for the things you truly love!

But you can't force anyone of course, unless you pay their salaries. Neither can I expect a newcomer to share the same enthusiasm and love for the project. They just want to apply & improve their creative impulses on something useful... like a promising game project! So it's my task to keep them locked & loaded with challenging, fun-to-do assignments. Makes sense right? Most people just do what their boss asks on work. If the boss has nothing interesting, some will suggest or create their own work... but most others start Mine-Sweeper or take a nap at the job. Can't really blame them either...

This was one of the things I had to learn in 2011 (and still have to learn); keeping them at work with satisfying tasks, following a good strategy. It's not that I had nothing to do for them. Christ no, there are thousands of objects, textures, drawings and sounds I can think of. But you have to dose it in a good way, at the right time. No one likes modeling a stupid Ming vase that *might* be used for a map in a far future. No, distillate the tasks that are relevant and have to implemented right now. Don't bombard them either with 40 assets they can choose from. Just don't bother them with details that aren't important yet. If they really wanna know, they ask you anyway

At the beginning, I thought it would be gentle to let the whole team think with every decision. Democracy you know. We can do A or B... or C if you like. Then half of the team has a different opinion you hoped for, or just doesn't reply which makes everything hold up. Since I was afraid to pick a direction that the others may not like, I asked and shared everything. And since I don't want "my artists" to spend their time on jobs they don't really like, I also gave them pretty big lists so they could pick their own tasks, allowing them to make their own schedules. Now that's sweet, right? Too bad it doesn't really work though. To compare with the chief at the office again, what would you do if your chief gives you 100 tasks that need be done "some time", "maybe"? Exactly, it would be chaos. Everything will be delayed as long as possible, tasks will be forgotten, et cetera. If the boss doesn’t really care about task-X, then why should you? It's not your responsibility to create a strategy and vision for your company. That's what the boss is for! What else he gets paid for?!

It's not I'm leading Tower22 on Stalin-style now. I still ask what people prefer, and allow them to think with me, if they like. But at the same time, I must prioritize and make a clear plan for the next half year. If there are doubts or no answers from the team, then just follow your intuition. Don't stand still at each intersection point, and don't always try to find solutions that each and everyone likes. Keep your project going, and keep your artists doing what they really like; modeling, drawing, making sound, et cetera. And if they can't, just move the task to someone else.

This is how the monster looked in earlier versions of the room

So captain Costa Concordia, where are we heading to? I tell you.

1.) Game-time. So far the T22 TechDemo movie got praised for sound and graphics. Nice of course, but that still doesn't make a game a game. So as for programming, I will focus on making it playable. A full-screen "game.exe", a human player to control, physics that CAN climb a stair (damn that's hard), a basic GUI (menu's, bars, inventory) and animations. That's why "GUI Designer" and "Animator" we're mentioned in the movie as well btw. That probably takes me at least half a year. Robert will try to finish the player model as well.

2.) Demo 2. The artists will focus on drawing and then producing the contents for a next (and possibly last) demo. This demo will show real T22 gameplay again, not just a flight through some wacky radar station. So, that gives me a also a good testcase for goal 1.

3.) Tower22 preparations. Hopefully we will get enough concept-art time this year. The concept-artist(s), Brian(writer) and me should develop the ideas further for T22. The whole thing is already done by me, but I need input to fill in the detailed spots. Plus the long boring texts have to be transformed to pictures. Most important to get us started on the game content, is to have the first section of the building designed, so after Demo2 we can start on that.

4.) Graphics? Not much planned for the next months, but I should improve the performance. One trick is to optimize passing shader parameters. So I'll be looking into OpenGL's "Uniform Buffer Object" some day. I let you know.

5.) Programming help. It hurts the ego, but I may need 1 or 2 (Delphi) programmers to get some load of the shoulders. They will be making specific parts of the GUI, and improving the tools the our artists use. I let you know once it’s needed.

6.) Blog. I'm planning to write a "Radar Station" making off, and a Newton physics tutorial that handles character controls. But only if I succeed in making a controllable character myself! Luckily Julio Perez, the creator of Newton (the engine, not the guy) noticed T22 and is making a demo already. That should help me getting on the tracks.

Sounds like a lot? Never said making games was easy! Ship ahoy.

Thursday, January 12, 2012

Higher Quality movie

Where were my damn bumpMaps son?! We spend so much time on micro normalMaps, parallax maps, and cockroaches on the floor. But the low-res blurry video made it look as if the game was illegally recorded by an old phone in a dark room on a (cheap) game conference.

Well, here you got it again, HD. Say hello to the details, although some of them also might reveal visual glitches. Like pornstars being afraid their hemroids become visible on HD movies ;)

Still not as sharp than I would like to see, but a whole lot better than the previous blurry mess!

Monday, January 9, 2012

After the commercial break... Another movie!

Hey boy, hey girl, here we go... It took almost as long as creating episode 3 for Halflife2, but there it is; another movie. Tech-movie I might add. Said it before, and I'll say it again: the purpose of this movie is to show you some visuals, and a piece of scenery that *could* but in Tower22 (but it isn't :p). Why? Well, why not. And oh yes, to attract some help on our team of course.

Compared with the movie one year ago, there are some obvious changes:

- This new tech movie does NOT show you the typical horror or game elements
- All the textures and sounds are created by ourselves, no more borrowing from other games. And in case you didn't know, yes the whole engine is created in-house as well.
- The sound quality should be quite a lot better. Video is still blurry though, but we'll try Vimeo within a few days. Maybe that allows to upload a higher-res variant of the video.
- All in all, it should look and sound quite a lot better. I hope so.

Just saying. It's funny, but maybe tricky at the same time, how false rumors can spread like napalm fire. Before you know it, the player is called Robert (which is not true), the game was created with Java, I'm working as an astronaut, et cetera. Not all "journalists" actually take some effort to read the sources. They just copy from each other. Believe it or not, but I already saw on some site that T22 would be released half 2012. It even had a score (7.5 if I remember correctly). Uh... apparently they have a nearly finished version of the game! Maybe I went back in time like the Terminator to give them a game copy. Whatever.

Now it's true that Tower22 does not have a clear project description. We're working on that, although the story and some game-elements will remain a secret anyway. The website is still a bit empty, but expect some updates soon. Starting with a new screenshot overview. Other than that, we shouldn't bother too much what others say. Yet when someone starts comparing this with Crysis2 and says T22 sucks, it feels a bit unfair sometimes. So one last time: it's just a tech-demo, made in far from finished engine, in the night hours, on a 0$ budget. So, there you have it :p

Enough talk already. Grab some peanuts, and chase away young kids from your room:

And a superduper, turbo-pascal, creative, fancy, moody, farty, healthy 2012!