Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
GzStarWars

Resizing Sprites for Doom without Quality Loss

Recommended Posts

I have at this bottom of this post, an example Sheet of some of the sprites I am working on for my Star Wars Legacy Project. The problem is that for 1 I'd like to keep them Hi-Res as opposed to degrading them to DOOM's 256 color pallette. Another thing is that I need to keep them from being too large when within the game itself.

So my questions are this.

1. How can I reduce the size so that they will appear the propper size within DOOM without taking much of a hit in quality loss?

2. How do I go about keeping these guys full res and with all there colors?

The project is of course for GzDOOM if you could not tell by my Handle, and I've looked over the ZDOOM wiki, but I'm really not experienced enough with the ZDOOM enviroment to make much sence out of the info there to just do this all on my own with out asking for detailed assistence, as all my old experience was primarily with Legacy.

Thankx in advanced!

http://www.sendspace.com/file/t8rev2


P.S. I do have a basic understanding on how to create new enemies, so I don't need details on that.

Share this post


Link to post

About scaling/resizing the sprites: aren't there the XSCALE and YSCALE options in the Decorate monster data?

About true-color sprites: doesn't hardware rendering support them? I don't use GZDoom, so unfortunately I can't help you much on this. Could work, but with some work?

Share this post


Link to post
GzStarWars said:

So I can use Decorate also to keep the sprites hi-res as opposed to DOOM's 8-bit 256 puke fest?!

Well, 8-bit 256 is not about resolution, but about colors. I think you need hardware rendering in order to make use of 16-bit or more (high color). Otherwise, doom resorts to the basic PLAYPAL lump, which is always 256-color. Don't worry tho, the only colors raped up are cyan (turned into green) and light blue.

Share this post


Link to post

Simply put, at most you can preserve the higher resolution by using DECORATE, but there's nothing you can do about the colors, unfortunately.

Hardware-rendered ports will create the illusion of more colors via filtering, of course, but that will be basically like oversampling an 8-bit audio signal to 32 bits: it will be smoothed out, sure, but there won't be any detail magically added "in between", so what you'll see will always be a beautification of 256-color sprites and textures, not a true hicolor or truecolor rendering.

Share this post


Link to post

Ok, well then let's not concern outselves with the colors, I just want it to look as clean as possible, and more than that I simply want it to work.

I tested this in a wad an it looks off as hell. I managed to get my transparency within the game, but the character floats in the air and has white lines around his body that were not there before.

http://www.sendspace.com/file/c7hgk6


I then tried to make the sprite larger, but now he does not show up at all no matter how many times I try to re-align him.

http://www.sendspace.com/file/bnyc2y

I've apparently lost the path of those instructions hard core because they seem to read a lot easier than what they are, or else I'm just mentaly challenged, which is fully possible!

Share this post


Link to post
Maes said:

Hardware-rendered ports will create the illusion of more colors via filtering, of course, but that will be basically like oversampling an 8-bit audio signal to 32 bits: it will be smoothed out, sure, but there won't be any detail magically added "in between", so what you'll see will always be a beautification of 256-color sprites and textures, not a true hicolor or truecolor rendering.


Unless, of course, you do use true colour sprites, or at least sprites with their own palettes. Zdoom will not be able to use them in their full glory, but it will accept sprites in PNG format and reduce them to the Doom palette itself. GZdoom, however, will show the sprites (or textures, or any other graphic) in their original colour - independent of the Doom palette.

Share this post


Link to post
Enjay said:

Unless, of course, you do use true colour sprites, or at least sprites with their own palettes. Zdoom will not be able to use them in their full glory, but it will accept sprites in PNG format and reduce them to the Doom palette itself. GZdoom, however, will show the sprites (or textures, or any other graphic) in their original colour - independent of the Doom palette.


Is this behavior documented in GZDoom? Because me and mac53 have had a very heated debate over this (he made a sort of (just for what regards my judgement) half-assed sprite enhancement attempt), and my impression was that GZDoom reduced them anyway to 256-color doom palette before displaying them in OpenGL, so the "upgrade" to true color was lost anyway.

Are there any actual WADs using truecolor sprites and textures and any evidence that they actually rendered as such?

Share this post


Link to post

Maes said:
Is this behavior documented in GZDoom? Because me and mac53 have had a very heated debate over this (he made a sort of (just for what regards my judgement) half-assed sprite enhancement attempt), and my impression was that GZDoom reduced them anyway to 256-color doom palette before displaying them in OpenGL, so the "upgrade" to true color was lost anyway.


It uses the original palette of any graphic it loads - which of course doesn't help much if your graphics are crap.


Are there any actual WADs using truecolor sprites and textures and any evidence that they actually rendered as such?


Enjay's Operation Overlord uses a palette with an altered blue but replaces some items with PNGs in their original color.

The ZDoom Community map has a secret replicating the starting room of Strife. You will see that the textures there use the original colors.

And if you are looking for something that almost exclusively uses textures with a custom palette check out Enjay's Thief level for Heretic.

Share this post


Link to post

Why does my question say DUMB? Is that why I'm not getting any responces that will aid me in finding the error in my ways? Or am I not giving enough information?

