What you see here
is the stunning background art
of one of the most beautiful sci-fi games.
H o m e w o r l d 2
Thanks for reading.
Just kidding. Of course i have something to say about this. In the company we look at the art of Homeworld from time to time and bow to the creators of this masterpiece. Once we talked about how great the background look and how interesting this sketched style is. There is something…some details seem…special to us.
I mentioned, that this looks a bit like… a vertex color gradient. But they wouldn’t paint the background on geometry, right? I mean…that would has to be a highly tessellated sphere.
The discussion was over but I wasn’t satisfied and wanted at least see the textures. So i used some mod tools to extract the Homeworld 2 Demo data but there were no textures. Only some .HOD files. I used Google and found a thread how to generate these .HOD files from a .TGA. It was said:
“…scans every pixel of the image then based on contrast
it decides whether or not to add a new vertex and color…”
Could it really be, that this is vertex color? Luckily you can watch at .HOD file with CFHodEdit. And another tool can force a wireframe mode. And now look what this brought to light:
This is one
of the most brave
solutions for game art i ever saw.
And here you can see how this influences the sky sphere geometry of the game. Do you see how low the resolution is in the low contrast areas? And how round the sphere is where details were painted?
I never ever had thought, that this can produce such good results. Oh and don’t forget that this technique solves two major problems.
#1 You don’t have any problems with DDS texture compression artifacts.
#2 More important from composition perspective: since you can’t get too fine detail (it was said in the tutorial that the base TGA shouldn’t contain too sharp details), the background stays were it should:
In the background.
Too often i see games where the background contains so much noise and details, that you can’t really separate fore-/midground from background.
The last time i saw this perfect combination of tech & composition was in Diablo 3. I talk about the 2.5D tree article.
If you want know more about how these spheres are generated, read my next article about this topic.
Thanks for reading.
In fact, the stars are single textures/billboards:
Possible to post a couple of large image files perhaps?
Thanks for the article. These images would make absolutely awesome multi monitor wallpapers (thinking eyefinity 6000~ x 1024 resolution+), any chance you could provide some really high resolution versions? cheers!
See answer below :D
Hi “-” and “Pete”. Thanks for your comments! I think i’m not the right adress for highres pictures. But i know a place where something like this is the topic: http://deadendthrills.com/
I wrote them an email about your comments and that you would like to see something about Homeworld. With a bit luck we’ll get it :D I would love to have them also.
So this is awesome to find out, I would have never imagined. Not to derail or hijack but since this is Homeworld related and you profess a certain love for the game, I wanted to put this out here. Some guys are working on a kickstarter to try and revive the old homeworlds for digital distribution and touch interface, then move on to make a Homeworld 3. http://www.kickstarter.com/projects/teampix/homeworld-touch-ios-android-and-homeworld-3-pc-mac/
Yeah thanks for the link! But do you think this will be working? I mean buying the license, building the game for only 50.000?
This comment has been removed by a blog administrator.
This guy pulled the backgrounds somehow.
Thank for the hint! I wrote him i message how he did it. I hope he’ll answer. :)
What is even more impressive is that the Spyro Games and Crash Team Racing on play staion One did their bachgrounds that very same way. I guess it saved them memmory back then and they were not so constrained by polycounts, but still a curious and non-intuitive trade-off. CTR even did that for textured surfaces, more specifically, for the Boss Portraits over the boss race door on each world hub in that game, there is a drawing of the boss which if you look at in wireframe, you can verify it uses no texure, but a bunch of gouroud shaded polys.
I noted you comment you maybe i get the chance in the future to look into it. Thx!
Does anybody knows a tool which will do the same with arbitrary models, not with sphere? My idea is to bake lightmaps to vertex colors, and with this kind of tessellation the end result might be almost the same if not better than high-resolution lightmap. Maybe somebody knows games which used this kind of tesselation for lightmapping?
Personally i can’t say anything about this :(
I noticed the same thing on Spyro, and remembered this article.
When you have a big gradient represented by only a few vertices and their interpolated colors, you’re saving all the memory an equivalent texture map would take.
This must’ve been an important optimization for these classic Playstation 1 games.
Super Mario Sunshine for the Gamecube also does vertex color, but for the environment shadows as seen here ( http://blitzbasic.com/Community/posts.php?topic=90523#1029305 ).
By the way, the water in SMS looks amazing. I was impressed by that effect and went on to research what kind of technique drives it.
( http://www.gamedev.net/topic/614608-specular-highlights-on-water/#entry4881841 )
Thanks for these links! Really interesting…the shadows and the water look really good. I tried around with MipMaps for water too – to fake the total reflection :)
Thanks for the interesting article! I figure this technique will still be useful on low-end OpenGL ES2 hardware with limited memory bandwidth for textures.
Just for kicks I wrote a Python and OpenGL based viewer for the hod backgrounds, see https://github.com/laanwj/hw2view for the source code.
Wow that’s great! I didn’t have the time to check your tool, but thank you for sharing and mentioning me in your description :) And yes, i think this tech can be really useful. Not only for low-performance but maybe also for art-style. Sometimes restrictions are the source of creativity :)
You’re right. We did something similar for many background elements (and entire backgrounds) in Castle Doombad. The 2D artist drew up whatever he saw fit, then one of the technical artists/animators hand-matched it with geometry. I was amazed how quickly & precisely he pulled it off.
Still, that was with large solid-colored areas and just a few simple gradients. A tool that could automatically generate geometry for arbitrary hand-painted images, like Relic apparently developed for Homeworld 2, would be a great project.
Yeah that’s right. I really nice side-project which surely can still help in modern games. :)
I’ve been working exactly on this automation tool for the past few months! But in my case I’m even working on further compressing down the meshes. Stay tuned!
Does anyone know anything of games or articles related to this topic? Perhaps some that apply this method too, or worked on some automation?
I am doing this project partly for my own interests and for my master thesis research. It isn’t easy finding these pages. Glad I stumbled upon this article, makes for a beautiful reference! :)
Hm … maybe Oskar Stålberg (see Update #1) can help you with that. Or you can find a programmer who worked on the original Homeworld and ask him? Whatever you do, let us know when you’re done! Would be awesome too see what you’re comming up with!