8-way Smooth Scrolling

Поділитися
Вставка
  • Опубліковано 27 сер 2024
  • In this video I explain how to obtain multi-directional scrolling (8-way) of a map made up of 4x4 tiles. Each character in the Tile can have a different color. The implementation is made in XC=Basic with many inline assembly code (English version). #commodore64 #scrolling #multidirectional #8way #tiles
    Link to code and binary:
    drive.google.c...
    The .gmk64 (C64 Graphics Maker) file can be opened with my free editor: agpx.itch.io/c... (the latest version, the 0.12.10b, is able to export tiles in the format described in video).
    The graphics were downloaded from the following link (and adapted for the C64 by me):
    "Psygen" by surt licensed CC0: opengameart.or...
    Italian version:
    • Smooth Scrolling Multi...
    If you enjoyed the video, please like, subscribe, leave a comment and share as much as you can! Thank you!

КОМЕНТАРІ • 4

  • @igork3522
    @igork3522 3 місяці тому +1

    Thank you for your videos and code access!

  • @c64cosmin
    @c64cosmin 4 місяці тому +3

    This is purely incredible, amazing work and thank you for sharing

  • @ArneChristianRosenfeldt
    @ArneChristianRosenfeldt 4 місяці тому +3

    Now I understand “operation wolf” . It has the status icons at the side. So it can use the full 320px horizontal resolution with scrolling. This may also hide the sprite pointers at the bottom. Of course for most games it makes more sense to use sprites for game objects. I should check how they managed the colors. On C64 you have to use multiple sprites per game object just to pull in another palette entry.

  • @ArneChristianRosenfeldt
    @ArneChristianRosenfeldt 4 місяці тому +1

    With 2px speed the counting of the directions becomes a bit cumbersome. There is a video about an NES game where the position of the player figure is calculated using 16.8 fixed point math. Now add some camera smoothing and remember that we update at 60 Hz. Then no discernible directions will be recognisable by the player. Like Asteroids.And you check the button stage twice per frame for uh, more directions. Ah, the controls are the limit.
    I coded a bit on my C16 with 64k last month. To really follow your video I feel like I have to write something myself. Of course I am a bit anti NES and want to show of the 8x8 color attribute resolution of the commodores. So maybe 4x4 super tiles are just not for me. With TED I thought I just use quad buffer. I am not Creative. Now way I will overflow memory. But then this waste hurts. You got me thinking about sticking to a double buffer. At least TED cannot VSP, so I don’t need to defend the memCopy. Uh, but then my coding on real hardware was about vertical borders. TED has an y register which I can write to, but it only affects the borders, it doesn’t scroll. On both VIC-II and TED you can crunch the first character line to delay memcopy for vertical. So the backbuffer will be a shifted up or down version only if the smooth X scroll register is at 3 or 4. Otherwise the backbuffer contains something shifted a character left or right (and possibly also up or down).
    Is there a part in the video where you talk about “abort and revert” . Like when a scrolling routine after one of 4 frames recognized that it has to undo its work? I tried to find the word: gradually. Like a boundary is stored and two scroll states for both sides.
    I only played Super Mario Maker, but all this discussion about bounding boxes pushed me to this: I want to see Sonic the Hedgehog with ramps, slides, and looping made of 8px long segments. So 2d vector graphics and physics. Just make the level so that the fast sonic can escape our 2px camera. Also, how to play with only one button? Run button, and jumps are “up”?