Production Update

My apologies for the lack of updates since the Kickstarter campaign, but since it’s success, Tomato Trouble is now in Full Scale Production. The vast majority of the art has been sized and exported, and an assistant animator has been brought on to handle the final character animations while I arrange the pages and finish the final code.


I have been working with a new set of tools, currently in beta but about to release a final version on the Mac App Store. The tools are SpriteHelper and LevelHelper, which make a great pair for constructing cross-platform iPhone and iPad content with animations, physics, and interactivity.

When the Kickstarter project launched, I was doing all the sprite arrangement and animation manually. There didn’t exist a good set of tools to make this process easy. I was dreading having to do everything, including all the scaling and positioning, by hand.

I had heard of LevelHelper before, but it did not yet support the iPad retina screen which is a must for this project. The art looks so great, it needs to be in the highest resolution that the device can support. Right after the Kickstarter campaign was completed, the software’s author began an open beta for the new version which does support the retina screen on the new iPad.

Since then I have been working with him to test his tools, and already I have seen a huge performance and usability increase. The tools are now in place to churn out the rest of the pages at a fast pace while the animations roll in. And with these new tools, I only have to arrange each page once for all four device resolutions — iPhone, iPhone4S, iPad, and iPad3.

There are some minor layout and interface issues to fix, but this video shows all the final animation and transition components proven and ready to be finalized. Shortly, animations and interactivity will be stitched in to the constructed pages and then final app testing will begin. In the next few weeks we will be play-testing the book with groups of school children, then doing performance testing and bug fixing before the final send-off to Apple.

It’s been a long process but we’re finally on the home stretch. More progress videos will be coming soon as animations and interactivity begin to replace the static placeholder images.

Geoff and his Two Dads

Last year, a friend’s cousin came to me with an adorable story about a dog who just happened to have special needs, and just happened to have 2 gay owners (which I hear is quite common for dogs these days). He needed a developer to turn the 2D illustrations into an interactive childrens’ book for iPad. What I loved about the story was that it wasn’t about either disability or sexuality, they were just facts that made up the background for the characters. It makes it real; to be a thing but not be defined by it.

Some of you may know I have a bit of a soft spot for gay rights. I’m not gay myself, but I’ve had gay friends all my life, and I was raised in a family where it was important that you stand up for your ideals. I think there should be no reason to treat anybody different, in behavior or in law, simply because of who they choose to love. When I see an opportunity to do a project which makes that ideal more prevalent in our world, I try to help out.

The project had no budget, but I liked the story enough to want to be a part of it. For the past nine months I’ve devoted a good chunk of my spare time to designing and writing a framework for producing interactive books on the iPad. I have chosen cocos2d as my graphics engine to bring the beautiful art to life, and I have created a data-driven book reader with synchronized narration and highlighted text.

The book is readable from front to back, but the pages are static and there are no interactive elements to touch and play with. Furthermore, they are all low-resolution first-draft images produced by the artist. The next step is to add life to each page, updating them with final art from Photoshop, and isolating layers which need to move or animate. After that, I will be making each page its own little world, with idle and character animations, moving trees, clouds, and animals, sound cues, interactive object behaviors, and more.

In addition to the animation and behavior programming I still have to do, like any software project, there will also be feature polish, debugging, performance optimization, usability, testing, and publishing phases which I will have to go through. Facing shortages of time, money, and hardware, it’s going to be difficult to finish this project in a timely fashion. Since it’s the kind of app I think there should be more of, I really do want to get it done, it’s just a non-trivial task.

So, with the help of the project producer Jeff Wannberg of Wompi Studios, I have made a Kickstarter campaign to help get this project finished. In addition to compensating me for the time I have spent, and will be spending to make this project a reality (being the coder, animator, and co-director), the money raised by this campaign will help to fund:

  • the new computers and iPads we really need to kick our development into high gear
  • software and tools which will make our jobs easier, so we can make apps faster
  • additional technical artists, animators, and developers to help bring this first app to market quicker
  • pre-production on sequels and other apps in a similar spirit

