All brands, logos, and trademarks used in this presentation are under the copyright of their legitimate owner.

Slides:



Advertisements
Similar presentations
4/1/2017 4:16 PM.
Advertisements

COM vs. CORBA.
SAFE AND SOUND Risk Free Audio Development GDC San Francisco 2009, Audio Boot Camp Tomas Neumann – Senior Audio Programmer.
PayAdvantageHR Imagine an integrated HRIS – Payroll – Enrollment platform with one login at your fingertips Presents.
AUDIO IMPLEMENTATION Ship What Got Designed IGDA Frankfurt Chapter 2009 Tomas Neumann – Audio Technical Lead All brands, logos, trademarks, and pictures.
CSE 380 – Computer Game Programming Audio Engineering.
Documentation 1 Comprehending the present – Investing in the future.
VoipNow Core Solution capabilities and business value.
Warner Bros. International Dubbing & Subtitling and Warner Bros. Post Production Services Present A Major's Global Approach to Game Localization.
CS 4730 Game Design Patterns CS 4730 – Computer Game Design Credit: Some slide material courtesy Walker White (Cornell)
GreenWor ds This Old Application Front-End Quality Management and Your Mission-Critical Fixer-Uppers.
Active Directory: Final Solution to Enterprise System Integration
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
CBSD – Component Based Software Development - Introduction -
Copyright © 2007 Advantica Inc. (USA Only) and Advantica Ltd. (Outside USA). All rights reserved by the respective owner. Benefits of an Integrated Compliance.
Object-oriented Programming Concepts
3D Game Programming All in One By Kenneth C. Finney.
BUSINESS DRIVEN TECHNOLOGY
1 Working with Classes Chapter 6. 2 Class definition A class is a collection of data and routines that share a well-defined responsibility or provide.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
CSC230 Software Design (Engineering)
Created by the Community for the Community Building a RFID solution in BTS 09.
Chapter 1 1 © Prentice Hall, 2002 Database Design Dr. Bijoy Bordoloi Introduction to Database Processing.
TM Freescale, the Freescale logo, AltiVec, C-5, CodeTest, CodeWarrior, ColdFire, C-Ware, mobileGT, PowerQUICC, StarCore, and Symphony are trademarks of.
XML, DITA and Content Repurposing By France Baril.
Chapter 1 1 © Prentice Hall, 2002 Database Design Dr. Bijoy Bordoloi Introduction to Database Processing.
Procgen Chaz Pratt 11/3/2009. overview What is procgen? What we tried? What worked? What didn’t? Try again?
Games Development 2 Entity / Architecture Review CO3301 Week
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation.
Game Development and Game Design academy.zariba.com 1.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
Figure – Chapter 6. Figure 6.1 The architecture of a packing robot control system.
Mark Nelson What are game engines? Fall 2013
Presented by Xiaoyu Qin Virtualized Access Control & Firewall Virtualization.
CS212: Object Oriented Analysis and Design Lecture 4: Objects and Classes - I.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
© 2007 by Prentice Hall 1 Introduction to databases.
CSC 313 – Advanced Programming Topics. Design Pattern Intent  Each design pattern is a tool  Like all tools, have reason for being.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
Lecture 5: Sun: 1/5/ Distributed Algorithms - Distributed Databases Lecturer/ Kawther Abas CS- 492 : Distributed system &
CoFM: An Environment for Collaborative Feature Modeling Li Yi Institute of Software, School of EECS, Peking University Key Laboratory of High Confidence.
CSE 219 Computer Science III Program Design Principles.
February 3, Location Based M-Services The numbers of on-line mobile personal devices increase. New types of context-aware e-services become possible.
Building the right web team Matt Herzberger. The Goal Getting the right people in the right room at the right time.
Storing Organizational Information - Databases
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Game Programming Patterns Event Queue From the book by Robert Nystrom
Games Development 2 Overview & Entity IDs and Communication CO3301 Week 1.
Essential Databases The simple truth!. What’s a database? A system which helps with –storage –retrieval in an efficient manner –assume large volumes of.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
Managing Challenging Projects Presented to the class of: Dr. Jane Mackay M.J. Neely School of Business.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 7 Storing Organizational Information - Databases.
Orleans Virtual Meetup 4 Reuben Bond. From Melbourne, Australia Worked on Azure Active Microsoft in Redmond, WA Fun solving distributed systems.
Introduction to SQL Server  Working with MS SQL Server and SQL Server Management Studio.
Networks ∙ Services ∙ People Mark Johnston TNC15, Porto Plans in GEANT Innovation on the Production Network 15 th June 2015 Chief Network.
What is DirectX? DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing.
Introduction to Databases
File Systems Vs Database Systems
SOFTWARE DESIGN AND ARCHITECTURE
Database Systems: Design, Implementation, and Management Tenth Edition
ENERGY TRANSFER IN MOTION (TUESDAY, 4/11)
Software Re-engineering and Reverse Engineering
Games Development 2 Entity / Architecture Review
Presentation transcript:

All brands, logos, and trademarks used in this presentation are under the copyright of their legitimate owner.

Distributed Sound Specification in CryEngine1  Sound properties spread across  Sandbox, C++, lua tables

Distributed Sound Specification in CryEngine1  Highly specialized  Each sound is set up individually  Very error prone  Reuse of a sound (maybe inconsistent)  Distributed definition of sound properties  Hard to mix  Complex interfaces  Everyone has control over everything

Responsibility in Distributed Sound Specification  Sound designer:  Produces wav-files  Communicates sound name and settings to game programmer  Game programmer:  Calls a sound with settings  Organizes sound settings  Audio programmer:  Sets up sound  Has to debug to catch wrong settings or calls  Supports new effects

Data-driven Sound Specification in CryEngine2  Sound properties centralized in prototype  Sandbox, C++, lua can only spawn instances ID = PlaySound(„physics:bulletwhiz:long“);

Data-driven Sound Specification in CryEngine2  General purpose  A sound is just an instance of a prototype  Less error prone  Consistent use of a sound throughout game world  Centralized definition of sound properties  Some administrative overhead  Easy to mix  Scales well with growing team, sounds and complexity  Simple interfaces  Limited and disjunct control

Audio Implementation Tools  XACT  Microsoft (XBox, 360, Win) Microsoft  ISACT  Creative Labs Creative Labs  FMOD Designer  Firelight Technologies (13 platforms) Firelight Technologies  MultiStream  Sony (PS3) Sony  In-house development

Sound Properties  Volume  Radius  Distance-based functionality  Falloff curve  Reverb send  Mix of sounds  Physics attributes (vehicles, collisions)  Parameter: rpm, mass, speed, contact type, road bumps  Game data  AI radius, AI threat, dialog subtitle

Distance Function

Audio Example

Responsibility in Data-driven Sound Specification  Sound designer:  Produces complete sounds with effects  Communicates prototype identifier to game programmer  Game programmer:  Starts a sound by identifier, that‘s it  Updates game-driven parameters  Audio programmer:  Querys settings from prototype and creates instance  Forwards „unknown“ parameters from game code  No need to implement each new parameter  Designs more abstract interfaces  All can work more independently and creatively

Mixing  Constant need  After a presentation is before a presentation  Group-based / Category-based  E.g. all footsteps on grass, all vehicles  Indirect  Changing values without a immediate audition, e.g. notepad  Direct  In audio implementation tool for larger design changes  In-game  In AIT connected to the game for efficient tweaking and verification

Conversion - Preperations  Redundancy  Create redundant sound assets  Support both code-wise  When do we break it?  Plan and communicate your down time  Convert game code modularly (weapons, vehicles, physics)  We did it in a few hours, only trashing a few builds  Get rid of the „old“ stuff  Safely remove code (or leave it)  Filter wav-files from your build

Conversion – New Role  Many people have to change their habits  Accept it and get used to it  New responsibility  Sound designer: more control, more responsibilty  Game programmer: just call a sound  Audio programmer: query, present, pipe information  Communication  Adapt process of sound requests  Communicate errors, get QA involved

Forgot something?  Localization demands special solution  Crysis has currently >7k lines  Unpractible to have a prototype for each line  Instead we use „whisper“, „shout“, „radio“ prototypes and play localized wave data  Support or restrict modding

Summary  Data-driven audio changes your audio pipeline  Centralized sound specification  More efficient mixing  New responsibilities  If you want to convert:  Prepare  Communicate  Accept  Dont forget to consider your localization

Visit us at booth 848 WH Questions?