ravenger online
About games, games development, music and lifeConcepts
To elaborate further on my previous post about rapid practical game design, here is how it turned out with my current project. The context is that the tourist roadsign system currently in place in Utrecht is inconsistent and isn’t up to standard. They are planning a new tourist roadsign system in the city, that is going to be placed in this year and they would like a game that connects to that. The game has to encorporate four core values: Historic, Talented, Innovating and Personal. Given those core values, we’ve depicted three goals as restriction for our design: Exploration, Utrecht and Learning.
In the end we ended up with three concepts which we pitched to the city of Utrecht;
- The first concept was a crazy taxi clone, in which you had to move tourists from one tourist attraction to the next. The style was very absurd and cartoony, with roadblocks flying saucers, huge laser and so on to make it attractive, interesting, and most of all fun to play.
- The second concept was city golf. In this concept the city was modelled somewhat like a miniature golf course, and you as a player had to play the ball into the hole which in this case was a tourist attraction in the city. When you hit the ball, the ball would go up so high that you could see an overview of the city. The idea then was to let the player run the character to where he played the ball by manuevering through the streets, and get to the hole as fast as possible.
- The third concept was birds. In this concept you had to guide a flock of birds through the city to a certain tourist location using so called sources. Upon selecting a source, the birds where attracted to the source and fly in that direction. As all buildings in the city were obstacles, the player had to anticipate when to select a certain source in order to savely guide the flock further as crashing into buildings meant that you as a player lost birds in your flock. The goal was to get as many birds as posible to the other side of town. We found a very cool style to go with it and I will definately show some stuff later, as the city picked this concept to go into production
As you can imagine, all of the three concepts lay heavily on the restrictions we’ve chosen before prototyping and also incorporate the core values which we were given.
What is very cool is that other students from Utrecht University that are also in the same type of project, are currently experimenting with augmented reality games. They’re creating a physical boardgame that is augmented with patterns that can be recognized by a camera connected to a computer, so that they can place 3D objects in the image of the camera on screen and do cool stuff with that. If you’re interested, theres a game currently in the IGF Finals this year called Mightier, which also used the concept of augmented reality (although in a different way). I think it rocks
Rapid Practical Game Design
As promised, I’m going to elaborate on the process of game design we’ve used for our new to create game as part of my experimentation project. I’ve pro-creatively called it Rapid Practical Game Design and what it basically achieves is proper design results in a very short time. It requires very intense collaboration between the programmer, the game designer and perhaps an artist, to create several prototypes over a certain short period, for instance one prototype each day of the week. The goal in the end is to destillate one or several game designs from the small prototypes by combining (aspects of) them.
The first thing that you should do, is making sure that you know what your restrictions are on the design. These restrictions should be theme related, a single keyword should be enough. Do’nt use verbs, as they might relate to game mechanics and thus put too much restriction on the design to elaborate upon when creating the prototypes. Note that the restrictions might seem evil, but they actually help you find your way more easily and in the end make sure that you can use a greater number of prototypes to destilate from.
If you have a large team available for initial design, make couples or triples featuring a programmer, a designer and perhaps an artist. Choose an easy platform to develop on, for example Flash, XNA or perhaps Java, or even something like Virtools (which is mainly useful for rapid prototyping, but terribly anoying for anything more comprehensive). If you have a framework ready for any other language, thats cool, but I strongly discourage you to start creating anything from scratch when doing the programming, as you don’t have that time.
Lets say you manage to get four teams, working for a week, then you’re required to have twenty game designs with prototypes by the end of the week. As designers, you may brainstorm with eachother to create new ideas, and as a team you may share assets to improve on the process of rapid prototyping. Try to push for new ideas rather than proven things that get shot down instantly in the next phase.
In my team for example, we didn’t really get a good idea of the restricions we’re given until late in the week. Some of the first design concepts therefore where rubbish as they didn’t fit in the restrictions we should have set in the first place. These restrictions should have been “City of Utrecht” and “Exploration” (and “Education”, but not really as our main goal). One team for instance made a tower defence clone, which just didn’t fit the profile and was useless to destilate anything from, thats a day thrown away. Another guy made a nice concept of racing on the outside of a tube. However cool that is, it just doesn’t fit the restrictions.
When the week is over, first lay every design concept next to the restrictions initially set. Which of the restrictions does it ‘hit’ and which not. Making an overview of this by counting the total ‘hits’, and the concepts that are your best base for a final design, score high on all restrictions.What you also want to do, is to evaluate the lowest scoring concepts. Try to determine what the positive aspect of that concept is, and write those down before you rule those concepts out. What you then have left most likely, is a large middle category of concepts that have one or several but not all restrictions scoring high. Now the trick is to combine those concepts into new more elaborate designs, and enhance the concepts that came out as your base designs. Finally, take care of designs that look alike. In the end you will have some solid designs that are perhaps innovating, but at least proper.
Thats it for now, I hope it is of any use
Remember Remember…
Its going to be november soon, so It’s time to look at what games might be interesting to buy this holiday season
. I’ve picked my top five games allready, so here they are with Dutch release dates.
31th of October: Fallout 3. Fallout 3 is an RPG which has two prequels, both from the previous decade. I’ve played the original fallout recently to see how it looked like and lets say It wasn’t good for nostalgia
I’m hoping Bethesda will do what they did bringing their Elder Scrolls series to 3D with Morrowind and Oblivion, and that it is going to be a classic just like the Elder Scrolls games.
6th of November: End War. End War is going to be the first proper voice controlled RTS on the console (or any platform for that matter) and thus I need to have it
7th of November: Gears of War 2. Marcus Fenix is back and he doesn’t have pets like for example the cute dog in Fable 2, so thats a good thing. More gore, guns, locust and frenzy coming up. Its the coletrain baby.
13th of November: Mirrors Edge. Lucky it’s not going to be out on friday. A lot has been said about mirrors edge the same way Assassins Creed by Ubisoft was delivered last year. Lets hope EA did a better job at keeping the game varied, creative and innovating as they promise.
21th of November: Guitar Hero: World Tour. I’ve been saying I’d buy guitar hero since the first version came out a couple of years ago. Now, this one has got more instruments, so hopefully more fun. Ofcourse I allready preordered the Super Bundle with Drums, two guitars, a mic and ofcourse the game itself, and that for less than €200,-. Harmonix and MTV, eat that.
Ofcourse I’ll give a proper review of each of the games by december (or later even, because I still have to play last years games Bioshock and Gears of War
)
Remember remember the fifth of November
Gunpowder, treason and plot.
I see no reason why gunpowder, treason
Should ever be forgot…
Viva Pinãta graphics, demystified
So we’ve all probably heard of Viva Pinãta for the XBox 360, which was released fall 2006. It has a quite distinctive and remarkable graphics style; very colorful ofcourse, but also very detailed and rich in stuff happening on the screen. It’s a kids game obviously, and the game itself is not primarily aimed at people like myself who enjoy the virtues of brutality in Gears of War. However, the graphical techniques used in Viva Pinãta game are pretty cool; in fact, the game was nominated for an award for outstanding achievement in visual engineering. The pinãtas have a nice paper-mâché-like fur and the grass is done in a similar style.
So, how is it done? The technique used is commonly called shell rendering, and it is used widely in various games on different platforms. Shadow of the Colossus on PS2 uses it for furifying its colossal creatures, and Super Mario Galaxy on Wii uses it for some of the enemies and for example for the queen bee in the bee world. The trick is to have several additional layers of geometry above your mesh, mapped with a texture that contains random or ordered pixel data (See picture)
. It’s a cheap method if you compare it to instancing geometry for each fur hair, because now you only have to render the model for each layer of fur. Thats obviously still a conciderable amount of extra polygons if you have a detailed model, but not nearly as much as if you would do it with instanced geometry. Obviously there are some tricks that make it even cheaper. You could for instance take a lower level of detail model to render the fur layers. For grass, you could maybe combine the method with a geometry based LOD technique (like geomipmapping for example) and only render the grass for the terrain that is within certain distance to the viewpoint.
There are also some parameters that you can derive from this method. You can determine:
- The amount of pixels in the fur texture (The density basically)
- The distance between layers. Long hair/grass or short, its all possible. You can even have variations in height by storing the height in the fur texture as the value of a color. Since you have RGB you can store up to 256*256*256 values (you will need the alpha for other things, like a lerp between black and the base texture color for example)
- The displacement of the layers with respect to eachother. You can for example apply gravity or wind making the fur hang or the grass wave. Make the displacement non linear, and the fur/grass will hang in a certain way.
- The amount of layers used. This is useful if the camera is making a low angle with the furred plane, or when the displacement between two layers is too big (and thus gaps emerge between two layers).
- The thickness of the fur hairs. This is done by scaling the texture (mapping it differently) or by means of populating (for example, sample a random position and add pixels for the consequtive two pixels to get a nice row)
There are lots of posibilities by combining the different attributes, some which I can’t even imagine at this time. I would be really interested in the way Rare did the pinãta paper-mâchée fur so neat and tidy for one
Anyway, here is an example of how grass could look (its a bit coarser than in Viva Pinãta but that can easiliy be adjusted by controlling the thickness parameter):

I made this in XNA with help of Catalin Zima’s fur example on Ziggyware.
Shader Programming Resources
For those that are interested in programming shaders up to shader model 3.0, there are some really nice resources available for both starters and the more advanced shader programmers.
GameDev.net recently made ShaderX2 by Wolfgang Engel available for download. Wolfgang Engel is one of the senior engine programmers at Rockstar San Diego, and he worked on the engine for GTA IV. He also keeps a series of books called ShaderX, which if im right now has 6 volumes. The ShaderX2 book is actually in two parts, first is a tutorial for beginning shader programmers, and theres a second part which is more of a cookbook style book with a whole lot of articles on all kinds of different subjects. The two parts can be found here.
Nvidia have also made some of their older books published on their developer zone, freely accessible. First is the Cg Tutorial which is nice for beginning shader programmers, and second are GPU Gems and GPU Gems 2 which are again a nice collection of articles on different subjects. They can be found here.
