[Coco] Project update!
Hugo Dufort
hugo at seshat.ca
Fri Mar 27 23:28:37 EDT 2015
After two weeks, my humble game programming project is giving some
results. I'm sure this has been done a hundred times before, but it's
new for me, as I have never developed anything like that in Assembler.
Now I can display sprites, buffers and tiles, perform page copy and page
flipping, etc. There is still a LOT of work to do before I can finally
create some original graphics and work on a real game level. Sadly the
game won't be ready in time for the Cocofest, but I will keep working!
Please note that the animation "hickups" are caused by the video recorder.
Video link: http://avantrad.ca/upload/hugo/coco3/spriter_demo.mp4
Current features:
- Create sprites and tiles from a Base64-encoded string, from a linear
buffer in memory, or from a tileset page.
- Display sprites with transparency.
- Buffers now keep their screen position pointer for easier background
"restoring".
- Display 16x16 pixels tiles at fixed positions (20x12.5 grid) for fast
calculation.
- Display 8x8 pixels tiles at fixed positions (40x25 grid) for fast
calculation.
- Perform page flipping for smooth animation with almost no flicker.
- Encode graphics in Base64 and auto-generate code using an external
Java utility.
- Works with a standard Coco3 with 128k (according to VCC!).
Features I'm currently working on:
- Better/more efficient tileset functions
- Management of multiple moving sprites using position/movement data
structures in memory.
- Collision detection with platforms; strict detection and reaction
(walk, jump, fall, bounce).
- Collision detection between sprites; lazy "box" detection.
- Keyboard controls.
Despite page flipping, there is still some flicker, which might be
caused by the program not taking the VSYNC into account. Quite frankly,
I have no idea how to do that. I had to add a delay loop in order to
reduce flicker, which is worse when the sprites are in some areas of the
screen. Any help about Vsync interrupts or flags is welcome!
Another problem I have right now is that VCC doesn't like ".bin" files
that were created with Phoenix/CCASM and copied on a DSK. Probably some
program option/switch I have overlooked.
Hugo
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
More information about the Coco
mailing list