24-page storybook with original art based on a real handicapped dog
Responsibilities: App Development: UI design and programming, character animation, page layout and interactions, book framework code, iTunes Connect.
I was approached by a producer to build an interactive iPad storybook for kids, based on a story about a handicapped dog named Geoff who lives in Australia. This project received funding from a successful Kickstarter campaign. I completed the app with the assistance of a few contract programmers and animators after developing the base system of page interactions, animation pipeline, UI, and audio.
Touch-screen photo-booth sticker app with photo printing
Responsibilities: Application state machine, Unity scene setup, Custom NGUI components, State Machine control of UI, Multi-Touch Plugin and Driver interfaces, logging, WWW form submission.
While at Tribal Brands, I served as lead engineer on the PhotoCard project. Armed with a Mac Mini, a Logitech Webcam, and a 42″ Touch Screen HDTV, I helped build an app which lets the user take their photo, add and arrange stickers via multi-touch gestures, and send their photo to a local printer and/or an email address. This app has been deployed for multiple events, each time using custom UI and sticker graphics.
Responsibilities: Training/Mentoring, Gameplay Programming: Pet Socials
The last of 9 Sims games I helped make at EA/Maxis was The Sims 3 Pets for Nintendo 3DS. As an expert in the proprietary language used to write gameplay behavior in The Sims games, I was brought back for the final project to use that technology. EA had just acquired a company called Playfish in Salt Lake City, Utah, and had assigned a team of their engineers to do the bulk of the work. I spent some time in Utah training and supporting the staff there before returning to Redwood City, CA to complete the game.
Responsibilities: Gameplay Programming: Movie Theater
The Sims 3 reinvented the way Sims games were built, leaving behind the proprietary scripting language used on the Sims 1 and 2, and adopting C# as the behavior language for object interactions. I joined the team late in the project after completing a series of Sims 2 console games, and assisted in the completion of the downtown area in the game.
Responsibilities:Game and Lot Design, Prototyping, Lot Transition Portals, Gameplay Programming: Harvesting, Crafting, and Music Systems
As a radical departure from the traditional “get a house, get a job, buy stuff” gameplay of The Sims, Castaway pitched the player onto a tropical island where they had to harvest materials to build their own shelter and find their own food. I helped design and prototype the crafting system which allowed players to unlock recipes as they explored the island, finding ingredients, and exploring ancient ruins.
Responsibilities: Training/Mentoring, Porting Code, Gameplay Programming: Pet Interactions
The Sims 2 for PSP was a hybrid game which copied the Sims 2 Pets base game from console, but made its own changes to the game design and code. I was sent to train a team of engineers at EA Canada and support the process of merging code from the Pets game being finished in California while implementing the custom behavior changes. After five weeks of hard work we finished the port and I returned home.
Responsibilities: Gameplay Programming: Pet Plaza Buildings and Store Interactions
The Sims 2 Pets was a simultaneous release which shared assets between a PC expansion and a Console game. I worked on the console game, which was a sequel to The Sims 2 Console but with added pets content. As someone familiar with developing both the console and PC versions of The Sims, I was able to assist modelers and animators from the PC team who were unfamiliar with content requirements for the console games.
This project was the first which introduced the programming language Lua, as an alternative to the built-in proprietary language normally used to write The Sims behavior. Lua allowed for more complicated scenarios to be created easily by the engineering team, such as realistic poker games played by sims, and my assignment, which was a store managerial AI.
I learned the Lua language during this project, and used its strengths to help design the sorting and prioritization algorithm of the Store Managerial AI. When you told a sim to watch your store, they would intelligently manage which other employees should stock, man the register, take a break, etc, taking into account the various skill levels of the sims working in the store, as well as the skill levels of the manager. Beware of hiring a manager who isn’t very smart.
As an experienced engineer with The Sims 2 programming language, I was transferred to the console team to help bring the gameplay of The Sims 2 from the PC to XBox, PS2, and GameCube. On the PC, a mouse would be used to send the sim to places and interact with objects, but we wanted to avoid having a cursor. I helped prototype a system which gave users direct joystick control of sims for navigation, with proximity and direction determining which objects the user could interact with.
The first expansion pack for The Sims 2 game included many objects and experiences surrounding College life. The camera was the most complex object I worked on for this expansion, as it needed specific engineering support to turn a screenshot into an in-game texture for a canvas.