Friday, May 18, 2012

39Java

When I went to program network IO in Goblitairation I noticed that I had two choices:
1) A windows, mac, and linux compatible library that speaks to a Java or C++ server 
2) A javascript library (39js) that runs in a browser and speaks to a NodeJS server (a server that runs javascript).

I'm personally not a fan of NodeJS or javascript in general and I wanted the binary versions of the game to be able to talk to the web versions. So I set out to write a library that works on windows, mac, linux, and in a browser that speaks to a Java server. The sever is based on Netty and will listen to websockets as well as TCP sockets. So it can listen to 39dll or the javascript socket.io library. 

I'm modelling the API after 39dll since there are a number of Game Maker games already written for this library. I prefer a java server, so that's what I'm coding, but I get the impression that a lot of the servers are written in C++. With my Java server as an example, someone should be able to write the C++ version and have a completely compatible library that developers can plug their game into and have it suddenly work in a browser.

I currently have the socket.io to java code working. The next step is to incorporate 39net (a java version of a 39 dll server) and switch between the two communication modes depending on what platform the game is running on.

This has been a costly investment, but it will pay off in the long run and I couldn't pass up the opportunity to debut my first open source project and help a niche of developers who are looking for a solution like this.

Tuesday, April 3, 2012

Path preview

Another update for Goblitairation!

Uploaded Daniel's airship sprites.
Added a path preview. When you hover over a card, arrows reveal the path of the maneuver you are about to execute.
Also fixed those pesky animation glitches when ramming.

Sunday, April 1, 2012

Weapon Damage

Added weapon damage and ship destruction when hp reaches zero. HP is currently 4 to make testing easier.
No damage from plowing yet.
Added a debug button to self destruct a ship.

Saturday, March 31, 2012

Plowing!

Updated Goblitairation!

Added a blinking cursor. Thanks to Daniel for the sprite!
Removed alternative bounce rules - turns out they were less intuitive than standard bounce rules.
Added plowing. This currently has some minor animation glitches when corners are involved. However, they do not affect game play.
Removed rotation before first move for now. I'll be adding it back later.

The code for plowing was so hard!!! I wanted to delay moving the plowed ship until it was actually hit by the plowing ship and that proved to be sufficiently difficult. There were several edge cases to account for (sometimes it helps to have a good testing background).

Hopefully I should have a chance to add damage tomorrow. Should prove to be much easier than plowing.

Feature Spoilers!

Sunday, March 25, 2012

Game Maker Studio is Amazing!

Used the beta to run Goblitairation! on my iPhone.

I went out and bought a mac mini today (early b-day present to myself) - $850. I'm throwing an SSD in it later, but I have to get some torx first. I spent 5 excruciating hours getting from mini box open to iPhone app running. It was so awesome to see it running!

Game Maker HTML cost $99. From what I've read, I should get Studio with HTML5 for free (normally $299), but adding iOS and Android modules will cost $200 each.  Totally worth if you have a good game to sell. =D

Saturday, March 24, 2012

Update and Mobile woes

http://www.goblitairation.com/

Latest updates:
- Centered the app in the browser
- No explosions outside of map
- Added harpoon and burst
- Added hands per ship
- Added deck (shuffling, draw, discard) - initial cards are random, but they persist through the game.
- Added turns and a temporary toggle to disable turns to make play testing easier
- Added a quick fix for rotating the ship when the movement's first action is a rotate. Not happy with the way it currently is, but I've moved that down the priority.
- Added UI locking mechanism when cards are being played
- Spent a ton of time figuring out order of events in the different versions of game maker to get my global variables correctly initialized in all versions.

Yesterday I installed the beta for Game Maker Studio. I also installed the Android SDK. Since I'm waiting on an apple developer account (and I need a mac to run the SDK on) and I don't have an android to test with currently, after 3 hours of installing and configuring various tools, I didn't get to see Goblitairation running on a mobile device. =( Working out those kinks so hopefully I can see that soon. DIVERTING MORE GOBLINS TO THE SWEAT SHOP!

Tuesday, March 20, 2012

Goblitairation!

Got a proof of concept for Goblitairation created via Game Maker (yoyo games). After the second day of development, an executable is playable in HTML5 at www.Goblitairation.com.

Goblitairation is a board game that my friend Daniel designed that I thought would be cool to turn into an app. In this game goblins are battling in clumsy air-ships. These goblins are particularly uncoordinated, and as a result, players must choose from a set of random actions that their ship can take each turn. The goblins also posses another trait: they are expendable. One of my favorite flavors in the game is the card DIVERT MORE GOBLINS TO THE SHIELDS!!!

I'm looking forward to working on this project and building some experience in rapid game development. It's a nice break from Minecraft, Skyrim, and Realm of the Mad God.

Currently the Left and Right Cannons fire with animation and sound.
The player can move in two directions (Ahead Port and Ahead Starboard).
There are 6 different colored ships (thanks to Daniel for finding and altering the ship image).
3 cards are randomly generated (not pulled from a deck).
When a card is used, a new one is generated in its place.

First browser compatibility bug noticed - cannon sounds do not play in Firefox.