SpaceCraft Demo Update 2


New Update!

Added new parts to play with, as well as improved the ship rating system. Now when you go to rate ships you are given a random set of ships and at the end of voting you earn rewards. So go start judging those ships!

Part inventory has been reset to a random set of initial parts and now you earn more parts by spending coins at the store.


Known Issue:
I’m investigating some issues with the server that seems to require players to do email authentication every login. If you notice this issue then I apologize, I hope to have this resolved soon.

If you notice any other bugs feel free to leave me a comment below.

SpaceCraft Demo

Here is a pre-alpha version of a game I’m working on. It’s a spacecraft building game.


Stay tuned for updates. As always, feedback is much appreciated.


Step 1: Make a ship

Tap on the left buttons to add parts to your ship.

Tap on the part in the “Ship” panel to select it. When selected, the part will be highlighted red and have circles around it.

Drag the green circle to move the part.

Drag the light-blue circle to rotate and scale the part.

Tap the background to de-select the part.

If a part is selected and you tap a part button from the left, it may swap the part (if applicable).

If no part is selected then tapping on a part button will add a new part to your ship.

Press the “Save” button to save your ship.

Press the “New” button to make a new empty ship.

Press the “Delete” button to delete the selected part.

Press the “Battle” button to watch spacecrafts fly through space.

Step 2: Battle

Note: The Battle mode is a mini-game meant only as a demo (is not the final game).

In battle mode may see your ships as well as ships created by other players. Currently the ships just fly around peacefully, but you may choose which ship lives or dies by tapping on the ships you wish to end.

Victory is achieved by destroying all of the red ships.

Defeat occurs if only red ships exist.

Again, these simple objectives are just for demo purposes and will likely change in future releases.

Space WOBA Game Concept Demo 2


I’ve been in the process of testing a version of this game on my iPad2 and experimenting with techniques to optimize performance. While I cannot make the version I have on my iPad available in the App Store (yet), I have posted the current work in progress of the game here:

Notable Updates:

  • Removed player ship (you only watch now… the player ship was a temporary camera… will add player controls to different kind of space game in the future perhaps)
  • Added camera controls — drag/click to pan; mouse wheel to zoom (on mobile device this works as swipe to pan and pinch to zoom)
  • Optimized graphics (should run faster than the previous demo)
  • New ships and new ship configurations
  • Replaced vector-based stats UI with simple text (for now)
  • New multi-tiered super-minion waves (new ships) — each new super minion wave will spawn more uberer super minions
  • Team colors changed
  • Minor balance changes to credits per kill, credits required to spawn a super minion wave, ship speed, bullet speed, hit points

WOBA Space Game Concept

Check out my concept for a Space Game WOBA (watchable online battle arena). It’s like Gratuitous Space Battles but in a MOBA format. I’ll be using my Starling powered space game engine that I’m developing to implement this concept.


I’m still developing the core engine to support a space game. And this is just one game concept that I hope to apply my space game engine to. The idea for this game is that there are two evenly matched space fleets engaged in an epic space battle that ends when either Mother Ship is destroyed. However, it wouldn’t be all that interesting if both fleets were exactly the same, so ultimately the plan is to have “champion” ships which will bring variation to the battles (think of them like Champions in League of Legends) — henceforth they will be referred to as “Aces”. And similar to Gratuitous Space Battles, everything will be AI controlled. As for player input, the player may be involved with choosing the Ace composition and perhaps equipment loadout for the aces and ships.

An Ace is like a Fighter with added abilities. An Ace may fall into one of various classifications (e.g. Fighter, Support, Tank, Nuker, Assassin). And each fleet will have up to a certain number of Aces (somewhere between 3-5). The initial roster of Aces will be quite minimal but I’m hoping to create a framework that enables new Aces to be developed with ease.

Ultimately, this game is mostly a proof of concept that will allow me to demonstrate the space game engine as well as enable me to practice and showcase my game design skills.

As for other applications of the space game engine, I plan on using it to make an open world space exploration shooter game (like Omega Mega but without boundaries and you can shoot stuff). I haven’t settled on a particular design concept just yet, but I have enough of an idea to keep enhancing the core game engine to provide what I need.

Stay tuned for tech demos soon to come!


Sorry for the lack of updates — I’ve been away at camp for the past year and nine months.