Share this post


Link to post

That tag is selected by default when you post a new thread. You need to click another radio button to change it.

Share this post


Link to post

Is there an easy way to insert custom palette into a wad? I tried Inkworks but it sucks. The graphics is rendered either in original Doom palette or it is messed up. One more thing, do I need to put in a wad just COLORMAP or PALETTE lump too? I tried it just with the colormap lump from Inkworks, put it between c_start and c_end markers, but it didn't work. I dunno why, but that doesn't matter if there is another way to do it.

Oh, and I am building the wad for latest version of GZDoom.

Thanks for your help.

Share this post


Link to post

I think both, really. PALETTE is for standard stuff not subject to shading, while one of the COLORMAP entries is identical. BTW, PALETTE entries should also be present in COLORMAP.

Search idgames for "color", you should see a lot of practical examples of modified colormaps, including a QBASIC program that generates them.

Share this post


Link to post

I have found the QBasic program but it's strictly programmed to create that bright colormap and not "custom" colormap. Besides it crashed down displaying some kind of error, but I do not understand that. It doesn't matter though. I think I'll draw graphics in 24bit and save them as 8bit just for testing, no matter how ugly it will look. The project I am working on will take long time until finished anyway, so I think a new version of GZDoom that supports 24bit graphics may be released in the meantime. At last I hope it will be... :-)

Thanks for your help anyway. I appreciate it.

Be cool...

Share this post


Link to post

You can always tweak it to create any colormap (well, a GUI version in a more serious language would probably be better and allow more people to experiment with it).

However don't hope for software-rendered truecolor ports anytime soon. They don't exist, period, and there's no project for any, either. Why bother, since OpenGL/Direct3D auto-promotes everything to truecolor anyway?

The only Doom ports that were designed from the start with hicolor/truecolor in mind are PSX Doom and Doom 64 for the N64 (and of those, only PSX Doom uses an enhanced hicolor colormap for lighting effects, if I'm not wrong, while Doom 64 uses more of a hardware dependant rendering).

Share this post


Link to post
Maes said:

Why bother, since OpenGL/Direct3D auto-promotes everything to truecolor anyway?


Because none of the pictures would loose its quality. Have you ever tried to create anything in 24 bits and then apply Doom palette to it? It is converted to 8 bits automatically and it doesn't matter if you choose "nearest color matching" or "error diffusion", the result sucks.

But I have another problem now. I tried to test new flat I made, but GZDoom does not like it. See the screenshot:

http://i183.photobucket.com/albums/x212/seriousxenocide/Flaterror.jpg?t=1179328242

I don't know why this is happening. I remember I had same problem with ZDoom (software rendering) too. I saved the image as 8 bit using original Doom palette and then inserted it in XWE. I aligned the x/y offset to 0 as XWE doesn't do this automatically. The wad containing this flat has just 3 lumps:

FF_START
METAL01
FF_END

Well, you have seen the result. Do you know how to fix it? Anyone?

Share this post


Link to post
Maes said:

However don't hope for software-rendered truecolor ports anytime soon. They don't exist, period, and there's no project for any, either. Why bother, since OpenGL/Direct3D auto-promotes everything to truecolor anyway?

Oh how so very wrong you are! One word: Cardboard

Share this post


Link to post

Do you know how to make certain areas of 3D floor transparent? I would like to use hurdles as the floor, but the areas that should be transparent (I used Doom's transparent color) are black instead. Setting floor and ceiling height to 0 didn't help (flatten the 3D floor). I made whole floor translucent (50%), but I need certain graphics to be solid. If the solution is in the use of PNG format, then I'll need help with that, because I've never worked with that format (and it's layers, if it has any).

Share this post


Link to post
Mancubus II said:

Oh how so very wrong you are! One word: Cardboard


Errr??? Wuzzat, wuzzat?

And about truecolor ports, once again: there are essentially two ways people perceive them: one would be to simply accept certain graphics/sprites with their own palette and use different shading/lighting rules (e.g. this can be done for sky flats), in other words, EXCLUDING them from Doom's usual lighting system via palettes/colomaps.

The other way, more tricky, would be to extend Doom's lighting system (which is done via palette rotations) to a broader palette (16-bit), like the PSX DOOM port does: it uses a sort of "16 bit COLORMAP/PLAYPAL" if I'm not wrong.

When going to full true color then you don't actually have palettes: lighting effects would be just like rendering something (applying e.g. a darkening subtraction to all pixels of a sprite), and the rendering would become quite more complex, to the point that it would be more convenient to switch directly to hardware rendering and better shading methods, thus, once again, defeating the original purpose.

Plus, such a port, should probably drop the usual PLAYPAL and COLORMAP effects and implement them in truecolor as direct pixel manipulations, again, something that OpenGL ports do on their own right.

Share this post


Link to post

This reminds me that, back when I was pretty much a newb to DOOM editing and in regard to messing with its resources, I stated working aon a project where I'd resize many sprites to what I thought were reasonable or realistic sizes, such as making the Player and some monsters taller, shrinking the Lost soul to about 40% size, and changing the dimensions of some of the pickup items.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×