Recognize that background? It's Conway's Game of Life!

Rules for "life":
Any live cell with fewer than two live neighbours dies, as if caused by under-population.
Any live cell with two or three live neighbours lives on to the next generation.
Any live cell with more than three live neighbours dies, as if by overcrowding.
Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.


I am a pragmatic programmer who is passionate about my craft. I hack to learn, create, and simply make things work, but I am also adamant about cutting the highest quality production-code possible. Since college, I have remained active in various fields of academic research and my research on Case-Based Reasoning and Reinforcement Learning in the field of Artificial Intelligence for games has been presented at the 2010 International Conference for Case-Based Reasoning in Italy.

My true passion in computing is game programming and development. In 2010 I released an indie game on the Android Marketplace as a side-project (programmer art and all). Since then I have been making games both professionally and on the side. I am most interested in building game engine systems and AI, but I also enjoy working on developer- and player-facing tools such as level editors and community mod APIs.

When I am not sitting in front of a keyboard I am mountain biking. 2014 was my first year racing and I won the California Enduro Series in the men’s Cat 3 category which was a huge achievement for me.

I am currently employed as a Sr. Software Engineer at Super Evil Megacorp and not actively pursuing any new opportunities at this time, but please feel free to keep in touch!

./Contact Details

Chad Mowery
Redwood City, CA 94061 US
chad.j.mowery 'at' gmail 'dot' com
chad.j.mowery 'at' iterativeintelligence 'dot' com


Machine Zone

Sr. Software Engineer March 2012 - March 2015

Games Shipped: Game of War: Fire Age, Race or Die 2, IMob2

  • Mentored new employees and lead junior developer game feature pods ensuring successful first deliverables.
  • Conducted technical engineering interviews playing a major role in team staffing decisions and company scaling.
  • One of three engineers to take Game of War from prototyping, to pre-production, production, and finally ship on two mobile platforms.
  • Significant code contributions and ownership of over 20 game features and core systems in Game of War providing a high quality project codebase to build from.
  • Designed and implemented a templated Entity Component System fundamentally changing our engine and game systems by decoupling data and logic. The outcome was much more cohesive engine services and cleaner game logic.
  • Implemented a novel pool allocator interface leveraging weakly-linked unique pointers for engine-level component systems improving engine performance by reducing runtime allocations.
  • Implemented and optimized core game engine texture atlasing/packing (runtime), sprite batching, and 2d animation systems.
  • Implemented Spriter (boned sprites) runtime with full support shader and particle emitter attachment support allowing artists and designers to create really complex animation effects easily.
  • Implemented device accelerometer systems with shader support for 3d UI effects and more.
  • Built a debug command line interface for in game debugging and on the fly modifications/hot loading massively speeding up design, engineering, and QA iterations.
  • As a spare time project, I designed and implemented an automated Doxygen code generation builder with web access working with existing build systems.
  • Squashed countless bugs.

Machine Zone

Software Engineer March 2011 - March 2012

Games Shipped: Global War, Original Gangsters

  • Built a scalable, multi-title, server authoritative casino system including 7 mini games with full tool suite as a massive first deliverable.
  • Designed and implemented the company’s first multi-title tutorial system complete with plug-able metrics support and tooling allowing designers to engage more players.
  • Rebuilt core project bootstrapping and structure to facilitate rapid prototyping and quickly generate new projects without the need of engineering support.
  • Designed and implemented multi-title player gifting features with support tools.
  • Optimized entire game test suite runtime by 75% significantly speeding up automated build processes and developer productivity.

Visual Health Information

Software Engineer May 2010 - March 2011

  • Lead developer on a 10 year old ASP .NET ecommerce website port. Performed all necessary feature updates and deprecated API corrections effectively bringing the site up to 2010 standards.
  • Co-built an interactive math proficiency testing web application for the Colorado Board of Education that tests and tracks student mathematics abilities and problem solving skills--a highly customer-facing product that is used daily by thousands of teachers, students, and district officials
  • Maintained a large code base of 3D rendering services supporting complete automation of flash video files from raw model data with validation using a fully integrated audit process.
  • Built new features and updated critical checkout/purchasing systems for the company’s core ecommerce site which provides the majority of revenue while keeping downtime to an absolute bare-minimum.