In August of 2011 I was presented with a great opportunity to work as a Software Engineer at Zynga in LA. Zynga is the company behind Words with Friends and Farmville etc and their HQ is in San Francisco. The ZLA studio was a relatively new addition to a growing number of satellite studios, each acting autonomously developing and maintaining their own games. What was so great about ZLA (aside from being commutable) was that the studio was filled with tons of talented people from the game industry, several of whom came from EA and worked on Command & Conquer prior to moving to Zynga.

While indie game development is great, there’s no one else around to challenge or question your decisions. This was going to be a chance for me to collaborate with and learn from professionals while making games… Facebook games.

To be honest, I’m not the biggest Facebook game player, and I wasn’t sure that developing a “Ville” game would interest me, but I took a chance and passed the series of interviews and was offered the position of Software Engineer which I then accepted.

So in September of 2011, I had an official deadline for completing Bowmaster Winter Storm, hence its release (the day before my first day at Zynga LA). Prior to working at Zynga, I was at Honda HQ working as a Flash Developer on technical training software for technicians and advisors at Honda dealerships. It was a tough decision to say goodbye to my friends at Honda in pursuit of advancing my professional career growth, and even more difficult to say goodbye (for a time) to indie game development.

Having never worked (officially) in the gaming biz I had no idea what to expect, and was a bit nervous considering past horror stories concerning work/life balance and crunch time. However, after the first few weeks I could tell this was going to be a great experience. I worked on Empire’s & Allies as it was already live when I arrived, and helped develop several content and feature releases per week (talk about hitting the ground running). And then a few months later I had the chance to help develop a new game called CoasterVille.

The culture was fun and the environment was a blast. The people were all very unique, fun and interesting. We all cared about our jobs, our games, and each other. It was one big happy, yet very functional, family. It was almost too good to be true. There were nerf fights, movie nights, lunches and dinners, and even trips to Disneyland and Universal Studios (research for CoasterVille). This is not to say that it was all fun and games. There was some crunch time and the occasional emergency hotfix, but it was still fun and exciting. And most importantly, the engineering problems and solutions presented through game development at Zynga LA provided several opportunities to learn and grow as an engineer. That was perhaps one of the most uplifting and eye opening experiences as a software development professional working in an engineering team — we were not designated by the tools we used or the computer languages we were most comfortable with, we were all simply “software engineers” whose job it was to solve software engineering problems.

Of course, we all had our particular strengths, and my foot-in-the-door was my expertise with Flash/Actionscript and my passion for developing games. But it was being valued as an engineer in general which was so refreshing.

I proved that I could thrive and did my best to add value to our games with every assignment given. Zynga prides itself as being a meritocracy and through the course of my stay I was recognized for my contributions and even “leveled-up” to a position with increased responsibility and expectations. This motivated me even further to work hard and keep up a “killing it” attitude.

As CoasterVille started winding down, the studio was leaning toward developing the next game which was going to be something in the mobile space. As engineers, we were about to dust off our knowledge of C++ and C# and were expected to become familiar with Unity3D. The engineering leads organized a few code-jams to help get people back into the swing of things, and as time allowed we were encouraged to experiment and develop with Unity3D.

This culture of learning and professionalism is one that I was most impressed with at Zynga LA. Sure we had nerf fights, and dressed casually, but we still practiced professional software development processes. We used SVN and build tools, had code reviews, had spec reviews, held software design meetings, were offered technical training, and created documentation, all the while interfacing and communicating with members from other teams such as production, design, and art.

Sadly, and abruptly, it all came to an end when Zynga Inc decided to close down three of its satellite studios (ZLA included) ultimately laying off 520 employees.

There was little warning and no chance to further reduce the JIRA bugs queue on the morning of June 3rd, 2013, when we were all told in person, by someone I’ve not had the pleasure of meeting until that day, that it was our last day in the studio.

It was a sad day for us all and it was truly unexpected for most as we were a very capable and well functioning studio. CoasterVille was third highest played among all of Zynga’s current Facebook games, and we still had a lot left to offer our users with planned features and pending content releases. I was not privy to the business details as to why it was decided to shut us down, but as they say, it’s all business, and I don’t take it personally.

At ZLA, we all cared about our games Empires & Allies and CoasterVille, and the numbers showed that our users liked them enough to endorse our studio with in-game purchases. These purchases were enough to keep our studio going and help carry the entire company through some rough times, and it was fun while it lasted :)

So here I am. Zynga is officially done with me and just in time for Summer! Time to hit the beach!…err.. I mean update my résumé.