Although the Kickstarter campaign goal is set at $5,500, that is really a small amount compared to the costs of what we want to achieve. We could easily spend that much on hardware and software alone, and then still have only a single developer working in his spare time. Funding this project in a big way means that I will be able to devote my full attention to the project and also bring other people on board to help get it done faster (and hopefully better) than I could have done myself.

I will continue to post development updates here and on the Kickstarter campaign. If you are more technical or curious, you may prefer the updates here on my blog, as I plan to make them more detailed. What I am likely to post on the Kickstarter page as updates would be more related to the campaign or showing the completed version of something. Here, you are more likely to learn what it’s like to actually have to plan and develop a whole app from start to finish.

If you haven’t seen it yet, please watch the Kickstarter video and share it with your friends. If you are here from the campaign, then thank you so much for visiting, sharing, or donating!

Glass Home TV Web Site

I built this website for a small live video streaming and online media collective. Features include:

  • Blog roll for news updates, show announcements, and archives
  • Facebook integration in sidebar and like buttons on pages
  • Pages for show hosts with integrated Twitter feed
  • Custom plugin connects to,, and
  • Individual episodes represented in own categories as posts with video and highlight clips
  • Forums with integration into sidebar

Ocean Beach Studio

From 2011 to 2014, I lived in a house in San Francisco where the landlord had built a sound proof room as a rear addition. While living there, my roommates and I transformed the room into a functional practice space and recording studio, renting it out by the hour and becoming the #4 studio on Yelp in San Francisco. The landlord moved back in 2014, so we had to shut down operations, but the web site remains archived at

Ocean Beach Studio Web Site

I built this website for the home business I used to operate from the sound-proof music room behind my house in San Francisco. Features include:

  • Clear navigation indicating the services and information central to the business
  • Integrated Google calendar to show when the studio is booked
  • Custom contact form to book studio time or get a quote for other services
  • Facebook integration in sidebar and like buttons on pages
  • Blog roll featuring events at the studio or involving studio staff/bands

A redesign included clearer contact information and a photo slideshow in the header against a sunset photo background which was also used on print postcards for advertising.

The Sims 3 Pets (Nintendo 3DS)

Electronic Arts, Nintendo 3DS (view on MobyGames)

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.

Under Construction

In the future, this site will exist as a blog and showcase for my many projects. For now, it mostly consists of links to other places. You can view my Resume, Video Game Portfolio, and find out about a few of my musical endeavors. Navigate using the links above, and check back later for more insightful content.

Citizen Of Earth Web SIte

My long term friend Stephen Cocconi, who does personal consulting, teaching, and channeling, asked me to transform his old static HTML site into something dynamic that he could maintain. I interpreted his existing web site design in a modular fashion and built a WordPress site with custom plugins to address his desired features. I then trained him on how to use the WordPress interface, my custom plugin administration panel, and to add new custom content. Live features include:

  • Hierarchy of pages, blog categories, and custom taxonomies to represent the unique teaching system he uses in his personal trade.
  • A WordPress plugin/widget to display random testimonials from his clients, along with a custom database for him to add entries to via web interface.
  • A custom tarot card application, reproducing the features of an old inflexible JavaScript application and adding new features.
    • Custom images, css, page type, and category pages for individual tarot cards, designed and produced by Stephen
    • Custom pages and a WordPress [shortcode] syntax allowing Stephen to specify a variety of layouts in which to deal the cards
    • Custom CSS for card display, in multiple modes and contexts (dealt, undealt, shown in category list)
    • Links to custom taxonomies and detail pages for more info on cards

The Sims 3

2009, Electronic Arts, Windows/PC (view on MobyGames)

Responsibilities: Gameplay Programming: Movie Theater

the-sims-3-jogo-base-pc-game-refresh-original-frete-gratis-14679-MLB3512897259_122012-F 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.