Tuesday, January 14, 2014

Space Engineers - sound design

We are planning to start adding sound effects in Space Engineers so I thought that this is a good time to share with you our preliminary sound design.
This document doesn’t represent the final work and there are things that may change in the future.

World/server in Space Engineers can be configured in one of two possible modes (it’s configured in world settings – therefore in multi-player all clients have the same settings):
  • Realistic (no sound in space)
  • Arcade (player can hear sounds even if he shouldn’t really hear them)

Implementation rules:
  • Realistic mode: player can hear only sounds that are generated somewhere on his or in his body or cockpit/ship
  • First-person mode and third-person mode are equal. “Audio listener” is always positioned in the controlled object (astronaut, space ship cockpit). In other words, when the player is in third person mode, “audio listener” is in the head of the astronaut (not where the third-person-camera is located)
  • The game should distinguish between sounds generated by the player and by sounds generated by other players. E.g. in realistic mode, the player can hear his own steps, but he can’t hear other players walking. In arcade mode, he can hear them walking, but it may be a different sound (wave file). For these reasons, I am using “player” and “other objects” terminology in the list of sounds.
  • These rules must be encapsulated in some audio class, so the code that just wants to play some sound doesn’t need to know about these rules.
  • These rules must work in single-player, multi-player, when switching between first and third person, when entering and leaving a cockpit (small or large), when dying and re-spawning, when switching between character through dev keys, etc.
  • Material type: rock, metal and human. When two objects collide, we get their material types and play the right sound for this pair of objects (e.g. rock vs metal, metal vs metal, metal vs human, etc.). Voxel asteroids and ore-items are always rock. Small and large ship blocks and other items (components, weapon, etc) are metal. Player character is human.
  • I have not decided yet whether sounds in “realistic” and “arcade” modes should be the same or different. E.g. the player shooting a hand weapon in realistic mode will hear a muffled shot whereas in arcade mode he can hear a real shot sound. We can decide and change this later.
  • HUD/GUI sounds - these sounds are played only for the player who activates them (e.g. if some other player turns on/off his lights, I won’t hear it).
  • Game sounds - We have 2D and 3D sounds. 2D sounds are played if the sound is generated by the player/listener and there’s no distance-volume-curve-attenuation. 3D sounds are played for sounds not generated by the player/listener (other players or objects). 2D sounds are stereo WAV files; 3D sounds are mono WAV files.

Inspiration:

Game sounds:


2D / 3DListener is in suit or in cockpitPlayer / Other objectsDescriptionRealisticArcade
2DSUITPLAYERPlayer running on metal surface (forward, backward, strafe)YESYES
2DSUITPLAYERPlayer running on rocky surface (forward, backward, strafe)YESYES
3DSUIT / COCKPITOTHEROther player running on metal surface (forward, backward, strafe)NOYES
3DSUIT / COCKPITOTHEROther player running on rocky surface (forward, backward, strafe)NOYES
2DSUITPLAYERPlayer sprinting on metal surfaceYESYES
2DSUITPLAYERPlayer sprinting on rocky surfaceYESYES
3DSUIT / COCKPITOTHEROther player sprinting on metal surfaceNOYES
3DSUIT / COCKPITOTHEROther player sprinting on rocky surfaceNOYES
2DSUITPLAYERPlayer jumps up (before he falls down)YESYES
3DSUIT / COCKPITOTHEROther player jumps up (before he falls down)NOYES
2DSUITPLAYERPlayer collision after jump down / fall down, metal surface (this sound may get replaced with collision sound)YESYES
2DSUITPLAYERPlayer collision after jump down / fall down, rocky surface (this sound may get replaced with collision sound)YESYES
3DSUIT / COCKPITOTHEROther player collision after jump down / fall down, metal surface (this sound may get replaced with collision sound)NOYES
3DSUIT / COCKPITOTHEROther player collision after jump down / fall down, rocky surface (this sound may get replaced with collision sound)NOYES
2DSUITPLAYERMissile explosion on player (he was hit)YESYES
3DCOCKPITPLAYERMissile explosion on player’s ship (his ship was hit)YESYES
3DSUIT / COCKPITOTHERMissile explosionNOYES
2DSUITPLAYERCollision between metal and human – we may decide to make multiple versions of the sound to account for size and velocity of colliding objectsYESYES
3DSUIT / COCKPITOTHERCollision between metal and other player – we may decide to make multiple versions of the sound to account for size and velocity of colliding objectsNOYES
3DCOCKPITPLAYERCollision between metal and player ship – we may decide to make multiple versions of the sound to account for size and velocity of colliding objects. We may decide to make a longer continuous collision sound (5-10 secs), as can been seen here http://www.youtube.com/watch?v=CbnwQB9DlYY#t=108YESYES
3DSUIT / COCKPITOTHERCollision between metal and other player ship – we may decide to make multiple versions of the sound to account for size and velocity of colliding objectsNOYES
2DSUITPLAYERCollision between rock and human – we may decide to make multiple versions of the sound to account for size and velocity of colliding objectsYESYES
3DSUIT / COCKPITOTHERCollision between rock and other player – we may decide to make multiple versions of the sound to account for size and velocity of colliding objectsNOYES
3DCOCKPITPLAYERCollision between rock and player ship – we may decide to make multiple versions of the sound to account for size and velocity of colliding objectsYESYES
3DSUIT / COCKPITOTHERCollision between rock and other player ship – we may decide to make multiple versions of the sound to account for size and velocity of colliding objectsNOYES
2DSUITPLAYERPlayer shooting a hand weaponYESYES
3DSUIT / COCKPITOTHEROther player shooting a hand weaponNOYES
2DSUITPLAYERPlayer in space suit (may depend or not on recent activities such as running, jumping, doing things) – breathing, hearth beatYESYES
2DCOCKPITPLAYERPlayer in a cockpit – sound of breathing and heartbeat (similar to space suit sound)YESYES
2DCOCKPITPLAYERPlayer in a cockpit – sounds of nuclear reactors - turn onYESYES
2DCOCKPITPLAYERPlayer in a cockpit – sounds of nuclear reactors - turn offYESYES
2DCOCKPITPLAYERPlayer in a cockpit – sounds of nuclear reactors – running. I think that reactor output depends on consumers, so if e.g. thrusters start consuming more energy, reactors should generate higher-pitch sound.YESYES
2DCOCKPITPLAYERSmall auto cannon shooting – muffled sound of rotating cannon and shots – start/loop/endYESYES
3DSUIT / COCKPITOTHEROther ship auto cannon shooting – normal shooting sounds (but then it may look weird if theplayer hears his own shot muffled)NOYES
2DCOCKPITPLAYERSmall missile launcher shooting – muffled sound of launcher ejecting a missileYESYES
3DSUIT / COCKPITOTHEROther ship missile launcher shooting – normal launch sound (but then it may look weird if the player hears his own shot muffled)NOYES
3DSUIT / COCKPITOTHERMissile flying (burning fuel, etc.)NOYES
3DSUIT / COCKPITOTHERNuclear reactor – turn on (this sound is played when the player doesn’t sit in a ship belonging to this reactor, he is just passing by)NOYES
3DSUIT / COCKPITOTHERNuclear reactor – looping (this sound is played when the player doesn’t sit in a ship belonging to this reactor, he is just passing by)NOYES
3DSUIT / COCKPITOTHERNuclear reactor – turn off (this sound is played when the player doesn’t sit in a ship belonging to this reactor, he is just passing by)NOYES
2DCOCKPITPLAYERLanding gear activation (snap) – muffledYESYES
3DSUIT / COCKPITOTHERLanding gear activation (snap)NOYES
2DCOCKPITPLAYERLanding gear deactivation (un-snap) – muffledYESYES
3DSUIT / COCKPITOTHERLanding gear deactivation (un-snap)NOYES
2DCOCKPITPLAYERShip drill – muffled, sound of rotation, not crushing (start, loop, end)YESYES
2DSUIT / COCKPITOTHERShip drill – sound of rotation, not crushing (start, loop, end)NOYES
2DCOCKPITPLAYERHand drill – muffled, sound of rotation, not crushing (start, loop, end)YESYES
2D / 3DSUIT / COCKPITOTHERHand drill – sound of rotation, not crushing (start, loop, end)NOYES
2DSUITPLAYERHand welderYESYES
3DSUIT / COCKPITOTHERHand welderNOYES
2DSUITPLAYERHand grinderYESYES
3DSUIT / COCKPITOTHERHand grinderNOYES
2DSUITPLAYERShip drill crushing metalYESYES
3DSUIT / COCKPITOTHERShip drill crushing metalNOYES
2DSUITPLAYERShip drill crushing rocksYESYES
3DSUIT / COCKPITOTHERShip drill crushing rocksNOYES
2DSUITPLAYERHand drill crushing metalYESYES
3DSUIT / COCKPITOTHERHand drill crushing metalNOYES
2DSUITPLAYERHand drill crushing rocksYESYES
3DSUIT / COCKPITOTHERHand drill crushing rocksNOYES
2DSUITPLAYERJetpack – start / loop / offYESYES
3DSUIT / COCKPITOTHEROther player jetpack – start / loop / offNOYES
2DSUITPLAYERJetpack - thruster firing (moving in some direction)YESYES
3DSUIT / COCKPITOTHEROther player jetpack - thruster firing (moving in some direction)NOYES
2DCOCKPITPLAYERSmall ship small-thruster firing (we may decide to make this a 3D sound and use the thruster’s position on ship)YESYES
3DSUIT / COCKPITOTHEROther small ship small-thruster firingNOYES
2DCOCKPITPLAYERSmall ship large-thruster firing (we may decide to make this a 3D sound and use the thruster’s position on ship)YESYES
3DSUIT / COCKPITOTHEROther small ship large-thruster firingNOYES
2DCOCKPITPLAYERLarge ship small-thruster firing (we may decide to make this a 3D sound and use the thruster’s position on ship)YESYES
3DSUIT / COCKPITOTHEROther large ship small-thruster firingNOYES
2DCOCKPITPLAYERLarge ship large-thruster firing (we may decide to make this a 3D sound and use the thruster’s position on ship)YESYES
3DSUIT / COCKPITOTHEROther large ship large-thruster firingNOYES
3DCOCKPITPLAYERSmall auto cannon bullet impact on metal – player shipYESYES
3DSUIT / COCKPITOTHERSmall auto cannon bullet impact on metal – other shipNOYES
3DSUIT / COCKPITOTHERSmall auto cannon bullet impact on rockNOYES
2DSUITPLAYERSmall auto cannon bullet impact on player bodyYESYES
3DSUIT / COCKPITOTHERSmall auto cannon bullet impact on other player bodyNOYES
3DCOCKPITPLAYERHand weapon bullet impact on metal – player shipYESYES
3DSUIT / COCKPITOTHERHand weapon bullet impact on metal – other shipNOYES
3DSUIT / COCKPITOTHERHand weapon bullet impact on rockNOYES
2DSUITPLAYERHand weapon bullet impact on player bodyYESYES
3DSUIT / COCKPITOTHERHand weapon bullet impact on other player bodyNOYES
2DSUITPLAYERPlayer switching iron-sight on (this will sound like moving an arm in textile suit)YESYES
3DSUITOTHEROther player switching iron-sight on (this will sound like moving an arm in textile suit)NOYES
2DSUITPLAYERPlayer switching iron-sight off (this will sound like moving an arm in textile suit)YESYES
3DSUITOTHEROther player switching iron-sight off (this will sound like moving an arm in textile suit)NOYES
TODO – add more sounds later, once sound design rules are tested and everyone likes them


