ravenger online

About games, games development, music and life

Blues for the red sun

I realised I haven’t posted in a while so here is a status update :)

I’ve installed a twitter add-in on my blog to keep you up-to-date on small blog related things, surfing the hype. I think its a rediculous concept in-all especially when it is used by large commercial news website and others, because I really don’t care if they just placed a new news item on the news site. I discover new news when i actually visit, so adding twitter is just out of context there. I like the micro-blogging aspect though, but people abuse it to enlighten us followers that they are taking a crap. I try not to abuse it, and make it relevant to this blog so that it keeps interesting. So much for that ;)

The experimention project is going along. I’ve been setting up the main game structure, and I’m working on the whole camera system. The camera system is something I’ll be going into further in a later post, because it is also my main research topic. We are roughly four weeks in production, and we’ve got a flock of birds flying around and interaction between the flock and the thing we call sources, attracting the flock when clicked upon. We’re currently working towards an alpha version which includes the city as well, to get a nice impression of what it is going to be like.

DreamBuildPlay has started and me and a couple of guys are making a game for it. We have some really cool ideas to elaborate on. We are aiming at combining aspects of geometry wars and more classical vertical-scrolling shooters like raptor or tyrian. Simple, slick graphics and chaos is what we’re aiming for, and 3D ofcourse. More later on that, as it is XNA I will probably do some articles on it.

This weekend is LudumDare weekend and I’m attending. Voting for a subject is this week, and until it gets underway on friday night. Then its 48h of game making mayhem. Some guys at ludumdare irc are doing daily sketchblogs to improve on their drawing skills. It sounds interesting enough so I’ve decided to give that a try as well; I don’t know when though, but probably soon enough ;) .

Thats it for now, until later ;)

Concepts

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 :)

Misdirection

Justa quick addition:

<p style=”font-style:italic;text-align:justify;”>

So theres the secret to fooling wordpress into using italic if the <EM> tag is overridden by the CSS you can’t edit because you don’t want to pay for it :)

A new Ludum Dare is coming up also in the weekend of 17th – 19th of april just so you know. It will be the 14th time it is being held, and I am obliged to enter the competition now, since I failed to do so the past three LD’s. If i ever manage to find an excuse for not competing this time, it ought to be really really good ;) Go check out www.ludumdare.com for more info.

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 ;)

Settled and Back once again:)

Hey guys, Im still here :)

I’m almost fully settled in into my new apartment, which turned out very neat and stylish to my opinion. The only thing lacking now is a proper internet connection which is bound to arrive within two weeks, so im working through mobile Internet at this moment.

Lots of stuff going on lately, which I really enjoy. I’m currently in my experimentation project at school which is really educational and intense, very cool. Like every year, some students are selected from university to participate in a cross-educational project with the Utrecht School of Arts (HKU), specifically the faculty for Game Design and Development. One game you might know of that is a game that came from such a project is de Blob which was originally made by students from HKU and University of Utrecht as The Blob (sorry that its not in English ;) ), for the purpose of promoting the new to build station area of Utrecht, of which of course the client was the city of Utrecht. Last year, other students had built another game for the City of Utrecht, called Plan-it. Faith now decided that the group that I am part of has to build a new game for the city of Utrecht, in which we have to build a game that relates to the to be implemented tourist road sign system in the city. The team I am part of consists of nine people, and three of us including me are GMT students, five are HKU GDD students and one guy is a HKU media management student. It is a nice group in all, I think there’s a lot of talent and knowledge present within in the group. We’re now almost 4 weeks in and are in the concept phase, in which we apply some very nice practical game design process on which I will definately elaborate further in a future blog perhaps later this week, as game design and the process of game developent are two of the things that intrigue me a lot.

Btw, nvidia released its book GPU Gems 3 to the public. Must read ;)

Long time,

Hi everyone, its been a while. Next to gaming my ass of on Fallout 3, Mirrors Edge and Gears of War 2, i’ve been grinding uni and working a lot, and I found a place to live so I’m in the process of moving on my own as well. Busy, busy, busy :)

I’ve quit my job as a game developer as of today, because I want to spend more time on uni and finish my master on Game and Media Technology. Its going reasonably well, I hope to do my experimentation project in the next two semesters, as well as some seminar on Path Plannig. Currently I am doing a course on geometric algorithms (Computational Geometry) which is somewhat hard, but very cool since it involves geometry. I then only need to do one more course before my I can start graduation project.

Fallout 3 is very nice. I’ve put a 60 or so hours in there and I’m not nearly there, allthough I am allready on level 20. Graphicswise it looks allright, but not nearly as good as Gears of War though. The continuality between background and foreground in GoW is really nicely done; I would really like to know how they managed to do such a thing efficiently. Storywise GoW2 has a bit more cutscenes than GoW 1 which is regrettable if you ask me, because the power of the game is to me is on interactive immersiveness. The horde mode is insane however and very amusing with four players. Finally, Mirrors Edge is very neatly done in general. The storyline is a bit short and it may be a bit too fast paced however, it could be a better game if this was dealt with a bit more carefully. I also cursed because I shot one police officer in level 2 and died, and in the end didn’t get the achievement for completing the game without shooting cops; that was a bit unforgiving all-in-all.

Terminator: The Sarah Connor Chronicles rocks by the way. It is one of the better series out there at the moment, and it totally catches the eerie vibe the first two movies also had. Summer Glau plays a new model of terminatrix with more human emotional systems. She was captured by John Connor in the future and sent back to present day to protect John from dying and to prevent skynet to take over the world. It is definately a series worth checking out.

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.

Back.

Hey everyone. Since I didn’t post something since the beginning of august, I might let you know that I’m still alive here :) I’ve not been into XNA much lately, since the project I was working on at work has been put into the fridge for now. I have been doing research on the capabilities of the Wii with the Wii devkit for our first Wii title which is going to be in production within a month I hope. I shall be talking about some technical stuff on that as well, as far as the NDA is not limiting that ofcourse.

I’ve also started taking classes again at university, so all in all I’m quite busy. The class I’m doing is called motion & manipulation, and is concerned with forward kinematics, motion planning, collision detection, and more.

I’ve been thinking about the blog and my activity on it, and I’ve decided to broaden it up a little, also commenting on whats happening to games and the industry in general. I play a lot of games, and I’ve got some strong opinions about them that I’d like to share, so stay tuned! ;)

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.

Older entries »