Tuesday, December 18, 2012

Goat Mechanic

At the last minute I decided to participate in Ludum Dare 25 (Twitter #LD48 for 48 hour entries). If you are unfamiliar, it is a world-wide game jam - a contiguous chunk of time allocated to developers to create a game given a particular theme. In this case, it was "You are the Villain" and sub-themed with "Goat". Errhh.. probably my least favorite pick from the voting pool.

That's right.. 48 hours.. two days from start to finish. This was my second game jam and just as exhausting as my first experience. It's like if you allocate eight hours to sleep, and five hours for eating and relaxing, you are down to 35 actual hours for development. Let's see.. 35 hours.. In other words, it's equivalent to a full 40 hour work week with one hour lunch breaks on each day, all condensed down into a weekend.

..Ouch is right.

Currently over a thousand entries were submitted, so here is the strange contraption I managed to come up with called Goat Mechanic:




When presented with the theme of "You are the Villain". The kid from the movie The Good Son popped in my head. As we know, that character is almost as villainous as it gets. There was a scene of him throwing something off a bridge into traffic, so that's pretty much the idea I went with. The twist is you work for a mechanic who earns money by accidents that you cause on the roadways.

Friday was spent on the art and getting cars to move around. I resorted to Box2D and it worked out really well. I tried all this complicated math to get the cars to swerve around, but after several iterations the best solution turned out to be the easiest.. Every frame just readjust velocity to be about 90% of the car's facing direction to restrict sideways motion, and get cars to swerve by adjusting angular velocity.

On Saturday I worked on the results and shop clipboards. At this point everything was coming together, so I spent time finishing the art and functionality of the shop items. Oil spills cause cars to lose traction, beach balls bounce around, anvils are very heavy so they stop cars instantly. Basically everything can cause an accident.

On Sunday I realized there was a goat sub-theme, so I shoehorned it in with some narrative, along with an ending and preloader screen. It was submitted with a couple hours on the clock remaining.

Overall, a grand experience and I definitely forward to the next game jam!

Monday, December 10, 2012

Back to multiplayer

Thanks to Player.IO, I have been able to get a basic prototype of my next project underway. Player.IO is a multiplayer API for Flash and other engines like Unity. I dabbled with some of the tutorials back in June of this year, fascinated, but I did not go very far with it until now.


It can be a bit cumbersome to get started, and understanding the theory of server and client communication is not immediately obvious, as I have come to learn, but some articles greatly help. In a nutshell, I write all the server code in C# that receives and broadcasts packets of information, while the clients receive and send updates back to the server within the Flash application.

The server code can be compiled into a DLL, so it can be uploaded online to test on multiple computers. Otherwise, the server can be run locally for testing on the same machine.


In this prototype I borrowed art assets from Zombie Situation, and hooked up basic WASD movement with mouse controlled shooting. This screenshot was taken with me connected to the game on three computers simultaneously. It basically has the framework I want, where players send and receive updates at 10hz while interpolating frames in between. Best of all, it works!!

Sunday, December 2, 2012

Jamming

The auction for the primary/exclusive license of Defend Your Nuts 2 will begin in the near future! In the meantime I have been doing a lot of prototyping with my new "game jam" Flash project that contains all the bare minimum systems, and utility functions that can be sprinkled here and there.

Here are some of the prototypes that I came up with...

Stage Crew
In Stage Crew you manage the sound effects and spotlights of a live play. The audience can react depending on your timing and accuracy! For example, randomly playing a gunshot sound effect will confuse the audience and reduces their reviews of the show.

I have moderate experiences working on sound and light back in high-school for plays. The real thrill was manipulating what hundreds of people were looking at, so of course it is hard to capture in a virtual setting.

Epic Gymnastics

At first I wanted to control a ragdoll-physics character on a balance beam, but it was too difficult to get him to balance and do tricks of any kind. Normally games simplify something from the real world. Here I took something that already is hard for the average person, and made it impossible!

The high-bar showed a bit more promise, because the hands are attached which removes the need to maintain any kind of balance. I played around with a lot of different controls that manipulate torque or applied force on different parts of the body. The keyboard as a primary controller does not suffice, so fake analog sticks on an iPad would have been better.

Unnamed Robot Prototype

I did not go too far with this one. It involved building a robot with different materials, including green and blue circles that rotate with the arrow keys. The gray circle represents a circular saw.

Back to the drawing board...

On a related note, I have decided to participate in Global Game Jam 2013 at NYU, located in Manhattan!


The closest site from me would be Baltimore, but that would be too much commuting for three days back to back. Actually I visit NYC many times a year, so this time I am making an "extended vacation" out of it by getting a nearby hotel room. Depending on how it goes, I may participate every year in a different city. I live way out in farm country, in a small town in Pennsylvania so it is easy to get restless at times.

Wednesday, October 31, 2012

Defend Your Nuts 2 is in beta!

No matter how big or small a project is, the last 10% always is the most grueling. Everything breaks down into bug-fixing, and tiny tasks marked up on some never ending list. Fortunately, everything really is coming together; Defend Your Nuts 2 has reached beta status! This moment comes at a convenient time, because I am taking some time off to travel.

This sequel actually has taken the same amount of time to develop, but I would say there is at least twice as much content and art. Conservatively, it follows a very similar design and blends some of the features from Zombie Situation. For example, you can find allies along the way, to help defend your nuts...


Additionally, there is a boss fight on the last day of story-mode...


As I write this blog entry, I begin to notice how little sense the game makes. Well, when you have to do all the programming, art, and design, while taking advantage of assets left-over from previous projects, things can turn out a bit randomly at times. In fact, this project was not even supposed to be a sequel in the first place! Despite all this, the game is more fun than its predecessor, and could very well be my most successful Flash game to date.

Wednesday, October 10, 2012

Defend Your Nuts 2!

I am making Defend Your Nuts 2!

Okay, so it was not my initial intention to develop this sequel - things pretty much led up to this moment. Back in the middle of September, I started on a Flash game heavily inspired by a mix of games on iOS...



It was basically functional with special abilities and specific weapons all planned out. But I felt as though I was borrowing too much (environment art style and design) while only delivering a small fraction of what could otherwise be offered. With that said, I decided to scale back a bit, and develop a sequel for Defend Your Nuts.



This time you can hire bunny allies of five unique classes (healer, warrior, rogue, wizard, archer). I have removed the option of purchasing ammunition in the shop, instead replacing it with a shovel to dig up money and ammo each round. The ability to upgrade the wall will remain. Also I chose to remove the blend of modern weaponry and support a purely fantasy theme, so land mines will no longer be an option either.

Tuesday, September 18, 2012

Scratch Tickets for iOS and Android!

I am happy to announce that my latest projects, Scratch Tickets, has been released for iOS and Android devices! It is a simple scratch-off ticket app with many tickets to unlock.



Click the buttons below to navigate to the online mobile iOS and Android app stores. There was very little play-testing, but the conversion rate of downloads to purchases is strong enough to convince me that everything should be in working order.

Sunday, September 2, 2012

Scratch Off Tickets

Recently I received an email that my Corona membership will soon expire. Corona is the technology I used to develop my mobile games: The King's Path and Pigs Will Fly, for iOS and Android. Earlier this year, I chose not to develop mobile apps anymore, but I did have one idea that I have always wanted to try out. Better now than later!



It is a scratch off ticket app! The final touches are being made for iPhone, iPad, and Android devices. Then, it's back to Flash games, probably from now until the end of 2013. I change my mind so frequently, so no promises on that notion :)

To be honest, I really did come up with this idea while playing Slotomania, so I was disheartened upon discovering that it that it has already been done before. However, an important difference compared to the other apps is that the prize areas are revealed uniformly and there is no "Redeem" button. It is obvious when a prize is won, because the scratched area reveals a simple icon while yellow star tokens pop out and fly to the top left corner. Consequently, this feels much more interactive.

There are also instant-scratch tokens that do as the name suggests. Simply click the button to use one, and the current ticket instantly gets scratched to reveal any prizes.

The star tokens to buy tickets are redeemed for free every few hours, or can be purchased immediately through micro transactions. There are 10 tickets, where 8 need to be unlocked by scratching tickets to fill the "New Ticket" progress bar repeatedly.

The game will be released within a couple weeks.