https://github.com/mgproduction/baguel
A unexpanded VIC 20 tennis game (suspended / in hold)
https://github.com/mgproduction/baguel
tennis-game vic20
Last synced: about 1 month ago
JSON representation
A unexpanded VIC 20 tennis game (suspended / in hold)
- Host: GitHub
- URL: https://github.com/mgproduction/baguel
- Owner: MGProduction
- License: mit
- Created: 2023-10-28T19:37:47.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-30T14:47:52.000Z (almost 3 years ago)
- Last Synced: 2025-02-25T11:46:46.252Z (over 1 year ago)
- Topics: tennis-game, vic20
- Language: C
- Homepage:
- Size: 492 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Baguel

A unexpanded **VIC-20** tennis game (suspended / in hold)
Note: game's far from ready (if ever it will be). You can try it if you want but keep in mind that's simply a little experiment (at least for now)
This game is mostly a way to try to code software sprites - for unexpanded VIC-20.
And, considering that to avoid flickering it seems that's better (if not needed) to have a sort of "back buffer", with just 3,5 kb there's really little room for a full game (at least not using asm only).
In this project I used a single double shared structure to get the modified screen pos/chars and to add only the needed characters to be mixed (reusing the one in the same position), and a minimal buffer to store those characters while drawing them, so to have a raster sync call to put characters AND added/changed graphic all at once.
I also flip sprite run-time, to minimize original graphic source.
Even this way I almost run out of space EVEN doing a pixel per pixel movement just left-right for human characters (2x2 blocks - so I need potentially 6 chars to draw a horizontal shifted sprite - I'd need 9 each to have a horizontal and vertical shifted sprite)
I guess it should be doable for the extra 3,5 expanded VIC-20. I'll see if try that in the future.
Game coded more or less in **C** using **Oscar64** [https://github.com/drmortalwombat/oscar64].