Did you try to widen the area where we have to send the ball by using tiles instead of sprites?
This should allow the size of the area to vary depending on the difficulty.
The size of the target area already vary depending of the difficulty:
- Easy : 32 x 32 pixels
- Medium : 16 x 32 pixels
- Hard : 16 x 16 pixels
Anyway, I have no more room in VRAM to put tiles in alternative color.
This game is fantastic. The players have many colors like MSX 2, and are very well animated. The ball physics is excellent, too.
Allow me to give 1 suggestion:
The ball pitcher can consist of tiles + 3 sprites.
The sprites that overlap are 2 at the top (green and yellow) and 2 at the bottom (green and white)
In this way you avoid flickering while maintaining the graphic aspect
I think the ball is made up of 2 sprites, so you will never have sprites overlaps
No sprites, just change the tile color can avoid flickering.
This is a demo of sprites + tiles and no flickering Demo
Can you explain what you did? I don't know what I'm supposed to see. ^^
If you can make a ROM, it could be easier for me to check what you did through Meisei or Emulicious's VRAM viewer.
In "Final.dsk" run "Final.bas"
in "Final.asm" you can read a not optimized asm-code used in dsk file.
The starting point is that in rom file I see the ball pitcher consisting of 4 colors in 8 pixels.
I then used sprites + tiles to show the possibility of overcoming this limit.
In my file you see only a static image of course. But we have the ball pitcher and the ball on the left without flicker
Asm-Code is simple:
;******************************************************************************************
ORG $8400
;******************************************************************************************
ld BC,$02F0 ;= 8 x 94 = 752 = $02F0
LD HL,Patterns
LD DE,$0000
call $005C ;copy Patterns in VRAM
ld BC,$02F0 ;= 8 x 94 = 752 = $02F0
LD HL,Colors
LD DE,$2000
call $005C ;Copy Colors in VRAM
ld BC,$0300
LD HL,Pos
LD DE,$1800 ;Pos
call $005C ;Copy Position tiles in VRAM
;******************************************************************************************
ld BC,$00A0 ;Copy sprite patterns in VRAM
LD HL,SpritesPatterns
LD DE,$3800
call $005C
ld BC,$0020 ;Copy sprite position and attributes in VRAM
LD HL,SpritesPos
LD DE,$1B00
call $005C
ret
;********
DATA
You can try the 48K ROM: fs0200.rom
I have tried it on the CocoaMSX an runs fine. Congratulations for the hard job done here! I'll try to make some time to load it on my Padial LPE Flash Cartridge and let you know.
Thanks