ManTech International Corporation

Software Engineer September 2009 - May 2010

  • Responsible for the design, coding, testing, and integration of new system services for a distributed SOA-based tool used for the acquisition and verification of communications in a military operating system.
  • Maintained and refactored key system services and components producing a more stable code base, higher rates of product efficiency, and happier customers/users.
  • Operated in an agile environment collaborating with multiple development teams keeping a strong focus on key features resulting in the development of highly disciplined cross-team APIs.
  • Performed regular design, code, and test review sessions with team members which supported high code standards producing an extend-able and maintainable code base.

NewTec LLC

Software Engineer Intern June 2009 - September 2009

  • Acted as a software developer on a team of nine developers for a first-release developer tool deliverable.
  • Responsible for the design, code, testing, and deployment of two major services in a scalable Service Oriented Architecture middleware operating environment.
  • Designed, implemented, and tested a customer-facing user interface for an enterprise environment developer tool.
  • Created and maintained developer-facing APIs for several mission-critical tools and services which ultimately enabled the team to be more productive and avoid milestone crunches.
  • Imparted an emphasis on quality UML standard design documentation and test-driven design methodologies keeping the team organized and synchronized resulting in a successful final product.

Fred Meyer Distribution Center

Systems and Network Administrator June 2006 - July 2008

  • Installed, repaired, and maintained site computers, networking hardware, servers, printing/copying/labeling services, and embedded production software/hardware.
  • Integrated new software and updates to existing data infrastructure ensuring the company’s IT infrastructure was always up and secure.
  • Administered employee passwords and security clearances.


University of Washington

Bachelor of Science, Computing and Software Systems (Magna Cum Laude) 2010

With a focus on building computational worlds and Artificial Intelligence.
GPA: (Major) 3.93 (Overall) 3.87


Online Micro-Level Decision Making in Real-Time Strategy Games: A Case-Based Reasoning and Reinforcement Learning Approach.

Mowery, Chad., Spencer, Nathan., Bichendaritz, Isabelle. "Online Micro-Level Decision Making in Real-Time Strategy Games: A Case-Based Reasoning and Reinforcement Learning Approach." ICCBR Workshops, July 2010.

This project was nominated and presented at the 2010 International Conference for Case-Based Reasoning (ICCBR) in Italy and presents a novel approach to online adaptability of AI in RTS games.

The specialization of artificial intelligence (AI) techniques within the gaming industry is becoming a fast growing field of study for academia and industry developers alike. Many of the AI techniques used in modern video games are unique to a gaming problem domain as game developers often face the challenge of implementing their game AI with limited resources (game frames, memory, and processor cycles), more so than traditional AI projects and studies. However, due to the technological advancement of modern video game consoles and PCs, previous AI techniques used in industry are quickly becoming outdated and uninteresting to players. In this paper we outline a complete AI system that utilizes Case-based Reasoning and Reinforcement Learning components to provide new levels of player immersion. By utilizing real-time learning with Case-based Reasoning we can give a new outlook on games artificial intelligence as challenging and adaptive opponents for players.

Key insights:
This work addresses the limits of effective learning during online game play and suggests that the amount of learning needs to be carefully moderated using case generalization techniques as the amount of learning that is performed during play is shown to be inversely proportional to the overall problem solving efficiency in imperfect information game domains.

./The Doge is a lie! :(

  • If debugging is the process of removing software bugs, then programming must be the process of putting them in.

    Edsger Dijkstra
  • Thank you Mario! But our princess is in another castle.

  • When debugging, novices insert corrective code; experts remove defective code.

    Richard Pattis
  • You have died of dysentery.

    Oregon Trail
  • Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.

    Linus Torvalds
  • This is your fault. I'm going to kill you. And all the cake is gone. You don't even care, do you?


./Get In Touch.

Questions, comments, or cool projects? Drop me a message, but please keep in mind I am not currently persuing any new opportunities at this time.

There was an error trying to send your message. Please try again or simply send this message to my email address:
Your message was sent, thank you!