Is this the best bmax can do?

BlitzMax Forums/BlitzMax Beginners Area/Is this the best bmax can do?

Ryan Burnside(Posted 2006) [#1]
I'm making a low resolution game so the sprites must be crisp and clear. I thought it would be a good idea to use rotation to save on filesize and make animation less difficult. My problim arises from some small mistakes during the rotation process. It may seem that I'm nitpicking but small things like this bother me. If you look at the images the white shine on the hull of the ships and the white bands on the guns seem to differ between images. The cardnial directions came out excellent however. It's just the 45 degree ones that throw my art off.

Here is my function it takes a sprite and forces it to rotate within 8 directions. (for old school goodness!)
Function draw_locked_rotated(sprite:TImage,x#,y#,direction#)

	
	SetRotation Int(direction/360.0*8.0)*45.0
	SetColor 255,255,255
	
	DrawImage(sprite,x,y)
	
	SetRotation(0)
	
	
End Function 


I look forward to any help that you may offer.


Diordna(Posted 2006) [#2]
Is that image scaled up, or real size? Because if it were real size, I would be very surprised.

Also, that's OpenGL/DX's fault, not BlitzMax's.


Perturbatio(Posted 2006) [#3]
welcome to interpolation


H&K(Posted 2006) [#4]
I think its done that quite well, concidering its only 16 pixels across


BlackSp1der(Posted 2006) [#5]
are you trying to make a game in 320x240 resolution? :S

try with 640,480 and scale x2 all the images when draw.


Ryan Burnside(Posted 2006) [#6]
Well the images are 16x16, I have scaled them up 300 percent to preserve accuracy. I don't want to intrepolate the image because it would make the game loose the retro feeling. It just seems odd that this is happening. Wouldn't the algorithem produce the same image for opposite angles? I'm trying to keep this game as retro as possible so I'm very concerned with things like resolution and color counts. If I scale the images up I ger even more smaller distortions. Is there a way to use acurate rotations with a midhandled image or do I need to make 8 subimages for every sprite?


H&K(Posted 2006) [#7]
You only need to make 2 images. 0 rotation and 45deg rotataion


Grisu(Posted 2006) [#8]
^+1


Dreamora(Posted 2006) [#9]
If you don't want interpolation you need to make sure you disable mipmap and filtering on the loadimage / loadanimimage call. then it won't be interpolated, it will then look as worse as you want it to (and pixelated stuff actually looks really worse)


ImaginaryHuman(Posted 2006) [#10]
if you switch on filtering you might seem more of a glimpse of the white bits. There aren't enough pixels to represent each pixel from the original image, otherwise.


Ryan Burnside(Posted 2006) [#11]
Ok thanks guys. I think I'll have to go with the subimage method, it's ok. :)