I'm down to putting in a few basic sounds for my Space Invaders game. Nothing special, I don't think I'm very creative and while I understand the parameters of the ENVELOPE command I can't really translate that in my mind into the 'shape' of a particular sound. Regardless, a basic explosion sound was pretty easy to come up with on channel 0, and after some experimenting I came up with (what I think) is a reasonably passable attempt at the classic 2 pitch movement sound for the aliens. So it seemed ok, but I have a couple of issues. The first was when I get down to the last alien and it's moving very fast the sound was causing a problem as suddenly everything slowed down and became jerky. I'm guessing the alternate sounds were now playing too close together and queuing up, and in conjunction with executing the rest of the game code this is what caused the slow down. So I changed the sound from:
SOUND 0,-15,3,2
to
SOUND &0010,-15,3,2
...thereby immediately stopping the previous sound and preventing a queue. This seems to work...speed is back to normal, but now I have a new problem. I had a 2 second explosion sound on channel 0 play when the flying saucer gets hit, but of course this now gets truncated immediately as soon as the aliens move, so it sounds a bit weird. Obviously it was getting truncated anyway even when the aliens are moving slowly, but it's nowhere near as bad as when they are moving fast. I know the User Guide doesn't say you can do this but is there a way to play an 'effect' on a channel other than 0? Or 2 tones on channel 0? I'm guessing the answer is probably no, but it would be the simplest way of dealing with this I think.
I can only think of 2 other alternatives. One is to create an envelope and play a sound on a non-effect channel that mimics the movement effect sound, but I think that's beyond me. I just can't see the shape of the sound in my mind. I don't even know if it's possible to mimic that sound on one of the non-effects channels but I don't think I could do it. The other is to check if the saucer (or an alien for that matter) is being blown up during the alien movement phase and simply not play the movement sound at that time. That's more involved, but it's doable.
Any feedback / suggestions welcome.
SOUND 0,-15,3,2
to
SOUND &0010,-15,3,2
...thereby immediately stopping the previous sound and preventing a queue. This seems to work...speed is back to normal, but now I have a new problem. I had a 2 second explosion sound on channel 0 play when the flying saucer gets hit, but of course this now gets truncated immediately as soon as the aliens move, so it sounds a bit weird. Obviously it was getting truncated anyway even when the aliens are moving slowly, but it's nowhere near as bad as when they are moving fast. I know the User Guide doesn't say you can do this but is there a way to play an 'effect' on a channel other than 0? Or 2 tones on channel 0? I'm guessing the answer is probably no, but it would be the simplest way of dealing with this I think.
I can only think of 2 other alternatives. One is to create an envelope and play a sound on a non-effect channel that mimics the movement effect sound, but I think that's beyond me. I just can't see the shape of the sound in my mind. I don't even know if it's possible to mimic that sound on one of the non-effects channels but I don't think I could do it. The other is to check if the saucer (or an alien for that matter) is being blown up during the alien movement phase and simply not play the movement sound at that time. That's more involved, but it's doable.
Any feedback / suggestions welcome.
Statistics: Posted by emiliom — Tue Mar 05, 2024 1:56 pm