Hey there,
We thought, let's start showing some stuff from our game, Tower22, here on Polycount. The shots will vary from 3D WIP, concept drawings, finished images or well, whatever may look interesting.
Tower22 is a horror game that takes place in an isolated skyscraper, like you would see in former Soviet cities. Though the building content isn't restricted to this style, as the game actually has not much to do with Russia or communism. You start your new job as a caretaker in this gigantic building, but very soon you will find out this not an ordinary place. For one thing, where are all the other inhabitants? And... where is the exit?
As for the technology behind these renders, Tower22 uses its own engine, programmed in-house. So, one of the challenges is to keep up with modern technologies such as realtime G.I., volumetric effects, correct reflections, or SSS. Though in the end, the real difference between a good or bad athmosphere is the result of the design and the artist talents of course
Well, for a start, I just picked some random (older) shots. We hope you enjoy them!
Web:
Website / pics / moviesdevelopment blog
Target platform: PC
Genre: Horror survival
Project started: January 2010
Engine: Engine22 (using OpenGL, Cg, Newton physics, FMOD sound)
Software used: Delphi7 (programming), Maya, Max, Lightwave, Photoshop, Paint Shop Pro, Blender, & more
2010 meathook corridor (in game)
Concept clay model
2011 Barracks (in game)
2011 Stairs (in game)
Replies
And here, Robert made a first Maya version of it. And the lower poly LOD's (the engine toggles to lower poly model versions as the camera distance increases).
Just a stationary blob. obviously, there was some work to do to spice up this scene. The first version still looked like a rubber potato, so we had to play a bit with the textures, and mainly the specular sharpness to get a dirty wet look.
The model doesnt use very special shaders or anything, just Lambert(diffuse) + Blinn(specular), and a bit of rim lighting.
Asides from the monster, also the environment had to transform from a boring concrete monster to something more... alive. The idea was to connect the monster with the environment somehow.
Again, sorry for the programmer MS Paint drawings hehe. Anyway, since the surrounding area was covered with ice (the whole demo takes place in a frozen radar station), the idea was to freeze the monster partially, and put nitro-tanks with a leaking hose next to the monster.
It still doesn't make that much sense, but hey, it was just a tech-demo. As a nice side effect, the hose would blow gas into the scene for a cold-blue atmosphere (using volumetric particles and sprites refracting the background for a cold wave effect). In Gameland we have the luxury to bend logic, just as long the overall picture keeps believable more or less
Nice all those effects, but without some kind of animation (and audio), the scene still remains dead boring. The time was limited though, so we had to pick easy techniques. Like this gauge arrow going mad, and the nitro hoses blowing cold gas in the scene. Further, the monster itself had to wake up when the camera approaches.
We made a simple morph animation to make the blob breath, sort of. A vertex shader would morph the vertices with the help of textures containing the offset positions. The shader would also interpolate each vertex between its animated position, and its idle pose. As the time elapses, the animation effect and speed would increase for the awakening effect. Simple, but effective.
Another little last minute effect were the hydraulic hoses at the top leaking oil. No particles or anything, just an extra texture and shader that would fade the oil in/out based on time and a vertical position to make it stream.
Well, it took some effort, ice chunks, texture adjustments, resizing the whole room (made the ceiling higher), animations with simple tricks, and a lot of screwing around with lights and foggy particles. As often, the development process showed how an ugly, unpromising room can still transform into something nice when turning the right dials.
Ciao!
Movie link: http://www.tower22game.com/media.php
But it often happens that somebody joins or leaves again, plus the available time is very limited for most. The movie explained above was made with a much smaller team btw. All in all, finding dedicated people with talent AND enough free time, turns out to be harder than programming the damn thing hehe!
"rick AT tower22game DOT com"
As for drawing & design, currently the needs are:
- UI (fonts, menu's, inventory, symbols, cursors, ...)
- Environment concepts, from conceptual ideas to realistic final versions
- Level design (floorplans, ideas, collecting references, ...)
There is not much drawing work on monsters or the likes. Not that we don't need any, but we won't be able to produce them as long there isn't much environment.
Greets
this time some progress on (one of the many) an apartment. As usual, it starts with a floorplan, and then a lovely 3D mesh. This basic mesh is used to test whether the dimensions fit with the gameplay (apartments stuffed with junk quickly become impossible to navigate within a game). Its also worth testing the perspectives. Even when basing your doors and furniture on real-life proportions, it doesnt always work out in games (usually I have to scale up a bit).
The same mesh also helps to give the drawers initial input of course. Time to spice up your life:
Thats more like it. Since the general guideline for these apartments (at least in this section of the game) is Soviet with 80ies or older technology, the contents had to look somewhat cheap, but functional. So we had a look at some Russian furniture and equipment from that era. Not exactly copying, but just using them as a reference.
Besides Soviet, the atmosphere on this particular section is supposed to be dreamy and gloomy. Like a sleeping but dangerous entity that could suddenly change. This drawing (by Borja Cuellar) tries to show a warm room that could be cozy, but isnt. The apartment has some unusual, half hidden elements
To some in-game renders then. The textures and props for this room arent finished, neither does the above screenshot resembles the warm lighting. But I liked to show it anyway So far nothing really special has been applied on this room graphically wise, except that most surfaces are more or less reflective (using either cubemaps or Realtime Local Reflections) and use an early version of the realtime G.I. system. Oh, yes, and the couch + carpet are furry if you look from close, but Ill save that for another post.
To finish this room, we need some doors, lamps, another wallpaper, decals, lightflares, more junk, and ehm... did I forgot something?
Ciao!
Here a radiator object Diego did recently. It will be mainly used to place in corridors. But instead of a common metal heating element, we used a cover for a change.
The model was made in Maya btw. Below are some shots rendered in our own engine.
Not much special going on other than that, though a little detail is the transparent raster. The foreground has transparent holes, and behind that layer is a simple quad placed with a (darkened) heater photo on it. You can see it a little bit in this shot:
Now T22 is not going to be an action game. In fact... maybe there won't be any guns at all. If there will be, they only play a very limited role.
Nevertheless, having a gun during development to shoot stuff is always fun. So, Diego made a machinegun based on the Russian PPS 43.
I didn't model the gun so I can't say too much about specific techniques being used, other than the standard flow of making a highpoly model first, and extracting details out of that such as the normal- and AO map.
Well, time to import it into the game. No special techniques were used, other than some glossy realtime reflections and a secundary "detail NormalMap" for making the small bumps on the metal surface.
Hmmm. Not quite right yet. One of the shitty things about a First-Person-View, is that you only see a small part of the gun. Being right-handed, the cooler right part with the moving handle, isn't visible. Neither the muzzle or trigger. What remains is the left side, and mainly the top & rear. And those were kinda boring right now. Time for some programmer-feedback:
Diego added some details on the mesh and in the normalMap, and we had to do something about the "overcrispy" noisy metal look. The secundary detailNormalMap was reduced on several spots. Finally, also Federico pimped the texture, giving it a colder blueish look:
The engine doesn't give that cold look directly, but that probably has to with the warm athmosphere of the room. And probably I should experiment with some suble RIM lighting.
Besides just having a gun, this weapon also gave me a nice case to program the support for FBX animations, throwing out bulletcases, bullet hole decals, and of course VFX. But that's for another time folks!
*bullet time off*
I hope we make it too. Far from easy with a small team, nowadays you need whole Polycount armies to create all the assets. But who knows. At least we're having a good time the past few years hehe.
I love how in some of dark parts it is not completely clear so it keeps the true nature of fear:the unknown, alive despite visual representation.
Also the resident evilness of it
looks very promising, keep it up
T22 is not going to be a very dark game though. Of course we'll use clich
A Plant. Recently Diego finished a vase + plant object for the game. Not very special maybe, yet it was the first "fresh green" object in the middle of all those dusty, brownish, rotten, stinky textures. My first concerns were that this green object would generate a weird contrast with the surrounding scene.
Well, it didn't turn out that bad. Of course, the surrounding scene itself isn't finished yet, and normally a plant being placed in a dark corridor without windows will turn brown within a week anyway. And then there is also a few engine bugs that make sort of a cartoonish and blurry edge around the leaves. Plants should appear very sharp(=fresh), so I got some work to do there. But nevertheless:
One new feature that had to be added to the engine, was (cheap) backlighting. As you can see in the first picture, the leaves would normally appear very dark at the unlitten sides. But as you know, light travels through the leaves. So I added some features for simplistic SSS. A "thickness" map was used to control the amount of light traveling through. This makes the thicker (nerve) parts visible, as they block light more.
As said, very cheap SSS, but probably sufficient enough for plants. In case you would have to render a whole jungle, you can't go wild with more realistic SSS models anyway. Not yet at least
* Left sides of the pics are Gauss-blurred, right sides = raw SSAO unput
For those who don't know what SSAO(screen-space-ambient-occlusion) is; it's a post processing technique to a roughly approximate Ambient Occlusion for each pixel on the screen. This produces a value that darkens the pixel eventually, in case it was surrounded by other foreground pixels (occluding it). The whitish images you'll see here, are multiplied with the other (colored) results, and thus basically darken spots such as corners or the floor below an object.
It only works at a small scale, and it sure isn't physically correct. Then again, it works pretty fast nowadays and it can handle fully dynamic situations, nothing was pre-baked. So, for the time-being, SSAO is an accepted method even though it's notorious for creating dark or bright aura's around objects, or just looking like an ordinary cartoonish edge-detection filter in some (bad) implementations.
There are many ways to implement. Some good, some bad. Some fast and simple, some a bit more accurate. Some barely noticable, some too much present. Some having aura problems, some having another type of bug. Well, none of them is perfect really, neither this one.
I chose for a slightly more accurate model (using very crude raycasting) to prevent some of the typical bugs, as well as to make sure occlusion works in most situations. And also, the texture-normalMaps have some influence on it as they bend the rays a bit. The price is lower performance than the average SSAO shader though, and I still didn't kill all bad-mojo aura's. Oh well, it's better than having nothing at all!
The lensflare is based on this nice article:
http://john-chapman-graphics.blogspot.nl/2013/02/pseudo-lens-flare.html
In short, this is a post-process image based technique:
1- Apply a brightpass on the screen so only the very bright spots remain.
This is usually already done if you're using bloom
2- Mirror the (brightpassed) 1D image
3- For each pixel, make a ray towards the center. Sample X times along that ray so it *may* sample bright spots. This will create "ghost" spots. Multiply the samples with a rainbow like gradient texture.
4- Add a circular halo by doing the same trick but with a single fixed radius sample
5- Upscale and gaussblur the results so far to a full-screen image
6- Add the fullscreen image on top of your scene, or on the spaghetti
The nice thing about this technique is that its pretty cheap. But besides that, it works for any bright spot, thus also for specular highlights.
Of course, as with all blurs, blooms and other additional shit on your screen, you'll need to do it subtle. Apply it once for a "wow". Apply it dozens of times for a "sigh". But all in all, it's a nice cheap little feature.
See you later!
Diego & Federico made some painting frames and empty canvasses to start with. Now whenever someone feels like doing a doodle, can try and make a canvas to put in the game. So, I began with "Bloody Buffet" and "Angry Windmill":
It was mainly to practice a bit with the Wacom. Since I'm not really a drawer and neither use that thing on a regular basis, the hand-screen coordination will probably keep sucking, but painting like a toddler was fun nevertheless Oh, ignore the weird frames on the left. I forgot to toggle off debug screens for (realtime) GI-processing.
By the way, if anyone here ever feels like making a scary drawing for Tower22, you can always contact me!
See you!