Fine scroll without glitches
I changed my mind again: from user experience perspective, the player MUST have the option to explore the world with an onscreen display. With some status, world position, or anything else. Or if he/she wants, can hide the UI, and walk freely on fullscreen.
I know, I know. These are not the biggest problems on the world. But I had to make this work. I can not continue, until I got a 100% (almost) perfect solution.
Of course it's far from perfect, but it's good enough for me ๐
I'm not a huge VIC & CPU timing expert, so I choosed a trial&error approach, and finally was able to stabilize the flickering text, and at the end I had only 1-2 shitty lines. It doesn't look so bad, but I was not satisfied.
Finally I used "clever" tricks to make it work and also look somewhat cool. (The black border lines are only for debugging)

Can you see it? Fine scrolling, stable text, no flicker, no random jumping! ๐ช๐
My very "clever" trick is to cover the ugly few lines with sprites. And because I also need min 1 character height from where the new content can scroll up to the screen, their height was chosen wisely. 8 pixels, so its very very very wise, because they now overlap a full line of characters.
As you can see here, they are covering the area, but by default with the gray background color, so they are invisible. ๐ง๐ชโจ

If we turn them off, then the magic will be completely revealed.

Ok, what are the black lines? These are my raster IRQ positions, where the settings take place.
The upper one (at rasterline 190) is where I setup the sprites' color, size, and position. I didn't want to do it in the bottom raster routine, because I was already struggling a lot with the timing to have a stable and fixed bottom part.
In this way it's more convenient, because I don't need to worry about any timing. The sprites will be positioned below the raster interrupt routine about 15 lines. So the code has plenty of time to do what it needs to do.
Ah, and why I need all this raster IRQ trickery just to position a few sprites on the screen? Because with this tricky trick I used 7 sprite of the available 8!!!
Currently it's not a big deal, because I use only one at the center (the little guy), and the remaining 7 is for the covering. But in the future I think I will need more sprites for the game in the upper area. So with this method, and a raster interrupt at the top of the screen I can also redefine all the 8 sprites again to anything.
And finally I will have 16 sprites on screen. 8+8 separately on the upper and on the lower area.
V8id
An 8-bit crossplatform MMO
Status | Prototype |
Author | Dey |
Genre | Role Playing |
Tags | 8-Bit, City Builder, Commodore 64, Co-op, Massively multiplayer, MMORPG, Open World |
More posts
- Current status of the project6 days ago
- The tales of the zero byte6 days ago
- C64 client: login, scrolling, chars and sprites24 days ago
- C64 client: first steps37 days ago
- Telnet client visual additions55 days ago
- First prototype62 days ago
Leave a comment
Log in with itch.io to leave a comment.