Shredz64 – Implementing “3D” Graphics

This entry covers the last few days, I’ve been working like crazy on this thing. All graphics related work getting the new “3D” engine in place. I’ve done more algebra and geometry in the last few days than I think I did my entire high school career.

Anyway, added another custom character set (now there is a menu set and a game set) that contains the edges of the fretboard at the correct angle, the button markers (the stationary ones at the bottom of the board), and some double sized numbers for the score. I also wrote a sprite loader to read sprite data of disk. Then I created some button sprites using the sprite editor “Sprite Pad” – it in addition to ConGo and Cuneiform have been absolute lifesavers graphics wise. I made different sized sprites for each stage of progression of the sprite down the fretboard – eg small to large. I then modified the current graphics routines to alter the X coordinate as calculated by the Y coordinate and the slope (the slope being determined by what color button we’re dealing with). Since C64 sprites aren’t large enough width wise to make it to the bottom of the board in the right proportion, I had to use the X-scaling functionality of the VIC-II chip which works great. So once it gets past 12 dots in width (actually 24 pixels, but I’m in multicolored mode so each pixel is doubled in width with the same color, so its 12 2-pixel wide dots), then I switch to 2X width scaling. That covers me up to 48 pixels wide (24 dots). Below is a quick screenshot of work in progress. You can see how the buttons are sized in proportion and positioning to what color they are and how far down the board. Also I have the score-font up with 5 zeros. A lot more to come soon, but I wanted to give a quick sneak peak at how the graphics were lining up.

Leave a Reply

Your email address will not be published.