Game Developer - Palosim LLC 2010...present - Orlando, Florida
o Developer and publisher of simulation games.
o Developed an entire 3D engine (scene graph) in C++ suited to mobile systems.
o This 3D engine is composed of a scene-graph, shader system,
collision-detection and terrain-following algorithms,
and a compact 3D file format that Blender can export.
o Developed physics models for aircraft and vehicles.
o The C++ core of these games can be scripted with Lua.
o Created fx such as explosions (particle system for fire, animation of parts of a model exploding).
Simulation Software Engineer - (private)
2008...2008 - Jupiter, Florida
o Task was to "make the graphics dazzling" of a ROV (submarine) simulator.
o Used OpenGL shaders and developed fx for underwater
(underwater particles, ROV spotlights, fog fx varied by water depth).
Flight Simulator Software Engineer - (private)
2006..2007 - Melbourne, Florida
o C++/graphics programmer for a military flight simulator (full-up procedures trainer).
o Mission was to develop new fx so a pilot would feel like he was flying in a real atmosphere.
o Used procedural-texture techniques to render detailed clouds.
o Developed weather fx such as lightning bolts and illumination of clouds from lightning flashes.
o Graphics programming was done in C++, OpenGL shaders, and OpenSceneGraph (OSG).
Software Engineer II - 2005...2006 - Orlando, Florida
Game programmer for Madden NFL 2007 video game (XBOX 360, Direct3D) at EA/Tiburon.
o 3D graphics programming (camera control for animation, replaced Euler with matrix math).
o Created a "flying camera" cinematic fx for football events.
o Created a special game mode used by artists to create TV ads for Madden.
o Added new GUI screens.
o Worked with artists to add new character animations.
2000...2005 Linux/UNIX Programming
Software Engineer - (private)
2003...2005 - Tampa, Florida
o UNIX programmer. Developed Internet software on UNIX servers.
Kernel Engineer - 2001...2001 - Santa Clara, California
o Linux system programming for embedded Linux.
o Wrote and ported device drivers (PCI devices, Ethernet).
o Adapted the Linux kernel for new hardware boards.
o Edited kernel's makefiles, revised memory map, hardwired device drivers into kernel, etc.
o Debugged failure of Linux kernel to boot using remote GDB.
Sr. Software Engineer - (private)
2000...2001 - Santa Clara, California
o Linux system programming for an Internet set-top box.
o Designed a hardware abstraction layer (HAL) for the application programmers
in order to allow using embedded Linux or a different OS.
o Rewrote existing device code as Linux device drivers.
o Wrote a flash memory device driver.
1994...2000 Microprocessor Engineering
Sr. Software Engineer - 1997...2000 - Santa Clara, California
o Developed microcode for a RISC processor to emulate an x86 processor.
o This "microcode" was really hidden RISC assembly routines that
emulated x86 CISC instructions and modes of the x86 architecture
such as exceptions and page mode.
o The microcode (x86 emulator) successfully booted operating systems.
o Participated in CPU design, defined instructions to optimize x86 emulator.
Validation Engineer - 1997...1997 - Santa Clara, California
o CPU verification. Wrote directed and randomized tests in x86 assembly.
Verification Engineer - 1994...1997 - Dallas, Texas
o CPU verification. Wrote CPU tests and PC BIOS in x86 assembly language.
Co-inventor of U.S. patent #5,826,084
in microprocessor architecture (Texas Instruments).