Michael A. Schlachter - Graphics and Simulation Programmer
San Francisco, CA - Phone: 415-314-5246
Assembly language: x86, ARM
Direct X SDKs, OpenGL, OpenGL ES, WebGL
OpenGL, DirectX, and WebGL variants of vertex and pixel shader languages.
THREE.js, Unity, and other 3d frameworks
Extensive knowledge of 3D rendering and mathematics.
Comprehensive experience developing and shipping games on a variety of platforms, such as Windows, Mac, PlayStation 2, XBox, Android Cell phones and a number of extinct consoles. BREW/JVM Enabled cell phones. Familiarity with iPhone/iOS development.
Physical simulation design and implementation, collision detection, and dynamics.
Microsoft Visual Studio - C/C++, GNU C/C++, and customized variants for consoles.
Experience using CodeWarrior for C++/Objective C, on the Mac and PC.
Command line tools, make facilities, and various custom scripting languages.
Havok, Bullet, and Tokamak physics middleware.
Winsock APIs and socket programming.
Human interface devices, such as Kinect and LeapMotion
Audio processing/transformation tools, and Audio middleware such as OpenAL and FMOD.
Source control tools such as SourceSafe, Subversion, CVS, and Git/Mercurial.
DOS and Windows MFC APIs and command line tools programming.
Blender, Sculptris, Maya, 3DSMax, Softimage, ZBrush, and Photoshop, and many other common PC media applications.
Web, Windows PC, DirectX, OpenGL, Mac,
Microsoft XBox, 360, and One, Playstation 1 and 2
Past work on Nintendo GameCube,Nintendo GameBoy and GameBoy Advance, Sega Dreamcast, Sega Genesis, Philips CD-I (CD-RTOS)
Twenty five years of experience as a C/C++ game, gameplay, and tools programmer on a variety of platforms.
Excellent skills as a lead, second, or tools programmer.
Projects have included work designing and coding 3D games and simulations, 3D gameplay, and all the various support and design tools required.
Ability to write high performance, low-level code.
Ability to work within, and direct production teams. Awareness of platform specific optimization techniques, and bottlenecks such as cache utilization, memory access, and pipelining.
Firm grounding in 3D audio theory and implementation.
Real time character AI and behavior design.
2D image processing, color reduction, compositing, and color theory.
Familiar with a wide range of audio/image/film editing and processing tools.
Interface design and implementation.
Special effects programming, lighting and particle systems.
Recent & Relevant Experience:
Change My Path / Yebo - San Francisco, 1/15 - 6/20 - Contract
Implemented the 3d components for a web based platform for delivering interactive 3d training/education simulations
Hivemapper - Burlingame, CA, 1/19 - 3/19 - Contract
Implemented terrain analysis features for a drone technology company. Involved writing complex shaders to facilitate realtime analysis of terrain used in agriculture and logistics.
Armature Studios/Microsoft/Whitemoon Dreams - Austin TX/Seattle/San Diego, 3/15 - 5/15 - Contract
Implemented terrain deformation module for an XBox One title: Re-Core.
Work was done primarily in C# and Unity. I worked remotely with engineers and artists in Austin, and San Diego, to build this critical gameplay component. The system was a combination of a mesh pre-processor that joined, and then split meshes into grid sized chunks that could be efficiently deformed and updated to the GPU, while also preserving coherent vertex normals between terrain patches. The deformation system allowed for varying deform brush shapes, and masking of the deformation via a vertex color channel. Deformation values were then written out to the mesh via another vertex color channel, allowing the technical artists to write shaders that varied the terrain textures according to the amount of deformation that had occurred.
Mercedes Benz Research and Development - North America - Sunnyvale CA, - 8/13 - 6/14 Contract
Co-designed and implemented the Android version of Mercedes Digital Drivestyle.
Responsibilities included all 3d rendering in the App.. implementing a custom, in car interface to the Mercedes suite of digital service integrations, pulling data from services such as Twitter, Facebook, Spotify, RDIO, Glympse, and more, and rendering them as 3d glass tiles in a coverflow style UI. This included management of asynchronous data and texture loading.. connection with back end services for data collection, maintaining a debugging for remote debugging of the installed devices in vehicles. Also built a prototype for a bluetooth/microcontroller based keyless entry system, implemented using an Arduino + Bluetooth, and micro servos, integrated in a 3d printed shell designed by mercedes designers.
vectorslave.com /alphadyme/solipsys - San Francisco CA, 1/05 - Present - Contracting, Research and Prototyping
I ’ve developed and maintained this site to loosely document the technologies I ’ve been acquiring over the past six years, while working as an independent contractor.
Working with Alphadyme, and Solipsys, I have done web development for various companies in San Francisco, and the Peninsula. We have also developed prototypes for 3D Android games, Castle Mishap! and Dead City. These prototypes utilized the JBullet physics library, and custom Android OpenGL renderers, and a custom terrain generation engine. We also wrote animation exporters for Blender to export both MD5 format animations, and optimized internal game formats. These prototypes included streaming geometry, and shader based particle effects, and lighting. During the past 6 months, I have also played with the iOS SDKs, and Objective C, and gained some familiarity with the OSX development tool chain. I ’ve also been investigating new technologies related to motion capture and human interface, via Kinect and LeapMotion devices. Additionally, I have developed several multiplayer networked web game prototypes, using WebGL, and Node.js.
DeezGames.com - Palo Alto, 2/12 - 6/12 - Unnamed Social Facebook Game
Developed a prototype for a social facebook game in flash. Implemented game mechanics, special effects, and audio. Integrated with backend data model running on Google AppEngine.
The10th.com - 8/11 - 1/12 - USPTA E-Learning Flash Presentation
Implemented a redesign to an e-learning suite for the U.S. Professional Tennis Association under a tight deadline.
FingerTwitch (MFORMA) - San Francisco CA, 1/04 - 2/05 - cell phone game development and porting
Did handset conversions of multiple JVM based cell phone game titles.
Ported a web service connected BREW application to Java.
Sandcastle Studios, Inc. - San Diego CA, 1/04 - 7/04 - contract cellphone game development and porting (under contract from FingerTwitch and MFORMA) 2004-2005
Assisted in the development and porting of a licensed College Football game.
Wrote sprite rendering and image packing routines. Wrote code to compress PNG image data by stripping header data, and catenating sprite data, to increase coherency in the resulting ZIP compressed blobs. The PNG headers were then reconstructed at runtime and fed to the device.
BigApe Productions Inc. - Novato CA, 8/01 - 8/02 - Lead and Second Programmer
Gauntlet Dark Legacy - Port from PS2 to Xbox and GameCube
Microsoft Visual Studio on the PC, cross compiling for the Xbox,
MetroWerks CodeWarrior on the PC, cross compiling for the PC and GameCube.
At BigApe I was lead on a shipping port of Gauntlet Dark Legacy, from the PS2 to the Xbox and GameCube. This title was originally written in C. Various export tools were converted from linux source to Win32 console tools. I implemented platform specific movie playback codecs for both Xbox and GameCube. Also assisted in the conversion of source assets to formats digestible by the target platforms.
Successfully passed QA cycles with Microsoft, Nintendo, and Midway Home Entertainment. Worked on a conceptual prototype for a 3rd person shooter, for the PS2 using Intrinsic Alchemy and Havok physics. Wrote a custom scripting tool in Java to script the NPC behaviours and custom animations. Assisted in the implementation of an A* path finding algorithm, designed as a server to distribute the computational load of path finding across multiple frames of game play.
Designed and implemented a physically modelled character control used to tie the physics simulation to the animation system. Assisted in the design and implementation of the character controller code used by both player characters and NPCs to provide a higher level of control and code sharing among the different character modules.
Wrote code to control playback of blended animation and handle things like attaching weapons and objects to different bones.
Also assisted in the development of a licensed wrestling title on the PS2, funded by Rockstar / Take2 Interactive.
3D Tech Research - San Francisco CA 1/01 7/01 - Independent Research -
For a few months, contracting and living off my savings, I researched the latest developments in 3D games technology, in order to hone my skills related to 3D gaming and game production in general. Experiments involved real time physics, deformable terrain modelling and advanced rendering. Wrote a cross platform capable rendering engine using both Direct3D and OpenGL, DirectSound and OpenAL sound APIs. Wrote model importer/exporters to acquire models and animations from 3DStudio Max. Investigated various scene culling strategies to achieve a high level of performance for flexibility for large scale outdoor environments. Wrote various AI modules to provide targeting and tracking capabilities as a set of OO behaviour layers. Built a multi vehicle control and simulation system that enabled both ground based vehicle dynamics and also simple flight simulation models. Studied recent developments in 3D math pertaining to games such as real time lighting and shadow volume calculation and rendering.
Blue Planet Software Inc. - San Francisco CA. 8/00-12/00 - Support Programmer (contract) -
“The Next Tetris ”- Sega DreamCast
Microsoft Visual Studio on the PC, cross compiling for Windows CE/DirectX 6, running on the Sega DreamCast. At Blue Planet I wrote a special effects subsystem for animating properties of tetris blocks, in the shipping title “The Next Tetris ”. I also cleaned up existing text rendering routines and revised the rendering state management routines to enable specular lighting and alpha blending. Added a loading screen. Assisted during debugging phase... Subsequently assisted in the technical design and prototyping of a future title.
Terraglyph Inc.- Schaumburg IL. 3/99 - 4/00 - Second and Lead Programmer - “CatDog ” PlayStation
Microsoft Visual Studio, GNU C, C++ cross compiler for the R6000 and some R6000 assembly. SN Systems Sony Playstation CD Emulator, Visual SourceSafe, SoftImage and the SoftImage SFK.
Started as a second programmer and eventually assumed lead on the CatDog Playstation title under contract from Hasbro. Built the games ’underlying transformation, clipping, and rendering pipeline, combined with “cluster animation ”routines for character animation. Wrote the Playstation side of a SoftImage exporter to convert scenes and model cluster animations to Playstation digestible formats. The animation code allowed arbitrary mesh deformation, resulting in a flexible path from SoftImage animation to the final Playstation content.
AnyChannel - Palo Alto CA. 10/97 - 7/98 - Engine Programmer -
“AnyWorlds Engine ”, and “Vigilance ”- PC
Microsoft Visual C/C++, some Pentium assembly. CVS source control.
Wrote code to provide functionality to the “AnyWorlds ”3D rendering engine. Implemented a custom software blending mode for doing embossed decal effects that was subsequently implemented in hardware by ATI Graphics cards, working in conjunction with AnyChannel. Wrote a character lighting system that used ray-casting to determine the average illumination of the surrounding geometry and then applied an approximation of global illumination to the characters.
Wrote code to do texel-lookup in conjunction with scene-ray casting to determine the texel intersected by a ray in the scene. This was also used for the character lighting code. Co-wrote a special effects subsystem for the shipping title “Vigilance ”. These effects included pseudo embossed bullet hole and blast mark projection code used to construct decals to show damage effects on the scenery and characters. Created numerous particle systems from smoke, fire, rocket contrails, atmospheric effects like snow, rain, sprite clouds, water fountains and waterfalls. Wrote a parameter script parsing tool to enable dynamic prototyping of a wide variety of the simple particle systems.
Fathom Pictures - Sausalito CA. 10/95 - 1/97 - Second Programmer -
“Bondurant High Performance Racing ”-Macintosh
Metrowerks CodeWarrior C,C++, BRender Rendering API.
Co-designed and wrote the Bob Bondurant School of High Performance Racing, racing game, using the BRender 3D rendering engine. Wrote collision response and vehicle simulation physics. Wrote computer driver AI that simulated drivers of different skill levels. Wrote an event triggering scripting language that allowed game objects to be scripted by the artists with minimal programmer intervention.
Viking Mind Software - Inverness CA. 2/94 - 10/94 - Co-Founder and Programmer -
“Onslaught ”- Macintosh
Metrowerks CodeWarrior C,C++ on the Macintosh
Co Founded this company to design and write a hexagonal map based strategic war game on the Macintosh, under contract from Frontal Assaultware in Boston. This shipping title featured 50 ’s era combat units and dynamically generated terrain maps, rendered using an edge smoothing technique that gave the maps a truly organic look. Wrote custom masked sprite compilers and blitting code for rendering partial and complete window updates.
Electronic Arts - Foster City CA. 3/93 - 2/94 - Second Programmer -
“MLBPA Baseball ”- SEGA Genesis
68000 Assembly, using SN Systems cross compiler on the PC, Metrowerks C, C++.
Second programmer on the shipping title MLBPA Baseball for Sega Genesis.
This game was a port/conversion from the NEO-GEO Baseball Starts II engine. The graphics were completely re-tooled for the genesis. The physics code was tweaked for more realistic gameplay, and additional work was done on modifying outfield fence configurations to simulate different US ballparks. Wrote a set of tools on the Macintosh to import and compile art, specifically hotspots on animations, lay out hit-rectangles on interface screens and attach engine specific data to graphics.
Visionary Media - Sausalito CA, 8/91 0 3/93 - Second Programmer - “Earth Command ”-CD-I
C and 68000 Assembly compiling in MPW C/C++, using CD-RTOS and a hardware CD-I emulator. Co-wrote and shipped a world environment simulation game that consisted of a high-speed statistical simulation engine written in 68k Assembly and an on the fly multimedia event composition system that created news reports for various fictional events worldwide. Wrote DYUV movie playback code that enabled high-quality movie playback in windowed portions of the screen. Wrote a window management system that maintained various graphic layers of multi-depth images and video. Wrote automated sound mixing and cross-fading tools on the Mac, for generating game dialog from speech fragments.