<!--quoteo(post=193761:date=May 7 2008, 01:06 AM:name=nineko)--><div class='quotetop'>QUOTE (nineko @ May 7 2008, 01:06 AM) I love it! :D (/OT) Regarding how the graphic engine would work, I'd like to say it could be preferred by all artists to work with transparent PNGS. And keep to a minimum the SPECS needed to run at perfect-speed the actual game. If game lags, it's not Sonic anymore.
I disagree. There were numerous portions of Sonic 2 that lagged quite a bit—most notably while using Super Sonic. There's a lot of graphical glitching when there's a lot of objects on screen at once, and as a result the animation "tears" quite a bit, updating the mappings before the art can be DMA'd to the correct place in VRAM. While this doesn't always produce noticable game slowdown, it is indeed lag, and it occurs often. In other words, lagging and Sonic sort of go together, at least for the first two games. =P
Random Idea: what are the limitations graphic in terms of lighting/ ambience? (im not talking abotu that in the same way you would 3d games with raytrace and such but still..) In S2 the level is flat yeah? But each level has its own character from grassy hills to casinos, the surroundings make no effect on sonic, even when going into gaves or darker areas. Im no programer or anything, im just throwing ideas about, and its obvious this wouldn't be a primary goal. Im just wondering since we are HDifing everything. And some people even were firing about 5.1 sound :P (which was shot down). We are going stereo which will add a great feel, and I was wondering if any of that is feasible or even credible?
Ambient lighting is doable in hardware. But let's not get too ahead of ourselves yet. We don't even have a good idea about how we are going to implement anything yet.
I guess I should have clarified for hardware using Windows. :P @Vincent: You lucky dog, wish my girl would give me something like that. Oh well, she looked once. lol
What, if any, audio library will be utilized for the game? BASS for Windows and Mac (it's got OGG/MP3/FLAC/tons more file type support and it's really tiny), or something like irrKlang for it's simplicity and Linux support?
Whatever method is used for playing the music, remember that it must be possible to make each track play faster than normal while keeping its original pitch.
Good point. This, combined with the fact that the songs should be easily loopable, leads me to think we should use either MIDIs or MODs. It's not trivial to change pitch or speed in a WAV file, it requires FFT algorhytms iirc, and I don't think this is an option in real-time.
There's always BASSMOD which has Linux support but it would be a shame to promote the game as HD and not have much of a soundtrack. Alternatively you could have a fast and normal version of the same song prerendered separately and then the transitioning slowdown/speedup would be a matter of sampling the intermediate audio frames between both precached tracks at specific time stamps essentially interpolating both tracks together.
Problem with two tracks is that the change would be noticeable since one track is faster it will be at a different position in the track than the normal one.
well, if we had a sped-up version that was identical to the normal speed one in everything else except for the fact that its tempo is 2X, then you could have a variable keeping track of which millisecond of the song you are on, then when you switch to the sped up version, just point it to that same millisecond but divide by 2 then you'd be at the exact same location melody-wise, right? (This is assuming that the track we use contains only one loop worth) The only issue is knowing if we can access specific milliseconds of the song or if our libraries have less resolution for seeking to a specific time. A related issue is handling special intro portions of songs that only play once in the beginning of a level and don't show up when looping around the next time.
It should ideally keep track of which sample, not which millisecond, but I don't think that is a problem. Also, the intro samples could be subtracted out, in theory. The thing about this method is that I could see it failing if something weird happens in the audio engine and the timing gets staggered. Running two tracks simultaneously throughout the game seems like a rather less than elegant way to achieve this effect, but I'm not sure how practical our other options are if we use a streamed audio format. From a signal processing perspective, the best thing I can think of is to try and build a real-time phase vocoder and see how bad the transient-smearing is. Of course, I don't even know if we could build a real-time phase vocoder....*sigh* Why couldn't this game have separate power sneakers music...?
You're right in saying that something weird could happen, but several counter-measures could be in place to ensure that the timers are accurate, for instance, maybe comparing bytes processed from the samples, etc. They don't have to be running simultaneously, do they? Maybe the people proposing a MIDI/MOD based system have a point. As long as we have good samples, then it shouldn't be that bad, but then again, we're getting a diverse sound from the different styles the various musicians working on the project are submitting, so I don't know how well MIDI/MOD scales in that situation. BTW, now that I think about it, I remember Twilight Princess dealt with this kind of thing, one version of the song was in MIDI that played when you were not on the horse, then once you got on, it seamlessly switched to the pre-recorded orchestra version. I wonder how difficult it was for them to keep them in sync.