Archive for February, 2008

Shredz64 – Pretty much done!

Stick a fork in it, it’s done. Well, the program is anyway, I still need to record button data for all of the songs. That will take me a week or so. I’m sure there are bugs in the game, I haven’t done a super in depth testing session yet. However, while having to fight 3 times tonight to reclaim 200 bytes from the heap, I realized that only having (less than) 64K to work with is kind of a blessing. It definitely prevents feature creep, which is a pet peeve of mine, even when I cause it. I was thinking of including a easy/medium/hard selection on each song, but the amount of code involved would push me waaay over, especially considering I have 7 bytes free in memory right now. Really, it comes down to if I ever want to make major additions to the game, I’ll have to take the note editor out and put it in its own executable. For now though its nice to have both the game and the editor in the same program, and until I need the space that’s how it will remain.

More updates when the note data has been recorded!

Shredz64 – Note editor finished

I pretty much finished up the note editor tonight, except a few bugs in the delete function. Due to memory issues (e.g. I am completely out, I really had to go through every inch of code, substitute bytes for words under all (possible) circumstances, reduce the maximum number of notes (which was too large anyway)) and due to usability, I changed the way the editor works slightly from whats listed in yesterdays entry. Its mostly the same, with a few differences:

1. Instead of strumming up and pressing keys to delete those keys and strumming down and pressing keys to add notes, you just always strum down and hit the buttons you want. If there are no notes there, it creates them, and if there are notes there, it deletes them (i.e. xor). This saved a LOT of coding and actually makes there fewer things to memorize on the note editor.
2. I changed it so you press the first four buttons and strum up to clear all notes from the song. This is easier than trying to hit all five buttons.
3. The whammy goes from 1/3rd speed to full speed – not to double speed.

Everything except for a few bugs in the delete functionality works like a champ – the whammy bar functionality is pretty neat, I’m glad I could include it in the game, even if just in the editor – it at least works well as a fast forward. The only part I’m not too pleased with is due to speed requirements while recording, notes can’t be recorded in their final organized order – they have to be thrown into the end of the array and then packed when completely finished – or when the song is restarted. It takes about 15 seconds to pack, so whenever you want to restart the song in edit mode it takes 15 seconds. Not a huge huge deal, but a little irritating. I tried to optimize the algorithm, but when push comes to shove, its just a sort over 5 arrays of about 150 items each, it just simply takes a little while on a 1mhz processor. At least I don’t have to reload it off disk again though, its all done in memory until the save is performed.

I’ll be fixing up the bugs tomorrow, off to bed now!

Shredz64 – Planning the Note Editor

One of the small fixes I made today was allowing the notes to start scrolling before the song starts – e.g. if the first note appears on the board when the song starts, if this is immediately once the playboard appears, it wouldn’t give the player time to press it. In this way, there is a 2 second lead in when it shows the first note scrolling down the board, and when it hits the bottom is when the song starts (assuming the first note was recorded when the song starts). You wouldn’t think this would be such a hard thing to implement, but because of a lot of little things it was way too much time. The devil is always in the details. Anyway, its working now.

Also, I think I figured out a way to implement a usable note editor on the C64. Using the following features, I think it will work even with the limitations of SID files:
1. When editing a song, it loads whatever note data it has for a song. If no note file is found, it just starts with blank. Notes are shown on the board just like in regular play mode.
2. Song plays at 1/4th speed to allow recording notes a bit easier. However, the more the whammy bar is pressed, the faster the song plays, up to double speed (e.g. fast forward).
3. If the player strums down while pressing buttons, those buttons are recorded at that position in the song.
4. If the player strums up while pressing buttons, those buttons are deleted at that position in the song (if they’re there. If they’re not nothing happens).
5. If the player strums down while pressing no buttons, the song is saved.
6. If the player strums up while pressing no buttons, the song restarts (since its pretty much impossible to “rewind” a sid, restarting and then using the fast forward function is a good alternative, especially considering SIDs aren’t that long generally.
7. If all 5 buttons are pressed and player strums up, the entire song is blanked out and restarted.

I think this will allow the player to keep restarting and recording things just the way he/she likes them and then continue on to the next section and do the same, and finally save. I think this will work and I won’t have to make a windows editor, which I really didn’t want to do (because of wanting this to be done and wanting to keep everything on the C64 platform). Anyway, work on the note editor will start this week! It will probably take me a couple days. Then I’ll be picking out sids and recording notes (now that I have a nice note editor), which will take a couple days. I have a vacation coming up on the 25th, so by the end of that week, everything should be done (except firmware updates on the PSX64) and a video should be up! We’re almost there!

« Previous PageNext Page »