Tomas Neumann – Senior Audio Programmer Frankfurt, March 2009 Introduction
Total Page:16
File Type:pdf, Size:1020Kb
SAFE AND SOUND Risk free Audio Development GDC Audio Boot Camp 2009 Tomas Neumann – Senior Audio Programmer Frankfurt, March 2009 Introduction Games Tomas Neumann FarCry (2004) Senior Audio Programmer in Crysis (2007) R&D since 2005 Crysis Warhead (2008) Tomas(at)crytek.com Crysis Wars (2008) Studios Frankfurt, Germany Budapest, Kiev, Sofia, Seoul Crytek UK Tomas Neumann: Safe and Sound / GDC09 Audio In Game Development : Everywhere • Pre-Production People outside of Audio • Implementation – Might have wrong impression • Music / Dialogue – Fear what they don‘t know • Milestones • Reviews • Technical settings • Alpha / Beta / Gold • Demo • Patches Tomas Neumann: Safe and Sound / GDC09 Risk free Audio Development ? • Stability • Earns trust – Fewer crashes – Take their fear – Fewer show-stoppers – Prove Audio is low risk • Efficiency • Quality – Fast turn around – Better Audio in final product – Fast bug fixes – Safe bug fixes Tomas Neumann: Safe and Sound / GDC09 Risk free Audio Development ! • How to achieve? • “Never-ending story“ – Not done in a day – Ongoing development – Not a single task – Ongoing effort – Baby steps – Ongoing improvements – You will never succeed! This talk: • I will not tell you how to improve 1000 details! • HOPE Tomas Neumann: Safe and Sound / GDC09 General Strategies To Follow 1. Limit access 2. Inform others 3. Divide and Conquer 4. Do not put things where they don‘t belong 5. Prepare for content-locks 6. Find your own bugs 7. A bug is your friend 8. Keep track of changes 9. Exploit automation 10.Data-mine for gold Tomas Neumann: Safe and Sound / GDC09 1) “Limit Access“ • Use abstract, data-driven sounds Cost: • Use high level parameters – More work • Minimize external interface – More responsibilty and behaviour – More bugs – (Code & Audio) Benefit: – More creativity (internal) – Faster implementation – Fewer coders help needed Tomas Neumann: Safe and Sound / GDC09 2) “Inform Others“ Write what others dont know. Cost: – More communication • Internal communication – Extra code – Forum / Mail Benefit: – Wiki – Better transparency • Show work early and often – Help others – No embarressment – People know: – See Jason‘s „Fail early“ • you actually work(!) • Code: • what is WIP and what is – Optional debug messages new Tomas Neumann: Safe and Sound / GDC09 2) “Inform Others“ 2 Tomas Neumann: Safe and Sound / GDC09 3) “Divide And Conquer“ Avoid mixing responsibilities or overlapping tasks. Cost: – Extra working steps • Sound Designer – Source (raw) asset creation Benefit: – Asset specification – Frees SD‘s time • (Automatic) build process – Easier to resolve issues – Build (cooked) asset – Modular and structured work habits • Other areas: – Audio implementation / Code – Localization / post-processing Tomas Neumann: Safe and Sound / GDC09 4) “Do Not Put Things Where They Dont Belong“ • Code Cost: – Avoid hard-coding audio – Coding effort specification and – Well organized SDs references Benefit: – Serialize from external – Independence from code database (xml, sql) – Quicker iteration (immune to code-lock!) • Audio – More control (stripping) – Clean up audio asset Tomas Neumann: Safe and Sound / GDC09 5) “Prepare for code/content-locks“ They are coming, whether you Cost: want it or not on milestones, demos, or randomly. – Administrative overhead They will block your progress! – More communication Benefit: • Be prepared for downtime – Balanced work load – Reserve work to do in – Increase trust if audio was between. non-blocking – Inform if no audio bug was – Steady progress despite blocking milestones Tomas Neumann: Safe and Sound / GDC09 6) “Find Your Own Bugs“ Dont expect: Cost: • QA to know what is broken – Extensive play tests • Producers to know how – Scanning through game logs important or risky a fix is Benefit: • Train QA – You know the game better • Add bugs by yourself – More fixed bugs = better shipped audio – Add to bug tracker, even if you are about to fix – Increase bug fix rate • Increase bug priority – Decrease fix time – Avoid low audio bug priority – Helpful statistics (known shippable in Beta) – Happy producer = more trust Tomas Neumann: Safe and Sound / GDC09 7) “A Bug Is Your Friend“ • Document problems Cost: – Write about it : What? Why? – Admit your mistakes – Add to bug tracker, even if – Overcome one‘s weaker self you are about to fix it • Code Benefit: – Use assert() – Increased awarness (team, QA) – Log: Output warning – Faster fix-rate – Catch function call results • Done it before – Create test cases • Searchable mail • In-house & middleware • Producer‘s trust Tomas Neumann: Safe and Sound / GDC09 8) “Keep Track Of Changes“ Why was a decision made 2 Cost: years ago? – Documentation effort What was agreed on in that – Write down the obvious meeting? Dialogue integration specialist: Benefit: „btw, today is my last day!“ – Surprise-proof – Database of experience • Preserve knowledge – Evaluate and rate old • Offer it to new team decisions members • Write what you know Tomas Neumann: Safe and Sound / GDC09 9) “Exploit Automation“ • Automatic Build on several Cost: platforms – Extra hardware – Code (compilation errors) – Build / Audio engineer – Audio (integrity errors) • Automatic test run Benefit: – Stability tests – Frees worker‘s PC – Mail filtered logs of warnings – Honest verification – Stability • Statistics – Performance – Performances graph • Show impact of changes – Short down time – Finalize compression settings Tomas Neumann: Safe and Sound / GDC09 10) „Data-mine for Gold“ Statistics help you to find the • Graphs bang for the buck • Lists • Pictures 2.500 2.000 1.500 1.000 500 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 Times Played Times Played on a Channel Tomas Neumann: Safe and Sound / GDC09 Picture: CryEngine multiplayer and audio stats Conclusion Audio Development – safer – more stable – more efficient – more trustworthy – increase quality You have to work on it – every single day! Tomas Neumann: Safe and Sound / GDC09 KKTHXBYE Thank you Please rate! Ask questions! Tomas Neumann: Safe and Sound / GDC09 – Tomas(at)crytek(dot)com.