So to recap… Recent Achievements Unlocked:

  • Land a Job in the Gaming Industry
  • Acquire Ticket to E3 (free)
  • Experience a Massive Gaming Industry Layoff

So what does it all mean?!

Well, I’m currently LFG and will be applying for new positions as a professional in an industry of some kind. I’m looking for both gaming and non-gaming opportunities in California in the LA and Orange County area.

As I look for a new full time job, I’ll be working on some new and exciting personal projects which I will describe in later posts so stay tuned. Below is a teaser image of a space game I started developing now that I have more free time. I’ll be using the Starling Framework (used by Angry Birds for their Facebook version).

What’s great about Starling is that it enables Flash to tap into your GPU to provide improved performance and graphics. Imagine my space sim game running at 60fps with cool particle effects. That’s the hope at least. We’ll see what I can come up with.

I may also update Bowmaster Winter Storm with new content.

Stay Tuned!

Bowmaster Winter Storm Codex Preview

Here’s a demonstration of what the Bowmaster Winter Storm Codex will be like. Bowmaster Winter Storm Codex Demo

Example Screenshot:
Bowmaster Winter Storm Codex Demo

This codex will be an in-game resource viewable from the main menu or while playing a mission.

Some of the content and graphics in this demo are still under development and the current version of the game may not reflect the same information in this demo.

Pro Tip: Click on the same unit button again to generate a new random unit skin (where applicable). Try this on the Orc Grunt unit to see the various facial expression he can make.

Bowmaster Winter Storm Update 0.2.26

New skills available! Check out the new Twin Fangs ability in the poison section of the skill shop. This new skill shoots out two arrows that do bonus damage if you’re able to make both hit the same target. In addition to this, the Slice and Blunt arrow have been redesigned with new features! Blunt arrows now stun enemies and Slice arrows cause certain enemies to bleed out (causing damage over time). Enjoy! Play Bowmaster Winter Storm

Coming Soon: Development on the the fabled ‘Bowmaster Codex’ is still underway. Much progress has been made on the functional design and soon development will transition to content creation. The Codex will feature unit descriptions, stats, tips, and explain unit weaknesses and critical areas. This will be an in-game tome-of-knowledge that can be accessed from the main menu or while playing a mission. Stay tuned!

Update: I fixed the bug that caused your army not to spawn; so no more loneliness.

Update: Fixed issues with dragon elemental weaknesses not working properly.

Update: The Curse has been lifted! Shielded Skeletons are no longer way over-powered! (fixed the bug that caused them to heal from any type of damage).

Bowmaster Winter Storm Update 0.2.25

New Profile Management Feature! Import profiles from online to offline and vice versa. Play Bowmaster Winter Storm!

Also, the helmets from last week have been shrunk to better fit the orc’s heads.

Coming Soon: The Fabled ‘Bowmaster Codex’ is currently being written. It will feature unit descriptions, tips, and explain unit weaknesses and critical areas. This will be an in-game tome-of-knowledge that can be accessed from the main menu or while playing a mission.

How To use Import Feature:

Note: You must be logged in for this feature to be enabled (otherwise the Import button will not show up).

Go to “Profiles” from the Main Menu.

Click on the “Import” button at the bottom.

From there you can copy profiles from your online profile list to the computer’s offline profile list (the guest account).

But the really cool feature of this is that any of your offline profiles that you may have created before using an online account will show up in the Offline list (including old offline profiles that may have been created before the log-in system was created).

Another possible use for this feature is the ability to “share” a copy of a profile with someone else using the same computer. For example, let’s say you have a level 25 mage that you want your friend to be able to use. Just log in as you first, then import the profile to the offline side (select it on the right column, click import and see it show up on the left). Then have your friend log in using his account and then go to the import feature and click on the copied profile (on the left side) and click import and now it will be included in his online profile list. Note: this is a way to make copies of profiles so anything your friend does with the copied profile you gave him will not affect your original version.

Also, this Import feature is yet another way to backup your data. If you occasionally wish to “archive” a version of your hero, like a snapshot in time, you can import your hero profile to the offline list. Then once he rank’s up a few levels, you can later import him back to your online profile from the computer you imported him to the “offline” list. Now you have two copies of the same hero to play around with (one version is your current rank and the other is the lower ranked archive version).

Note: you cannot import a profile that has the same name and hero rank.