opcoder
My Resume Code Center Technical Articles Personal Projects Video Game Music Funny Stuff My Collection of DVDs and Games Links About Me

Valid XHTML 1.0!

Valid CSS!


OBJECTIVE

To help create the highest-quality, most polished, fun games possible within a given amount of time, for an admirable game development company.


APPLICATION PROGRAMMING INTERFACES

EXPERT

- DirectX 8/9
- Windows SDK
- PlayStation
- 3dsmax SDK
- Nintendo GameCube
- MFC

INTERMEDIATE

- Xbox 360
- PlayStation 2
- Game Boy Advance
- Sega Dreamcast
- OpenGL
- STL
- Nintendo 64
- WTL
- Softimage XSI FTK

BEGINNER

- Nintendo DS
- PlayStation 3
- PlayStation Portable
- RenderWare
- Havok


COMPUTER PROGRAMMING LANGUAGES

EXPERT

- C
- C++
- MIPS assembly

INTERMEDIATE

- PowerPC/Gekko assembly
- ASM Vertex/Pixel Shaders
- HLSL Vertex/Pixel Shaders
- Xbox 360 Xenos Microcode

BEGINNER

- Intel X86
- C#


PROFESSIONAL WORK EXPERIENCE

Pandemic Studios, LLC. :: June 2005 - Current

- Confidential Project - Graphics Programmer [Xbox 360/PS3] - (June 2005 - Current)



Confidential.

Digital Concepts Studios / DC Studios, Inc. :: July 2001 - June 2005

- "Sparkplug" Engine Programmer [PS2/Xbox/PC] - (September 2003 - June 2005)



Maintained: Materials, Render Targets, Mesh Conversion/Generation, Game Framework Library, Property System, Messaging System, Engine and Viewer Core, Memory Viewer, Editor, and Timers. This includes platform-specific versions of the classes/sub-systems for PS2, Xbox, and PC

Re-designed existing material architecture to allow multi-pass as well as multi-texture. Modified exporter material builder and artist interface to accomodate the new architecture. Also had to research and modify each platform's renderer to use the new material system.

Optimized dynamic mesh packet generation on PS2 by 400%. This was possible by reducing the generic code path for dynamic meshes and reducing data cache store misses by using scratchpad.

Trained game programmers on game framework library, editor, and art pipeline. Wrote training documents for artists to create technically efficient assets for use on the PlayStation 2.

Created class which converts cross-platform mesh data into optimized PS2 DMA packets. Wrote to be as flexible as possible. This meant that the programmer coould select out of multiple tri-stripping cores, as well as relevant unpacking modes for each vertex component.


- "dcEngine" Engine Programmer [GameCube] - (February 2002 - July 2003)



Focused on developing a stand-alone GameCube engine, mainly for R"D. Programmed all aspects of GameCube hardware: Rendering, Animation, Sound, Memory Cards, etc. using a DDH and ProDG/CodeWarrior. Programmed math library in Gekko Paired Singles assembly and display list converter. Programmed multiple demos to show off the engine. Development progressed periodically between other assignments.


- "Bratz" Lead Programmer [PSone] - (July 2002 - January 2003)



Programmed all components of game: Dance scripting, core gameplay, sound, menus, memory cards, and external tools. Was responsible for another programmer who worked on the PlayStation version. Integrated and extended DC Studios' proprietary compression technology (meant for Game Boy Advance) to the PSone, for dancer animation playback. The dance playback system used CD-XA for playback and used Root Counters to synchronize dance scripts with game audio and player input.

Created internal programming schedules for the PSone programming team and had weekly meetings with internal producer. Also had meetings and collaborated with the other programmers who were working on PC and Game Boy Advance versions of the game so that development would progress smoothly. Game passed on first time through SCEA and second time through SCEE.


- "dcEngine" Engine Programmer [PSone] - (July 2001 - January 2004)



Designed and programmed entire engine, tools, and technical examples.

