Author Topic: Xpace's Updated Graphics for GH1  (Read 462 times)

Offline xpace

  • Full Member
  • ***
  • Posts: 213
    • View Profile
    • http://xpace.awardspace.com/
Xpace's Updated Graphics for GH1
« on: September 24, 2011, 01:33:49 PM »
This year I've been gradually putting together newer graphics and other improvements for GearHead 1. It's coming along nicely and I'm getting close to a point where I'll be satisfied enough to upload my changes as a pack. However, I still have some changes, tweaking, and testing to do before then.

Stay tuned...

Offline xpace

  • Full Member
  • ***
  • Posts: 213
    • View Profile
    • http://xpace.awardspace.com/
Re: Xpace's Updated Graphics for GH1
« Reply #1 on: September 24, 2011, 02:34:53 PM »
I may not be ready yet to upload a pack of my changes for GH1. But I did want to share what I've been working on lately: New, smooth hills!

For me, I think the most annoying part of GH1 graphics are the square, artificial-looking hills. With the perfectly flat surfaces and sharp angles, they look more like buildings or concrete dikes (levees) than natural terrain. I did notice that SharkD released a "demo" of possible graphics improvements in his POVCollection and that included some smooth hills. But that was just a small demo.

Starting from scratch, I tried to duplicate the blocky GH1 hills in Blender. I had to eyeball it, but I think I came very close. GH1 uses a total of 16 combinations of different angles on various hill shapes. Then I had to create a Gradient texture to duplicate the colors used on the original hills. This involved both eyeballing and using a color dropper tool, converting back and forth between two different RGB scales.

Then I added a subsurf modifier to each shape. This more difficult than it may sound because it involved a lot of changes to the "Crease" on model edges (using the Transform Properties window). Another words, a lot of trial and error was needed to get the shapes just right.

Further, the materials needed a lot of tweaking - turning off Specularity, experimenting with Shaders, and adjusting both the Reflection and the light sources. To get the shading just right, I found that the "Sun" had to be 3 degrees to the left of the Camera. And the camera had to be scaled by a factor of 35 exactly (with an output of 800x600) to get it to fit the 64 pixel-wide tiles. (With anti-aliasing turned off, of course.)

After I was more-or-less satisfied with the results, the rendered output had to be cut-n-pasted into the tiles. This involved more eye-balling as well as some post-rendering touch-ups in a paint program to get them to look right.

I think it turned out pretty good:

(Note: You may also notice other changes: The grass tiles are more textured, the water tiles are textured & transparent (water tiles by d_valroth), and the mecha sprites are updated. Though it may be hard to tell, even the trees are more textured.)

Here are the files: Download gh1-smooth-hills.zip from Host-A
Just unzip them over the originals in C:\GearHead 1\Image\ (or whatever).

Finally, because I'm such a nice guy, here are the Blender files that I used to create these. Perhaps someone might find a use for these? (Maybe someone would want to render their own versions?) Anyway, hill1.blend is the original blocky version, hill3.blend is the smooth height 1 version, hill4.blend is height 2, and hill5.blend is height 3:

Download gh-new-hills-(blender).zip from Host-A
« Last Edit: September 24, 2011, 06:06:20 PM by xpace »

Offline peridot

  • Full Member
  • ***
  • Posts: 118
    • View Profile
Re: Xpace's Updated Graphics for GH1
« Reply #2 on: September 25, 2011, 06:00:40 AM »
Nice!

I don't know if you're interested, but there was a discussion on the forum of a potential improvement in the recolorizable graphics format. Specifically, all graphics now are forced through a 256-color palette so that pure greens yellows and magentas can be picked out and assigned custom colours. But a slight modification in the code would avoid the palettization entirely. Just go through the pixels and select the ones that are exactly pure green, yellow, or magenta and recolor those. This also lets you use non-recolored green, yellow, or magenta by using colors like (255, 255, 1). The code isn't part of GH yet, but I do have python code that implements both methods. (Intended for a GH spinoff that would use GH graphics.)

Offline xpace

  • Full Member
  • ***
  • Posts: 213
    • View Profile
    • http://xpace.awardspace.com/
Re: Xpace's Updated Graphics for GH1
« Reply #3 on: October 23, 2011, 05:00:08 PM »
...there was a discussion on the forum of a potential improvement in the recolorizable graphics format. Specifically, all graphics now are forced through a 256-color palette so that pure greens yellows and magentas can be picked out and assigned custom colours. But a slight modification in the code would avoid the palettization entirely. Just go through the pixels and select the ones that are exactly pure green, yellow, or magenta and recolor those. This also lets you use non-recolored green, yellow, or magenta by using colors like (255, 255, 1). The code isn't part of GH yet, but I do have python code that implements both methods. (Intended for a GH spinoff that would use GH graphics.)

