6

The Homebrew game "pointless fighter" (https://youtu.be/PReg7pPcbIY) has graphics and animations substantially better than most of the MSX2 games.

Is there a technical breakthrough which permits such achievement?

How is it implemented?

  • 2
    There are some comments about the implementation by the developer norakomi himself. – dirkt Aug 30 '17 at 5:16
3

I haven't looked at the code, but here's how I think it works: the Yamaha V9938 video chip supports 8 sprites of 16x16 full-color pixels per scanline. That's 128 pixels which is half of the screen width. But each fighter can be >64 pixels (4 sprites) wide, plus there might be a fireball on the same scanline, so you can't simply assign 3 sprites to each fighter plus 2 sprites to the fireball and call it done. Therefore, the clever part is managing those limited sprites in a way that minimizes visual glitches. Maybe if you play the game long enough and watch closely, you might see one.

| improve this answer | |
  • @dirkt's link above suggests norakomi used "software sprites" (VDP-accelerated bitblits?) for the fireballs and maybe also part of the fighters whenever they are more than 2 sprites wide. Maybe someone with actual experience with game development during the MSX2 era could contribute a better answer. – snips-n-snails Aug 31 '17 at 17:29
  • 1
    V9938 does not support full-colour sprites unfortunately. The basic sprites have just 2 colours per line. However, by sacrificing 4 sprites you can achieve 16-colour sprites, overlaying them in the “OR” mode (like bitplanes). Which is nice, but it reduces the nr. of sprites per scanline to just two. Also you reach the 32 sprites limit quickly (for more you need to do multiplexing, which is tricky). – Laurens Holst Sep 3 '17 at 21:39
3

I read through the thread pointed by a comment. It looks like:

  • It doesn't use HW sprites cause of their limits. Biggest one is just one color per line.
  • It uses a bitmap 256*212 with 16 colors CLUT.
  • Software sprites are drawn with a sort of multiprocessing
    • The VDP cleans the background at the same time
    • the z80 draws the not transparent pixels
  • No background scrolling
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.