iterating on the scenario and requirements for the 3D game use case, based on Joe's review
authorOlivier Thereaux <Olivier.Thereaux@bbc.co.uk>
Thu, 02 Aug 2012 16:40:29 +0100
changeset 98 f27090a927fa
parent 97 b409a1ffc600
child 99 002479d4a58c
iterating on the scenario and requirements for the 3D game use case, based on Joe's review
reqs/Overview.html
--- a/reqs/Overview.html	Thu Aug 02 14:49:58 2012 +0100
+++ b/reqs/Overview.html	Thu Aug 02 16:40:29 2012 +0100
@@ -148,8 +148,8 @@
       
       <section>
       <h3>Scenario 2: 3D game with music and convincing sound effects</h3>
-      <p>A user is playing a 3D first-person adventure game on their mobile device. The game is built entirely using open web technologies, and can run in the mobile device's web browser or as a packaged web application.</p>
-      <p>The game includes a musical background which loops seamlessly, and transitions smoothly from one music track to another as the player enters a house.</p>
+      <p>A user is playing a 3D first-person adventure game on their mobile device. The game is built entirely using open web technologies.</p>
+      <p>As soon as the user starts the game, a musical background starts, loops seamlessly, and transitions smoothly from one music track to another as the player enters a house.</p>
       <p>While walking in a corridor, the player can hear the muffled sound of a ticking grandfather's clock. Following the direction of the sound and entering a large hall, the sound of the clock becomes clear, reverberating in the large hall. At any time, the sound of the clock spatialized in real-time based on the position of the player's character in the room (relative to the clock) and the current camera angle.</p>
       <p>As the soundscape changes, bringing a more somber, scary atmosphere to the scene, the player equips a firearm. Suddenly,  a giant snake springs from behind a corner, its hissing becoming a little louder as the snake turns its head towards the player. The weapon fires at the touch of a key, and the player can hear the sound of bullets in near-perfect synchronization with the firing, as well as the sound of bullets ricocheting against walls. The sounds are played immediately after the player presses the key, but the action and video frame rate can remain smooth even when a lot of sounds (bullets being fired, echoing and ricocheting, sound of the impacts, etc) are played at the same time. The snake is now dead, and many flies gather around it, and around the player's character, buzzing and zooming in the virtual space of the room.</p>
 
@@ -157,12 +157,12 @@
       
       <ol>
       <li><p>The need for HTML games to include rich, convincing sound has been the subject of much input to the W3C Audio Working Group. The group considers it a very high priority use case.</p></li>
-      <li><p>This scenario encompasses a very large number of requirements for the management and processing of audio in the Open Web Platform. We will note the following:</p>
+      <li><p>This scenario encompasses many requirements for the management and processing of audio in the Open Web Platform. We will note the following:</p>
         <ul>
-          <li><p>The looping music background to the game could possibly be created with the <a href="http://www.w3.org/TR/html5/the-audio-element.html#the-audio-element" title="4.8.7 The audio element &#8212; HTML5">HTML5 &lt;audio&gt; element</a>. The ability to transition smoothly from one music track to another suggests, however, a capability for <em>mixing and filtering multiple sources</em> not already offered by HTML5.</p></li>
+          <li><p>The looping music background to the game could possibly be created with the <a href="http://www.w3.org/TR/html5/the-audio-element.html#the-audio-element" title="4.8.7 The audio element &#8212; HTML5">HTML5 &lt;audio&gt; element</a>. The ability to transition smoothly from one music track to another suggests, however, a capability for <em>mixing and filtering multiple sources</em> not already offered by HTML5.</p><p>Developing the soundscape for a game as the one described above can benefit from a modular, node based audio processing API. In our scenario, some of the processing needs to happen for a number of sources at the same time (e.g room effects) while others (e.g spatialization) need to happen on a per-source basis. A graph-based API makes it very easy to envision, construct and control the necessary processing architecture, in ways that would be possible with other kinds of APIs, but more difficult to implement.</li>
           <li><p>The scenario illustrates many aspects of the creation of a credible soundscape. The game character is evolving in a virtual three-dimensional environment and the soundscape is, at all time, spatialized: a <em>panning model</em> can be used to spatialize sound sources in the game; <em>obstruction / occlusion</em> modelling is used to muffle the sound of the clock going through walls, and the sound of flies buzzing around would need <em>Doppler Shift</em> simulation to sound believable.</p></li>
           <li><p>As the soundscape changes from small room to large hall, the game benefits from the <em>simulation of acoustic spaces</em>, possibly through the use of a <em>convolution engine</em> for high quality room effects.</p></li> 
-          <li><p>Many sounds in the scenario are triggered by events in the game, and would need to be played with low latency. The sound of the bullets as they are fired and ricochet against the walls, in particular, illustrate a requirement for <em>basic polyphony</em> and  <em>high-performance playback and processing of many sounds</em>.</p></li>
+          <li><p>Many sounds in the scenario are triggered by events in the game, and would need to be played with low latency. The sound of the bullets as they are fired and ricochet against the walls, in particular, illustrate a requirement for <em>basic polyphony</em> and <em>high-performance playback and processing of many sounds</em>.</p></li>
         </ul>
       </li>
       </ol>