Sounds interesting. But perhaps you can clarify something? In what way would this workaround benefit the game? Would it a) show existing images more closely to their original colors, b) improve game speed, or c) allow the creation of new images that could bypass existing palette restrictions.

If your workaround improves either a) or b) (or both), then I would be interested. However, if it works by way of c), then it's not something that I want to bother with. Though, perhaps you could tell myself and others where to find the Python code you speak of...?

Oh, and speaking of the 256-color palette swap code: I noticed something interesting in the change log (history.txt) for the last release (v1.100):
Quote
Added "ADVANCEDCOLORS" config switch to activate theoretical color swap (sdlgfx.pp)

Strangely, that option is more-or-less undocumented because it was not mentioned in config.txt (in the doc subdirectory). I did try that switch, but I have not done much testing with it. So far, I have not noticed any difference. (I plan to look at side-by-side comparisons of screen shots when I get around to it.)

Also, while searching on the 'net, I noticed that libpng1.dll and all the other DLL's have newer versions available. The ones that GH1 uses range in date from 2001 to 2004. And the code and binaries I found range from about 2009 to 2011. These DLL libraries indicated, one way or another, that they were compatible with Free Pascal. (Most were linked directly from the Free Pascal site.) But despite that, I could not get them all to work with GH1. I guess the GH1 source code would have to be modified to make it work with one or more of them. (More testing is needed.) But I have to wonder if taking advantage of the newer DLL's would allow GearHead to incorporate Alpha Transparency and other graphics features that have been wished for...

Offline xpace

  • Full Member
  • ***
  • Posts: 213
    • View Profile
    • http://xpace.awardspace.com/
Re: Xpace's Updated Graphics for GH1
« Reply #4 on: October 23, 2011, 05:15:55 PM »
I'm getting closer to releasing that GH1 graphics pack/GH1 variant. (Adding the ability to display enemies and allies in their faction colors is proving more difficult that I had anticipated.) But there is something that I could use help with:

Which of the following tiles would look best to represent desert/sand?



From the left, (1) is the original desert tile, (2) is a tile by (if I'm not mistaken) Valroth, and the rest I created using a free texture of sand. And, yes, some of them are very similar. In some cases the only difference was the level of sharpness that was applied.

Offline DudeGuyMan

  • Newbie
  • *
  • Posts: 43
    • View Profile
Re: Xpace's Updated Graphics for GH1
« Reply #5 on: October 23, 2011, 10:01:55 PM »
Any of the desert tiles are fine, default is fine, whatever. It's all good. As for mecha colors, I'd settle for turning them all from pink to grey or random colors or whatever personally.

Offline Prokofiev

  • Newbie
  • *
  • Posts: 12
    • View Profile
Re: Xpace's Updated Graphics for GH1
« Reply #6 on: October 23, 2011, 10:54:48 PM »
Hmm. Considering that they'll be tiled, something a bit more subdued (and thus generally less obviously tiled) might be best. They all do look nice, but I think 3, 4, and 6 would be better than 5 or 7.

Personally, I think 3 would look the most sand-like when tiled, but they'd all do well.

Offline Crucifix

  • Full Member
  • ***
  • Posts: 173
    • View Profile
    • http://thefamous.ning.com
Re: Xpace's Updated Graphics for GH1
« Reply #7 on: October 24, 2011, 02:36:23 AM »
#3, #4 or #6 methinks, #5 and #7 are too strongly patterned. 1/2 are fairly bland and yellowy, whilst 3/6 look sandline and have a little definition to keep things from looking featureless.

I agree that #3 is the sandiest sand of all.

Offline SharkD

  • Hero Member
  • *****
  • Posts: 961
    • View Profile
    • Isometricland
Re: Xpace's Updated Graphics for GH1
« Reply #8 on: December 25, 2011, 05:35:52 PM »
I wish the game used heightfield (or heightmap) data instead of the hill sprites. Unfortunately it would break in the ASCII version of the game since there's no good way to represent heightfields in plain text AFAIK.

[edit]

I just started a question on this topic at StackExchange.

http://gamedev.stackexchange.com/questions/21537/heightfield-terrain-in-ascii-games

Also if you look here you'll see my attempts at creating smoother/rounder types of terrain.

http://lib.povray.org/searchcollection/index2.php?objectName=GameSprites&contributorTag=SharkD

None of them turned out to look very well.
« Last Edit: December 25, 2011, 07:02:43 PM by SharkD »