Highlights include: 3D animation system consisting of vertex-tweening and single-bone influenced stitching, for skeletal animation; Dynamic VRAM manager, which made it possible to stream in texture data from the CD; Aided in designing a mesh format optimized for memory bandwidth/usage/fragmentation and speed. The engine was developed using only a DebugStation and Caetla BIOS.

Wrote a variety of tools used by artists, programmers, and designers -- such as: PSone Artist Previewer, File Packer, various native format convertors, etc.

Also wrote documentation for the entire engine, demos/examples, and gave engine support to programmers. Currently, the engine has been used in 4 games.


- "Beyblade" Programmer [PSone] - (February 2003 - May 2003)



Ported game from Japanese NTSC to multi-language PAL. Re-designed the build process, which gave the programmer automatic dependencies and faster build times.

Programmed a multi-language system where different overlays would be used for each language. This turned out to be an elegant solution because the original Japanese programmers hardcoded all text into the executable, making some sort of hardcoded language switch statement unrealistic (due to memory constraints).

Also optimized rendering by ~60% by removing unnecessary VRAM uploads during the course of a frame, removing redundant rendering calls, and by using better compilers/switches.

Game was ported on time and passed through SCEE the first time through.


- "Pawspinz" Programmer [GameCube] - (February 2002)



Ported game demo to GameCube in a week, using RenderWare 3. Remapped controls to GameCube controller for the most fun gameplay and tightest control possible. (The game was an adventure/racer.) Also spent 3 weeks on RenderWare R"D.


- "Bear in the Big Blue House" Programmer [PSone] - (August 2001 - January 2002)



Programmed entirety of game, which had 12 different minigames and an adventure mode. Managed one other programmer who was working on the project for 3 months. Game was programmed for both NTSC and PAL territories.


- "Salt Lake 2002" Prototype Programmer [Game Boy Advance] - (September 2001)



Programmed prototype of the curling part of the game in 2 weeks. Assisted contract programmer of curling part of the game for 1 month.


RESEARCH/PERSONAL PROJECTS

"Chrono Resurrection" - Project Director/Programmer



A non-profit, fan-made 3D re-creation of the Super Nintendo classic, Chrono Trigger. Started development in April 2003 and collaborated with 9 other talented developers who shared the same passion.

Created schedules and goals for the entire team; Programmed all game logic and the cross-platform engine (XuEngine) on which it ran; Worked close with the art director/concept artist to fully realize our vision; And spent 1 1/2 years of my spare time, after working hours, to create my childhood dream. Spent, in total, about $10,000 in labor charges and equipment to see the project come to fruition.

As of July 2006, the Web site has registered over 15 million hits and over 5 million downloads of the final trailer. Interviewed in gaming magazines such as GamesTM and EGM. Unfortunately, the project was forceably shut down by Square Enix Co., Ltd, the original IP holder, on September 6th, 2004 due to copyright infringement.

Screenshots and the trailer can be located at the project's former Web site.


"XuEngine" - Programmer



Designed a multi-platform engine to take advantage of C++'s polymorphism in a more modular sense. This is by having cross-platform interfaces in a cross-platform library that only the game programmer uses. The implementation is hidden in other static, platform-specific libraries which have overriden versions of the interfaces. This allows the game programmer to use a consistent and cross-platform way to create graphics, sound, or any other effect. This engine is my gineua pig for any new technique I wish to learn.

Engine supports: GPU Skinning, Hierarichal Node Graph, Controller-based Animation System, Efficient Mesh Packet Generation. Also programmed 3dsmax Exporter, Texture Converter, Viewer, and Sound Player in addition to the graphics/sound libraries.

Currently converting over the entire engine to a shader-driven architecture, since it was mostly fixed-function before.



CONTACT INFORMATION

Name: Nathan Lazur

E-mail: nathan[AT]opcoder.com

Phone: (310) 854-2385


PUBLISHED GAMES

Beyblade


Bratz


Bear in the Big Blue House


Salt Lake 2002



PRESS/INTERVIEWS

EGM Interview
EGM Interview

GamesTM Interview
GamesTM Interview

VGPro Interview
VGPro Interview

SuperPLAY Interview
SuperPLAY Feature

St. Pete Times Article
St. Pete Times Article