Friday, May 24, 2013

The Zombie Invasion

I have noticed a consistent demand for wall-based zombie defense games, especially after the release of Zombie Situation a year ago. For example, these three games:

Zombie Wranglers (web)
Zombie Age (Android)
Zombie Defense (Android)

I am very certain that all three of these used Zombie Situation as a piece of inspiration, based on the design, art, and even the audio in the bottom two apps. I find it to be flattering. I used existing games as inspirational material during the development of Zombie Situation as well, so my game can be seen as an intermediate branch. It is so fascinating to experience firsthand the evolution behind game development.

The bottom two apps are doing quite well for themselves, based on the number of downloads. I could see myself making something similar, but I am getting really tired of developing wall-based defense games. The luxury of being a self-employed developer not only consists of pursuing attractive opportunities, but choosing not to pursue them as well. It would be my fourth one of the genre, followed by Zombie Situation and the Defend Your Nuts series. My assumption was proven correct when I sat down to prototype one for my Android device:


As a developer, the popularity behind this type of game is insufficiently motivating. The foundation is nothing to me, so development would be dull. So, I brainstormed exclusively through art, resulting in this:


Which transitioned into a tactical turn-based hexagon concept, similar to Dragon Age Journeys:


I'm intrigued. It welcomes strategies on both a micro and macro level. It can feature ridiculous melee weapons like frying pans and golf clubs. Meanwhile I have been reading Apocalypse Z while watching zombie movies and shows such as Dawn of the Dead and The Walking Dead, so I can't help but gather ideas rapidly. I have yet to sleep on this particular concept, so we will see what the future holds.

Monday, May 20, 2013

Project "Paladin" has reached beta!

At last! My current game for iOS and Android has reached beta status. This project has evolved tremendously over the past month. Now I can finally play it and make adjustments here and there. It has a very similar feel as many of my Flash games for the web.

Kindle Fire, Samsung Galaxy, iPad.

Meanwhile, Goat Mechanic has been sitting in beta ever since I started this project. It looks like both will be released at the same time near the end of this month.

I am using an older version of Corona to build my apps for iOS. Why? Well, my Mac Mini is capped at Snow Leopard OSX rather than the latest Mountain Lion version. Mountain Lion is now mandatory for the latest versions of Corona, because of changes in Apple's SDKs and possibly others reasons.

It is really frustrating to work with Apple because the company leverages software updates to phase out hardware rapidly, forcing customers to upgrade everything. Worse, it took me hours to figure out it was an operating system issue. It is not fun to stare at vague compiler errors all day, regarding infamous entitlements and other plist garbage. It is especially not fun to realize that my Mac Mini is becoming a paperweight, as I only use it to build iOS apps.

Tuesday, April 30, 2013

Potato Gnomes Online

This past weekend was Ludum Dare 26! A record breaking 2342 games were submitted. My entry in the 48 hour game jam is called Potato Gnomes Online, an online platformer for three people. The theme of the jam was "minimalism" (unofficial sub-theme was potato), so I chose to limit the controls of each of three players. One gnome can run, one can jump, and one can throw French fries. Together, they are stacked and must cooperatively collect potatoes to beat each level.

When it comes to programming, art, audio, and design, typically I only have sufficient time to focus on two of these. To put things into perspective, it made sense I invest all of it into programming... Virtually all my development time was devoted to the technical aspects with Player.IO.


The Good

The game works! Technically, it turned out as I had planned on Friday evening, briefly after the theme was announced.

The server automatically match makes three random people and lets them play as a unified character. I was thrilled to play with complete strangers online. This was such a boost of morale so definitely I want to take online multiplayer further. Overcoming this initial technical roadblock opens up all kinds of opportunities.

As for the jam itself, I got sufficient sleep and maintained a healthy schedule. The core features were finished on time, leaving just optional ones like a chat system for another time.


The Bad

Potato Gnomes Online actually is not very fun, especially for the gnome who jumps because it is just a single button for input. Not surprisingly, it is typically the first player who disconnects. Also, it isn't very entertaining to sit in the match making lobby while the game attempts to find other players.

The audio and art are lackluster. Music is missing entirely. Focusing on these components would have stretched my time budget too thin.

The Ugly

The code manifested into a tiny little nightmare. The server was written in C#, but it contains all sorts of poor programming practices that do not utilize the strengths of the language. Algorithms are stitched together and unused variables float around everywhere like a bunch of turds in a maze of sewer pipes.

I discovered the hard way that the server is multithreaded so needs to be thread safe. I panicked and sprinkled lock statements everywhere to neutralize the problem in a very crude way.

The game feels very laggy. For example, if a player wants to jump, then the request is sent to the server, which then processes everything and broadcasts the live data. I designed it this way intentionally, to force flawless synchronization across each client.

Summary

My game jam entry was a success on a technical level, and a very rewarding experience. It has given me the confidence and experience to put it to much better use in the future.

Friday, March 29, 2013

Speech bubbles

I have been wanting to give my game a bit more personality, so I have been focusing on four characters that offer options and upgrades. For example, approaching the bard exposes his speech bubble to toggle music and he animates accordingly. This should intuitively lay out all the options for the player to explore, rather than offering some gargantuan menu with text everywhere.



I was very impressed by the performance on my Android device, where dozens of characters were fully animated and moving around with no apparent loss of frame rate. It is as optimized as it ever will be. Plus it will have an expected release size of only 15mb.

It looks like it is going to be just design and programming from here on out. All the weapons, backgrounds, and animations are finished.

Friday, March 22, 2013

PAX East

I will be attending PAX East in Boston! This will be my first visit, so I am stoked. The trip should be easy considering I will be going with someone, while stopping midway in New Haven, Connecticut, for sights of historic lighthouses and museums, and tastes of some classic American restaurants.


It is great leaving at a good stopping point. I just spent two days trying to build Goat Mechanic for iOS because of certificate and entitlement garbage. Anyone who has made an iOS app knows the number of potential problems because the process is more sensitive than a rotten cavity. To me, the number of possible solutions to each problem is worse.

It turns out my Mac Mini is now five years old; it cannot be upgraded to Mountain Lion OS X with the latest version of Xcode that Corona now requires. I have to use an earlier build, so hopefully there are no severe issues later down the road.

Wednesday, March 13, 2013

IGDA Meeting

I am one of the two presenters at the next IGDA Baltimore chapter meeting tomorrow, Thursday the 14th. My talk will be 20 minutes long, accompanied with a PowerPoint presentation titled "The Motivation Behind Small Games". Already at least 50 people are coming, so join now!



Today, I am heading to New York City to attend this MeetUp on "Making Money with HTML5 Games in 2013". It should be very interesting to hear from individuals who specialize in this technology.

Tuesday, February 26, 2013

Arsenal

Here is a look at all 25 weapons. Knives and javelins are thrown; maces, swords, and hammers are swung. Each type is upgraded sequentially as shown.


I might add some goofy or epic ones that are unlocked.