Crazy idea for emulators...

Page 2/3
1 | | 3

By SLotman

Paragon (1236)

SLotman's picture

12-02-2016, 07:56

yeah, from what I remember from BlueMSX sources, sprites are already rendered separately, so it is to draw the "background" tilted (not extending as far as my images, I know) and then render the sprites in the same way (so they would be automatically tilted like in the first zanac example) - having them *not* tilted as in the knightmare image that would be harder, since it would need translating on-screen coordinates into "tilted screen" ones.

The worst part from what I remember is that sprites are rendered line by line, not just the entire shape - and this could kill the idea.

Quote:

When the sprite is moving to the 'upper' (forward) side it should be correctly scaled, and what about sprite collision when all sprites scaled?

Sprite collision would remain the same - its not about changing any ROM for this - just the renderer on emulators.

By ibitato

Supporter (1)

ibitato's picture

15-02-2016, 19:04

slotman, I cannot sned you PM nor I know who to do it.
I need to talk to you about msxpad.
I hacked it to make the tp3.exe compiler works on modern machines as it should do.
O could do the same with the dsktools part, but i think maybe you're up to make some changes
so you can use my hacks on your msxpad and revive it for modern os.

regards, D.
ibitato at g ma il dor com

By bitsofbas

Resident (54)

bitsofbas's picture

01-03-2016, 14:05

@SLotman: People told me that my little voxel scene looked like your idea, so I'm dropping this here :-) It's not really comparable though as this is definitely NOT something an emulator would ever be able to produce. The only way to do something like this would be to do a full remake, but I'm not up to that task. Way too much work ;-)

Anyway, really liking your gif. Not sure if it would be fun to play, but it sure looks amazing!

By Samor

Prophet (2071)

Samor's picture

01-03-2016, 14:38

Nice; I really like your voxel mockup; image saved Wink
...is there more where that came from?

By bitsofbas

Resident (54)

bitsofbas's picture

01-03-2016, 15:18

Cheers Samor. Nope, nothing more ( for now ). Just some ideas and no time to execute them.
I did make a couple more voxel enemies and background tiles, but nothing worth showing.

EDIT: Oh, wait, I also made a fake European Konami box for Sky Jaguar. Not voxel related, but maybe you fancy? https://www.msx.org/node/48096

By SLotman

Paragon (1236)

SLotman's picture

01-03-2016, 15:47

Actually, doing that in emulators could be possible... The main problem I see is again that sprites are rendered line by line - if they were rendered as single shapes, you could just use some sort of "color/height" thing to do it.

You could render each pixel as a small cube, the Columbia sprite for example, white being "taller" and blue being half height - wouldn't be perfect, but it would give some cool results Smile

By Samor

Prophet (2071)

Samor's picture

01-03-2016, 16:33

bas.alicante wrote:

Cheers Samor. Nope, nothing more ( for now ). Just some ideas and no time to execute them.
I did make a couple more voxel enemies and background tiles, but nothing worth showing.

EDIT: Oh, wait, I also made a fake European Konami box for Sky Jaguar. Not voxel related, but maybe you fancy? https://www.msx.org/node/48096

Looks cool :)

By SLotman

Paragon (1236)

SLotman's picture

01-03-2016, 16:45

Just a small test - grabbed the sprite, and rendered it like I said, as a small bunch of cubes, with different heights for each color... this is the result:

By fkr

Supporter (7)

fkr's picture

01-03-2016, 18:09

Cool idea, and I think it might actually work. I just very quickly hacked together this idea in an MSX1 emulator I wrote myself. Right now it only works with Knightmare. See screenshot.

I simply applied a transformation to turn the rectangular drawing area into a trapezoid. The sprites, as you can see, are handled differently. I simply draw the sprite at the desired (transformed) location, but without applying the transformation on the sprite itself. One thing that became obvious is that different sprites need to be handled differently (e.g. knight should be drawn upright, but arrows shouldn't) and figures consisting of multiple sprites (such as the knight) need special handling, to avoid different parts being drawn at a different "depths". You can see this in the screenshot, where the black and white parts of the cannon balls do not coincide.

Obviously my implementation is still quite ugly and needs more work. If anyone wants to pursue this idea seriously, one thing to be done is to parametrize the way all (0...31) sprites are handled, and to create profiles for different games. As I said, I only looked at Knightmare (sprites 0...3 are the knight, 4...5 the arrows, etc.). Other games will have other sprites assigned to these numbers.

By bitsofbas

Resident (54)

bitsofbas's picture

02-03-2016, 12:59

Looking great guys, this might actually work! I'm in awe with what you're doing, but it's way over my head, so I'll be quiet now. :-) Can't wait to see what you can come up with. Good luck!

Page 2/3
1 | | 3