Page 3 of 4
VERA 128K
Posted: Sun Jan 24, 2021 7:07 pm
by Guybrush
1 hour ago, svenvandevelde said:
@GuybrushYes, but the thing is, in lower resolutions the stuff looks ... well ... yeah ... vintage ...
I don't know what you expected... there's (almost) nothing more vintage than 6502
?
VERA 128K
Posted: Sun Jan 24, 2021 7:19 pm
by Perifractic
The key to all of this is that limitations breed creativity. Embrace the limits. Then find ways around them. Very often the end result is something greater than if you had done it the easy way.
VERA 128K
Posted: Sun Jan 24, 2021 8:19 pm
by StephenHorn
Hell, you could almost halve your sprite memory usage for that ship just by shading it so the light source is directly on the vertical axis. Then you could remove half of the axial roll frames and use the VERA's horizontal flipping to pretend the other half exists.
But I agree with others that, ultimately, the VERA is best suited for 320x240 graphics, which is appropriate for the 8-bit era.
The SNES was 256x224. Would you believe that was smaller than the NES's 256x240? The Genesis/Master System was 320x224. PC games as late as Wing Commander: Privateer and Descent (the latter being a fully 3D game with texture shading) were 320x240 resolution. The PS1 was technically a 640x480 platform, but you'll notice that the sprite work in games like Castlevania: Symphony of the Night were still 320x240.
VERA 128K
Posted: Sun Jan 24, 2021 10:00 pm
by svenvandevelde
Embracing it will be. Another day ... another challenge... One thing is a fact. I'm already having LOADS of fun with the CX16! Many funny days are coming. I have another question but I need to ask in another thread. Thanks all.
VERA 128K
Posted: Sun Apr 11, 2021 1:19 pm
by svenvandevelde
What I don't like is the lack of sufficient VRAM in the VERA. Even in 4bpp, memory runs out fast. Especially if you want to embed spritee animations. With the hardware capabilities of the VERA, memory is underscaled when using the high resolution 640x480 in tiled mode.
An example ... 12 sprites of 32x32 pixels in 4bpp requires $1800 bytes. But in high resolution 32x32 px is very little. 64x64 px quadruples the memory requirement... then you talk about $6000 bytes. And that is for just one "healthy" sprite animation ... beside that, you need explosions, damaged states, shadows, overlays like glowing effects, bullet types. So per enemy type you can easily consume $8000 to $A000 bytes (when in 64x64). And note that all this is in 4bpp. When using 8bpp that requires a multiple by 2. So 12 sprites in 8bpp 32x32 consumes about $3000 bytes. In 64x64 mode that would be $C000. That's 1/3 of the VERA VRAM, for one healthy enemy.
An interactive arcade game would easily have 6 to 8 different enemy types on the screen requiring animations, damage states, bullets, shields, glowing etc.
Noting that the VERA has 128 different sprites that can be shown simultaneously I really am afraid that memory upscaling is a requirement to use the full potential of the machine.
VERA 128K
Posted: Sun Apr 11, 2021 1:26 pm
by Lorin Millsap
So stop using 640x480. Drop down to 320x240 and all of your problems will go away.
Sent from my iPhone using Tapatalk
VERA 128K
Posted: Sun Apr 11, 2021 1:48 pm
by Yazwho
18 minutes ago, svenvandevelde said:
An interactive arcade game would easily have 6 to 8 different enemy types on the screen requiring animations, damage states, bullets, shields, glowing etc.
Not sure that's what 8 bit hardware could do. Of the top of my head I'm pretty sure the best NES games like Mario Bros 3 had maybe 4 on screen? All of the above really came to the fore when machines moved to 16 bits.
That said, there are all sorts of optimisations you can do to achieve some of your goals. You just have to figure out how to do it. Clever use of the sprite flipping and the colour pallette index will get you a long way there.
What makes developing on systems like the X16 fun is overcoming the hardware limitations, memory being one!
VERA 128K
Posted: Sun Apr 11, 2021 2:29 pm
by StinkerB06
You don't necessarily have to store all of your sprites in VRAM at once. If you only have one sprite on-screen that uses those 17 frames of animation in the screenshot you posted, just keep one of those animation frames in VRAM at a time and copy the next one from RAM to VRAM when needed. However, this will impact performance.
VERA 128K
Posted: Sun Apr 11, 2021 2:37 pm
by svenvandevelde
7 minutes ago, StinkerB06 said:
You don't necessarily have to store all of your sprites in VRAM at once. If you only have one sprite on-screen that uses those 17 frames of animation in the screenshot you posted, just keep one of those animation frames in VRAM at a time and copy the next one from RAM to VRAM when needed. However, this will impact performance.
This method crossed my mind too. But indeed, that impacts performance and it will require to continuously copy sections of memory into VRAM ... It will have CPU overhead ...
VERA 128K
Posted: Sun Apr 11, 2021 3:04 pm
by Elektron72
59 minutes ago, Yazwho said:
Not sure that's what 8 bit hardware could do. Of the top of my head I'm pretty sure the best NES games like Mario Bros 3 had maybe 4 on screen? All of the above really came to the fore when machines moved to 16 bits.
I would like to mention that the SNES only had 64K of VRAM (and the NES, if I read the documentation correctly, only had about 10K of video memory), whereas the X16 will have almost 128K. With a bit of clever programming, the X16 will likely be able to provide similar graphics capabilities to a 16-bit machine.