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

Design Considerations for In-Game Dialog

Last post 24/12/2007 18:07 by cyansoft. 5 replies.
  • 23/12/2007 14:55

    Design Considerations for In-Game Dialog

    One completely unnecessary, but very cool and professional feature I would like to add to the game I'm working on (time permitting, of course) is to add voice overs for all the in game dialog in my game. 

    I'm working on an RPG with about 70 printed pages of dialog (it takes a good hour to read the entire script out loud).  A conservative estimate on the number of cues I'm going to end up with is about 210 (70 pages x 30 lines per page).  My question is to how to manage that much sound. 

    There is about 20 scenes in the game.  I was thinking this would make a natural heuristic on how to split up my cues.  I was thinking of creating one wave bank and sound bank per scene.  This should make it much easier to manage in XACT than having one wave bank with one sound bank for the entire game. 

    When a scene is loaded, I plan on having my audio manager load the wave and sound bank for that scene's dialog.  Then when the scene is over, both the wave and sound banks will be disposed (by manually calling the Dispose() method.) 

    My question is what I outlined above a good method of handling this?  Is there anything else I should consider?  Any potentials for a performance bottleneck (e.g. a large scene might have up to 50 cues that need to be played consecutively, would having all these cues in one set of banks be a problem)? 
  • 23/12/2007 15:00 In reply to

    Re: Design Considerations for In-Game Dialog

    unfortunately I don't have any answers for you other than perhaps a suggestion to do a prototype before you start coding in earnest.  However, I would be very interested in knowing the outcome :-)  stats such as what you're describing would be very good to know for others that are considering a similar system.
    Joel Martinez - XNA MVP
    Blog: http://codecube.net
    Play Videos on an XNA Texture: Scurvy Media
    XNA Unit Testing: Scurvy Test
  • 23/12/2007 15:05 In reply to

    Re: Design Considerations for In-Game Dialog

    Joel Martinez:
    unfortunately I don't have any answers for you other than perhaps a suggestion to do a prototype before you start coding in earnest.  However, I would be very interested in knowing the outcome :-)  stats such as what you're describing would be very good to know for others that are considering a similar system.


    Unfortunately, I won't be able to even build a prototype of this feature until March at the earliest.  I need to get a game up and running first as this feature is really just icing on the cake. 
  • 23/12/2007 17:07 In reply to

    Re: Design Considerations for In-Game Dialog

    Answer
    Reply Quote
    I suspect you may be over-engineering this. If you make a streaming wavebank (set the streaming flag in the XACT tool, and use the overload of the Wavebank contsructor that lets you specify the stream buffer size) I bet it would work just fine with all your cues in a single huge bank.
    XNA Framework Developer - blog - homepage
  • 23/12/2007 22:25 In reply to

    Re: Design Considerations for In-Game Dialog

    Shawn Hargreaves:
    I suspect you may be over-engineering this. If you make a streaming wavebank (set the streaming flag in the XACT tool, and use the overload of the Wavebank contsructor that lets you specify the stream buffer size) I bet it would work just fine with all your cues in a single huge bank.


    Excellent.  I didn't even know you could override the stream buffer size.  I'll try it out maybe tomorrow.  I just finished something for my game project I thought would take several more days, so I've got some extra time to prototype. :)
  • 24/12/2007 18:07 In reply to

    Re: Design Considerations for In-Game Dialog

    Alright, I put together a prototype today with 100 cues of white noise each 60 seconds in length.  Then I created a game loop that randomly selects a cue and plays it.  After it plays, another random cue is selected and played.  This process repeats until the user exits the game.   I let it run for about a half hour, and kept checking the memory usage in the task manager.  So far, I have no performance issues as the app's memory usage only fluctuates 4k throughout the entire execution of the program.  I'm impressed.
Page 1 of 1 (6 items) Previous Next