Sprites & Backgrounds
Feb. 3rd, 2015 06:52 pmContinuing on with the 7800 programming, one thing I wanted to use for the game I have in mind is multidirectional scrolling. 7800Basic doesn't support any scrolling out of the box yet however. Vertical scrolling doesn't look doable at all unless I have it jumping block by block, but horizontal scrolling I was able to mostly enable by making use of plotmap. Basically I just wrote a larger map to store in the ROM, made sure plotmap was aware of it, and then had plotmap move through the map as needed.
That alone would have also had a bit of jumpy behaviour by 8-pixels/1-block, but on the horizontal direction I can start the actual map pixel-perfect in 160 modes. In 320 modes it would be by 2-pixel increments but I've decided to hold off on 320 modes for right now - now that I'm more aware of the color limitations being a little more harsh than I remember. (But I do still want to attempt it, particularly for the world maps.)
My only stumbling block on horizontal scrolling was that the screen couldn't be made to stop cleanly at borders. It would cause bouncing instead, which is undesirable. Thinking about it now I think I have an idea for cleaning that up, but I'll test it tomorrow.
So in the meantime, while I wait and hope for scrolling to be implimenting directly by 7800basic, I'm going to work on some dungeon graphics and how to import them into 7800basic. The particular graphics I'm working on will be larger than a single sprite however and my drawing is still far below par... What I'm thinking of doing is buying some graph paper and drawing on that for perspective - then scanning that in to the computer, resizing it for what would be needed on the 7800, then do touch ups from there. Might be a lot of work but eh. We'll see how it goes.
I estimate these particular graphics will fit within 2 palettes (3 colors each + background) using 160A mode. Technically I can probably do it with just one palette which would be fine too... I should probably aim for 3 colors in the off chance I try to change this to 320 mode as well... (I'm probably fine with 160 for this part of the game however, just to make sure there's more color available.)
That alone would have also had a bit of jumpy behaviour by 8-pixels/1-block, but on the horizontal direction I can start the actual map pixel-perfect in 160 modes. In 320 modes it would be by 2-pixel increments but I've decided to hold off on 320 modes for right now - now that I'm more aware of the color limitations being a little more harsh than I remember. (But I do still want to attempt it, particularly for the world maps.)
My only stumbling block on horizontal scrolling was that the screen couldn't be made to stop cleanly at borders. It would cause bouncing instead, which is undesirable. Thinking about it now I think I have an idea for cleaning that up, but I'll test it tomorrow.
So in the meantime, while I wait and hope for scrolling to be implimenting directly by 7800basic, I'm going to work on some dungeon graphics and how to import them into 7800basic. The particular graphics I'm working on will be larger than a single sprite however and my drawing is still far below par... What I'm thinking of doing is buying some graph paper and drawing on that for perspective - then scanning that in to the computer, resizing it for what would be needed on the 7800, then do touch ups from there. Might be a lot of work but eh. We'll see how it goes.
I estimate these particular graphics will fit within 2 palettes (3 colors each + background) using 160A mode. Technically I can probably do it with just one palette which would be fine too... I should probably aim for 3 colors in the off chance I try to change this to 320 mode as well... (I'm probably fine with 160 for this part of the game however, just to make sure there's more color available.)