XNA Creators Club Online
Page 1 of 1 (3 items)
Sort Posts: Previous Next

Music-based XNA Project

Last post 05-06-2008 6:23 PM by jwatte. 2 replies.
  • 04-05-2008 12:41 PM

    Music-based XNA Project

    [mod: Split off from help wanted request since its turning into a tech discussion http://forums.xna.com/thread/55507.aspx]

    If you are a solo coder or a small two or three-man team who can complete an XNA gaming project within 7 months, then we are interested in you.  The responsibilities will include creating all 3D models, game art, textures, and then integrating all content (including audio) into the game engine.


    A "coder" doesn't create 3D models and game art. That's what you have "artists" for. And, to have an idea of whether a 7 month deadline is even realistic, you'd need at least a master list of assets, listing each asset, what the budget is (texture/polys/vertices/bones), and some reference art for what you want the quality bar to be like. If you haven't developed this yet, then you should know that doing so is traditionally the responsibility of the hiring company, not the hiree. If you need help developing that information, then you should probably contract out for that, first, before contracting out for implementation help.

    Another suggestion for you is to describe the gameplay. If it is music-based, it's not clear that XNA will be able to do what you need, because there is no explicit sync between audio cues and on-screen action -- specifically, if you're playing some background music, you will start drifting out of tempo after a few bars, and there's no way to stitch multiple segments together to make a song and have any guarantee that they will match up in time/rhythm.

    Jon Watte, Direct3D MVP kW X-port 3ds Max .X exporter kW Animation source code
  • 05-06-2008 4:43 PM In reply to

    Re: WANTED: C# Solo Developer or coding team for Music-based XNA Project

    jwatte:
    If it is music-based, it's not clear that XNA will be able to do what you need, because there is no explicit sync between audio cues and on-screen action -- specifically, if you're playing some background music, you will start drifting out of tempo after a few bars, and there's no way to stitch multiple segments together to make a song and have any guarantee that they will match up in time/rhythm.

    I need to investigate this more.  I don't know enough about the audio capabilities of XNA at this point but it seems strange that you couldn't sync up music that's played at a specific tempo to events that happen on the screen.  Are you saying that when you trigger an audio event at a certain time there's no guarantee that it will play at that time? 

  • 05-06-2008 6:23 PM In reply to

    Re: WANTED: C# Solo Developer or coding team for Music-based XNA Project

    If you trigger audio at time T, it will play within some number of milliseconds of T -- say, within 50 milliseconds, which is fine for game feedback, but not quite enough for musical resolution.

    However, what I'm really saying is that there is no guarantee that the DAC on the sound card and the on-board clock used by the CPU are in sync. If you used the CPU clock (which ends up as GameTime, Timer.CurrentTime etc) as reference, then a DAC that's nominally running at 48 kHz could actually be running at 48030 Hz, or 47970 Hz, or maybe even 47600 or 48400 Hz -- each of those are within 1% tolernace (and the bigger ones are better than 0.1% tolerance). Without the ability to read back the sample counter from the sound card at regular intervals, there will be drift between played sound and CPU measured time, over time. And 1% over one minute is 600 milliseconds -- which is more than a full beat at 120 bpm!

    In XNA GSE 3.0, the team has now announced that there will be a new API for playing music-style sounds. I also know that the XAudio2 API (the underlying hardware API for Xbox sound and now also for Windows game sound) will give you a sample clock counter for the playing streams. Thus, you could conjecture that they will provide that query capability in the music playback API. If they do, then rhythm-based games (where you need to hit things "on the beat") will be much more realizable using XNA, as long as you still don't need procedural modification of audio.
    Jon Watte, Direct3D MVP kW X-port 3ds Max .X exporter kW Animation source code
Page 1 of 1 (3 items) Previous Next
var gDomain='m.webtrends.com'; var gDcsId='dcschd84w10000w4lw9hcqmsz_8n3x'; var gTrackEvents=1; var gFpc='WT_FPC'; /*<\/scr"+"ipt>");} /*]]>*/
DCSIMG