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 Senior Software Engineer at Machine Zone and not actively pursuing any new opportunities at this time, but please feel free to keep in touch!
Redwood City, CA 94061 US
chad.j.mowery 'at' gmail 'dot' com
chad.j.mowery 'at' iterativeintelligence 'dot' com
Sr. Software Engineer • March 2012 - Present
Games Shipped: Game of War: Fire Age, Race or Die 2, IMob2
Software Engineer• March 2011 - March 2012
Games Shipped: Global War, Original Gangsters
Software Engineer• May 2010 - March 2011
Software Engineer• September 2009 - May 2010
Software Engineer Intern• June 2009 - September 2009
Systems and Network Administrator• June 2006 - July 2008
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
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.
A casual game based on the original Catch Phrase. It mixes elements of charades, taboo and hot-potato all into one game where each team must get their teammates to guess a word or phrase correctly without using any part of the word in a sentence or saying the word outright.
It's a mini Roguelike about the word F*** and ananas! Meant to be a total spoof on a few friends 'artistic' game designs. Built using Rotjs.
**Warning explicit language. Please do not play if you are sensitive to such things.**
An artificial intelligence project featuring a custom Case-Based Reasoning (CBR) module used for micro-level decision making operations. The CBR module's task is a challenging one. That is, to successfully observe new problems in it's environment and place them into "schemas" which are then used to categorize a problem/solution "case." As our AI plays games against opponents, it's ability to reason about problems and their solutions should (and do) become more and more defined effectively creating a game AI that adapts and learns while playing games of Starcraft. It is important to point out that the CBR module is designed to operate in a non-perfect information environment meaning that our AI only knows as much about it's game environment (or problem domain) as it can "see." Events that happen in the AI's "fog of war" go on un-observed. This CBR module is coupled with a Reinforcement Learning component and allows for "live learning" during gameplay as well as "offline" learning after matches. It enables the dynamic adjustment (weighting) of cases and solutions and the exploration/generation of entirely new case solutions to occur which is quite rare in most game CBR implementations. Each module is written in C++. This project has been nominated and presented at the 2010 ICCBR conference in Italy.Artificial Intelligence
A 3D PC/Xbox 360 arcade style zombie survival game prototype where the player must fight off hordes of zombies and other nasty creatures racking up a large kill count and score. There is no end game, so the player is continually challenged with larger numbers of increasingly difficult enemies. Zombies! features 4 unique weapons including shotguns and flame throwers to combat 4 distinct enemy types--old school slow zombies, new school fast zombies, explosive suicide zombies, and hard to hit spider zombies.
Zombies! uses a game engine built entirely from scratch and required a focus on multiplatform development, reusable game engine designs, 3D graphics, and AI programming. It's an addicting game prototype with a lot of potential and was developed in less than 3 months with a team of 4 for a class project. Written in C# leveraging the Microsoft XNA framework.
PC Version (NOTE: requires .NET and XNA 3.1 redistributable to be installed and a video card that can render mipmaps which may not be in powers of 2.)
My vision of a Tetris clone featuring more challenging than normal gameplay (each level gets progressively harder--much more than most clones and the original). It features a water/surfing theme of my design. Other than that, this is your standard game of Tetris. This project was such an important experience as it allowed me to design and code my first decently sized game from the ground up using practical test-driven design methodologies. It was also my first experience designing game-specific user interfaces. Written in Java.Browser Games
A playful website dedicated to the funny things my dear friend Mitch says. Displays random un-edited quotes from Mitch with fancy text animations.
Mitch, thanks for all the laughs and don't ever change!
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.Toadstool
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?Portal
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.