HUD and GUI sounds:


---

Thanks for reading this!

Like us on Facebook www.facebook.com/SpaceEngineers, follow us on Twitter www.twitter.com/SpaceEngineersG and you will be notified on all updates.

Warning: Space Engineers is still in development. Everything in the game is subject to change.

34 comments:

  1. Your inspiration (video) is just... perfect ! Keep going, you are amazing !

    ReplyDelete
  2. Fantastic job guys!

    ReplyDelete
  3. shattered horizon done the same thing to great effect.

    ReplyDelete
  4. That last fan made video you linked to ended in an epic way. Those sounds for collisions (in arcade/virtual or realistic/simulation) would be great! Also, notice they added faster breathing when there is a collision to simulate the player being nervous. :P

    ReplyDelete
  5. why is sound a priority in a space sim that still needs mp and survival finished?

    ReplyDelete
    Replies
    1. So the fact that Marek posts a blog on sound means it's a priority above survival and multiplayer ?

      Delete
    2. Thanks Marek for putting up with and ignoring people like Job here,

      Delete
    3. key word "Sim" and in Simulator.

      Delete
  6. Amazing news! I am realy enthousastic to hear the same sound see in the video, in the game!

    ReplyDelete
  7. The design is very logical and interesting. Really love the progress you are making on this game, continue the excellent work!

    ReplyDelete
  8. I see in your table a lot of sounds happening on board a ship you can only hear when in the cockpit, I think you should also be able to hear those sounds if you're standing on a ship (affected by gravity) but very, very low frequency and only for very loud sounds, such as collisions with metal/rock or a player falling down after a jump.
    My reasoning for this is because, especially on metal, sound will travel through the metal and into the suit, although mostly the very low frequencies.

    ReplyDelete
    Replies
    1. Yeah, we were and still are considering this. It would just require a bit more programming, to detect when player is in contact with an object that has sounds happening on or in it.

      Delete
  9. If we go for realistic, explosions CAN be heard in space (altough only the big ones) since the expansion of gases (the shockwave) does produce sound when it reaches you.

    ReplyDelete
    Replies
    1. This is a good point, I will think about it.

      Delete
    2. You need an awful lot of gas to be able to hear anything in a vacuum.

      Delete
    3. The amount of force behind the explosion would need to be ... excessive, and you would still need to be relatively close to the explosion to ensure you could hear anything as it would so rapidly dissipate. And you would STILL only hear the explosion very briefly and somewhat distorted from how you might expect it to sound (considering the frame of reference is all in-atmo).

      Delete
  10. MarEK!!! *CLAP*CLAP*CLAP* MarEK!!! *CLAP*CLAP*CLAP* MarEK!!! *CLAP*CLAP*CLAP* MarEK!!! *CLAP*CLAP*CLAP* MarEK!!! *CLAP*CLAP*CLAP* MarEK!!! *CLAP*CLAP*CLAP*

    WWWHHHHOOOOOO HHOOOOOOOO!!!!! YEAH!!!!!!!

    ReplyDelete
  11. Will you hear the breathing like in one of the inspirational video's ? love the idea and that you guys pay so much attention to even the sound in the game. Just amazing

    ReplyDelete
    Replies
    1. I am not sure about the breathing at this moment. It's cool in movies but if players hear it during their entire gaming experience, it may get annoying. We will experiment with this.

      Delete
    2. I would vote +1 on breathing audio but to lessen the "annoyance" that constant loud breathing would do in an otherwise pretty silent enviroment.
      I would suggest having very good/high quality breathing audio file(s) that work dynamically with what the player is doing and experiencing. i.e player running = heavier breathing vs. player standing still = soft and not so loud/intrusive. Explosions or general damage to player would equal more / heavier breathing,
      You could also have breathing audio just occur during these situations and have silence when no special condition applies to the player.

      Delete
    3. exactly, more variety of the breathing or "silent" and "heavy"breathing in certain situations would lower annoyance of the breathing a lot.

      Delete
    4. i saw in your awesome grid above heartbeat sound. I dont reccomend it because
      I know a lot people who are getting sick of that sound. maybe you can make there a on or off option for? just saying. Keep up the amazing work out there :D

      Delete
    5. Breath and heartbeat make the game literally unplayable with sound on.

      I had to spend more than 30 minutes reloading worlds just to figure out that you made your game a non-stop annoyance.

      Delete
  12. Just brilliant! I love that you use Gravity and "Space Engineers with actual sound" as inspiration for your sound design. It will take this game to the next level. Keep it up, you guys are doing fantastic!

    ReplyDelete
  13. if you add oxygen or compressed air or what ever, the realistic sound should be heard in side the air chamber.

    ReplyDelete
  14. I fully agree with the realistic mode , and so do you , because you have thison your own page:
    ,,We want to create games that are based on real science, real facts, real physics and real emotions. No magic & fantasy allowed."

    ReplyDelete
    Replies
    1. i dont know but sometimes firing a massive laser feels pretty good. if i want to play something realistic. i going to play farming simulater. thats just realistic :D but two seperate modes fixed it already. so yeah this reply is pointless. and bad written.

      Delete
  15. The Realistic vs. Arcade will have to be a server side setting in multiplayer so the Arcadians don't have an advantage over Realists.

    ReplyDelete
    Replies
    1. Yeah, but changing sounds to see what's better should not be a 15 minute ordeal involving three full world loads.

      Delete
  16. Wow. Can you guys just flat-out HIRE the guy that did that third video? This is AAA-level quality.

    ReplyDelete
  17. I love the direction you guys are moving with the sound design being different for realistic mode and arcade mode. Realistic sounds would be so awesome!

    Keep up the excellent work!

    ReplyDelete
  18. fantastic game guys, absolutely loving it this is the game i have been waiting years for, it is exactly what i have been imagining all these years.

    Keep up the great work. :)

    ReplyDelete
  19. Could you maybe work getting the game to work in general? Because it dont work. I feel like i been scammed out of my money. I understand its a work in progreess, but its completely unplayable. Ive tred everything.

    ReplyDelete
  20. The sound update is pointless and annoying. Make a way to turn off the non-stop heartbeat sound. I cannot concentrate with that nonsense going on, and its either non-stop torture or no sound period. You setout to improve, and now there's just no reason to have sound on at all if you want to stay sane.

    Y'all seriously messed up.

    ReplyDelete