Platforms/Software:
Nintendo
Wii, Wii U
Revolution SDK, Project Café, Freescale Codewarrior for Wii 1.5
...
Experience:
Silicon Knights, St. Catharines Ontario
Programmer, June 2010 Present
Wii Technology Development
Wii U SDK knowledge
Implemented dynamic shadowing on the GP, with scaling detail and a fixed memory footprint. Supported full scene and per-dynamic shadowing, with up to 4x post pass shadow output.
Constructed a TEV based depth of field post process. Featured 4x Gaussian blur, and near / far twin focus fields.
Optimized the EFB copy-out system and the post process memory to be shared between the shadowing and depth of field techniques. This was also ground work for distortion effect support.
Developed threaded static geometry command buffer construction via GD.
Upgraded renderer to support tiling for HD output. Integrated Revolution screenshot tool, and upgraded it to accept the HD output.
Installed custom interrupt handlers, with on screen call stack print and screenshot.
Built in character fade support via a depth shell prepass render.
Implemented 3D Combat Text pop-ups.
Installed custom Thread Local Storage support
Added 16:9 and progressive video output, as well as PAL support.
Installed Home Button Menu, Banner, Icon, Strap Screen, controller disconnection messages, and other varying TCR requirements.
XMD Wii Technology Support
Solely responsible for all Wii tech support to game team.
Upgraded and maintained everyones SDKs and NDEVs with current software.
Optimized the project down to use ½ the memory footprint, and trimmed 2MB of executable size to fit within platform limitations.
Modified Codewarrior builds to be parallel and file grouped, making them 1200% faster.
Undertook performance analysis on the game via the Wii Profiler.
Researched Broadway and Xenon CPU cache architectures, and gained a footprint reduction with platform appropriate tuning of the small block allocator.
Investigated and solved a thread contention performance stutter in the small block allocator.
Installed another memcpy / memzero for a %220 speed boost.
Fixed and used engine memory tracking software to find & fix several significant memory leaks.
Undertook and automated the mastering, burning, and retail testing process.
Maintained and improved the following tools: Wii Profiler, HD screenshot tool, and our PC debug console.
Consulted with Freescale and Nintendo over bugs in the Codewarrior software.