Page 2 of 2

Re: Is it possible to 'scale' sprites?

Posted: Tue Feb 09, 2016 8:52 pm
by ehaliewicz
Manveru wrote:f the console sprites did not save 2 colors per byte, it will be a lot faster.
Agreed. I converted to bytes before rotating, which definitely incurs a large performance hit, but manipulating nibbles probably wouldn't have astounding performance either.

Re: Is it possible to 'scale' sprites?

Posted: Tue Feb 09, 2016 10:01 pm
by Stef
alko wrote:
How do you think those games did the scaling?
likely, at the race level using same principle of first-person-like level.
namely, ray casting (and mirror top\bottom of objects).

Image

Image
Oh neat ! i did known the raycasting was using V flip for only half screen rendering (ceiling and floor are rendered differently) but i never noticed they used the same engine for the raster race level, actually it's quite impressive, the road is nicely done as well (with tires traces).

Re: Is it possible to 'scale' sprites?

Posted: Wed Feb 10, 2016 8:55 am
by POLYGAMe
There are houses and stuff that scale too and they're not mirrored... I think you're right though. It's very cool. Shame it was the only fun level in the game. lol.

EDIT: Just checked it. It's the trucks that aren't mirrored. Everything else seems to be. Trucks could be too with wheels overlaid or something...

Re: Is it possible to 'scale' sprites?

Posted: Wed Feb 10, 2016 9:20 am
by Manveru
ehaliewicz wrote:
Manveru wrote:f the console sprites did not save 2 colors per byte, it will be a lot faster.
Agreed. I converted to bytes before rotating, which definitely incurs a large performance hit, but manipulating nibbles probably wouldn't have astounding performance either.
You can convert to bytes just one time to ram at the beginnig, or you can save the byte buffer in rom. The problem is to re-join the two nibbles to a byte after the rotation, having it ready to be sent to VDP.

One possible solution is using "pixels" of 2x1 or 2x2 pixels size, something like Amiga mode 0.

Re: Is it possible to 'scale' sprites?

Posted: Wed Feb 10, 2016 11:27 am
by alko
how about this scaling?
https://youtu.be/zpGdWYwDNkk?t=2209

scale too quickly.
Maybe head of Lawnmower Man is not a sprite. This is a raster effect on plane ?
how to do it?

Re: Is it possible to 'scale' sprites?

Posted: Wed Feb 10, 2016 5:41 pm
by POLYGAMe
I tweeted Jon Burton who coded it and he said:

"very trick code for sure. Involving mirrored screens, palette swaps and massive code tables..."

Sounds like a raycasting engine, eh?

Re: Is it possible to 'scale' sprites?

Posted: Wed Feb 10, 2016 11:26 pm
by matteus
Jon Burton is quoted as saying this in an interview that interests me :)
The title was released for Mega Drive and SNES in late 1994, with an expanded version released for the Mega CD shortly after. Burton comments that the CD format offered the company the chance to push their games further. “We loved technology and trying to achieve things on the hardware that no-one else could. On the Mega Drive we had full screen rotation and scaling, particle systems, 2D physics, 4096 colour displays, and a full screen Wolfenstein engine at 30fps. The Mega CD gave us more hardware to play with and we had one of the most advanced video play back engines of the time. Eurocom even licensed it from us for Mortal Kombat.”

Re: Is it possible to 'scale' sprites?

Posted: Thu Feb 11, 2016 5:49 am
by POLYGAMe
Well he certainly backs himself! Haha

Re: Is it possible to 'scale' sprites?

Posted: Fri Feb 12, 2016 7:41 am
by alko
Could share code of sprite-scaling from gasega's wolfenstein3d ?

Re: Is it possible to 'scale' sprites?

Posted: Fri Feb 12, 2016 9:19 pm
by POLYGAMe
alko wrote:Could share code of sprite-scaling from gasega's wolfenstein3d ?
Wouldn't be much use to me as it would all be assembly, wouldn't it?

Re: Is it possible to 'scale' sprites?

Posted: Sun Feb 21, 2016 4:37 pm
by Sik
alko wrote:how about this scaling?
https://youtu.be/zpGdWYwDNkk?t=2209

scale too quickly.
Maybe head of Lawnmower Man is not a sprite. This is a raster effect on plane ?
how to do it?
Yeah it's one of the scroll planes, and mirrored horizontally at that.