WwiseSharp

Presentation

WwiseSharp is a DLL created for IN2. To understand why I created this DLL, I’ll present you the context:

Wwise is a famous audio engine (Website) created by AudioKinetic. Used by EVE Online, Assassin’s Creed, Limbo, Kinectimals, Dragon Age 2 etc… it’s the principal audio engine on the market beside FMOD.

So we (at Enjmin) decided to use Wwise because a free version exists (thanks AudioKinetic) and our Sound Designers (as well as myself) prefer Wwise over FMOD.

On IN2, the main problem is that it is powered by XNA and there is no C# version of the Wwise SDK. So I decided to create a C++ DLL of it with a C++/CLR Wrapper (C++/CLR = C++ managed by .NET virtual machine with the Common Langage Runtime which is basically the name of the .NET bytecode).

This DLL could be used inside XNA with C#. It is called “WwiseSharp”.

Because Wwise SDK is C based and C# is object oriented, I studied a coherent object architecture then coded the DLL.

Link

WwiseSharp could be found on google code: http://code.google.com/p/wwisesharp/

Of course, I only implemented the functions I needed into IN2. But hopefully the DLL could be easily improved.

Example

Take a look at IN2 to hear the result: IN2.

WwiseSharp Philosophy?

WwiseSharp is a DLL which link a low-level code (C) with an high-level one (C#).

As a Gameplay/Generalist Programmer, I mainly focus on the link between the game designer and the machine. This is the same link that is symbolized by WwiseSharp.

Another approach is that with projects like this, I fully understand what a C# syntax implies into C code level. This is really useful when a gameplay programmer heavily use Lua or other scripting langages.

Doing rapid implementation of gameplay features in the most efficient way !