AllBinary Arcade Game Development Kit

Android Applications (M5-RC15)

Game Development Kit Showcase: http://allbinary.axspace.com/AllBinaryArcadeAndroidApplication.apk
MiniSpaceWar: http://allbinary.axspace.com/MiniSpaceWarAndroidApplication.apk
ZeptoRacer: http://allbinary.axspace.com/ZeptoRacerAndroidApplication.apk

Applet Versions: MiniSpaceWar w/Images, MiniSpaceWar w/Vectors & ZeptoRacer

MiniSpaceWar & ZeptoRacer Image Gallery




 


If you need a software developer for a project or job please pick me.
Resume: http://allbinary.axspace.com/resume.html


Latest

Updated all the APKs with ZeptoRacer fix, code refactoring from Applet version, and Media Shutdown fix.

I was initializing instead of stopping media on exit for MiniSpaceWars while this did not cause crashes it did cause a slow exit and an incorrect media state.

Fixed Applet reloading

I added links to Applets of the current games.

I have added links to the individual games with single activities.

ZeptoRacer fix a re-bug that I found concerning AI cars not being able to turn if they stop off the track.  So now the will finish the race.  It did not happen often on slow machines, but on a fast machine it could happen a bunch.

Submission Info

This submission includes 6 example activities for 2 games that represent some of the capabilities of the AllBinary Arcade Game Development Kit on the Android Platform. The 2 games include MiniSpaceWars a top view 2d space combat game, and ZeptoRacer a top view 2d race car game.

Special Testing Info

Important

I added a YouTube video above before the deadline.  It shows off the features of the game library.

You must press up/thrust/accelerate to unlock the keypad between levels sometimes (It can lock during intermission). While you can't run my activities at the same time you can run others while my activities are paused or persisted.

If you run more than one of the activity without reloading the phone you will get low on memory and cause the games to slow.  This info is also in the known bugs section below.

I hope you enjoy testing it.  Thanks in advance.

Many Options

Specialized activities have specific startup options, but any of the activities for the same application can have any of the options making it like any of the other activities for that application or maybe something completely different.

Slowness

Slowness may occur with the max options.  The more options that are disabled the faster the games become.

Special Ship Size Change Option

Basically, I realized that my ships were a little small for videos showing off my games.  So, i added a persistent option to scale ships for MiniSpaceWar.  It does have a drawback and that is you must change the scale option and reload the phone for the option to work.  Also, you can't play my other activities (MiniSpaceWar with vectors or ZeptoRacer) until you scale it back down and reload the phone.  It turns out that game play is more fun an arcade like with big ships.

Cheat Option

You can cheat by turning on the cheat option in the options menu.  The cheat option allows you to go through the levels by pressing 'G' to go up a level and 'F' to go down a level. It does however cause some undesired behavior, but not the bugs below.  It also reduces input performance a little.

High Scores

Putting your own name in may seem not to work but it does.  You much arrow back to the beginning and press backspace to delete the default entry to put what you want in.

To Continue

If the system destroys a frozen game and you want to continue, you simply select continue from the demo screen menu.  So you must wait for the demo to load which sucks a little so I will add an early continue button at some point.

Gryo/Orientation Control

You can test the Orientation Controls with the OpenIntents SensorSimulator http://www.openintents.org.  I used version 1.6 for testing.  To test simply do the following:

  1. Load the SensorSimulator (openintents-binary-0.1.6\tools\sensorsimulator.jar)
  2. Open the game options menu and select "Simulate Orientation Sensors"  (It is off by default since it will fail if the simulator is not running)
  3. Set the IP and port of the simulator in the game options
  4. Save the options
  5. Start a game by pressing on the screen or the start button in the menu
Current Usage:
  • Pitching the phone forward will move your game character forward
  • Pitching the phone back will move your game character backward
  • Yawing to the left will turn your game character to the left
  • Yawing to the right will turn your game character to the right

Obviously, it has not tested with a real phone.  So the orientation order may be wrong for a real device, and turning on the real "Orientation Sensors" in the game options menu will cause massive slowness.  It does however work pretty well with the SensorSimulator.

Touch Motion Control

When the Touch Motion Control option is on you can control your player by touching the screen.  The control is very simplified as follows:

  • Turn Left - by sliding your finger across the screen from right to left
  • Turn Right - by sliding your finger across the screen from left to right
  • Move Forward - by sliding your finger across the screen from bottom to top
  • Move Backward - by sliding your finger across the screen from top to bottom

Known Bugs

  • Major slowness will happen if you run different activities without reloading the emulator between execution this is mainly the result of static stuff not being freed and staying around when it should be cleaned up.  Normally I would not deploy multiple games in the same APK but I probably should fix it anyways.  This also would allow multiple game in the same APK to work
  • Rarely an unknown non MediaPlayer non exception crash will occur.  I believe this is a real, but not repeatable emulator bug.

Key Locking

Fixed the key lock issue, but I don't know if the way I did it makes sense. I used the KeyGuard to unlock even though it should not have been unlocked anyways.

AllBinary Arcade Game Development Kit Info

The AllBinary Arcade Game Development Kit contains over 50 very small libraries to help ease mobile arcade game development. The main features include the following:

  • Multi-Platform - Android, J2ME, and J2SE

  • Game Object Placement (Maps/Levels/Enemy Positions)

  • Feature/Configuration Options Framework
  • Save/Load/Delete Game State
  • Touch Screen Controls
  • Key Input Processing
  • Orientation Controls
  • Transitions/Progress

  • Special Animations

  • Heads Up Displays

  • Collision Handling

  • Power-Ups/Drops

  • Screen Shakes
  • Path Finding

  • Vibration
  • Physics

  • AI/Bots

  • Teams

  • More...

Some more info on the libraries include:
  • Over 50,000 lines of efficient Java code over 50 very small libraries
  • Most of the libraries are use by the 2 games, but some are not
  • Only about 7% of the code is specific to a game
Game Tools:

I use 2 open source tools (BSD or AL licenses) and 2 of my own tools for development of games.  They are not part of the submission, but they do make it a complete game development library and would be part of the game library distribution.

2nd Round Possibilities
  • Game play improvements

    • Better levels

    • More drops

    • Balance

  • Improved Save/Load Feature
  • Hope for some Music

Santa's War On Terror - partial prototype scroller game

Politicious - political fighter game

Zepto Card Games - another game I developed that I might include or submit

Further Android API Usage - accelerometer, gyroscope, location base game lobby, and other

Facebook/OpenSocial Integration - High Score Submission, Multi-Player Lobby, and other

MultiPlayer features with your open social network API

Library Documentation and such for publishing the actual arcade game libraries

3D game library adaption using OpenGL ES

SVG Integration with game library is available

Minor performance improvements

  1. Stop drawing the text HUDS to image graphics
  2. Remove Hashtable usage for level placement and use array (Probably will not happen for round 1 since it only slows the initialization)
  3. Custom processor little improvement for MiniSpaceWar only (I thought of a way to get a 10% improvement, but it would take a while)
I have plenty of other ideas.

If I Win

If get the 100k prize then I will open most of the game development library.

If get the 275k prize then I will open all of the game development library with liberal licensing.

Self Evaluation - Using Googles Evaluation Info

QUALIFICATION

1. Originality

Unique things:
  • Only 2D arcade game library that supports all 3 platforms
  • AllBinary Arcade Game Development Kit has a unique set of features for the mobile world as shown above.
  • Feature/Configuration Options Framework provides the runtime flexibility for phones of different capabilities like the following:
    • Sound
    • Screen Shakes
    • Rotation Fidelity
    • Vector vs. Image Graphics
    • Other Game Specific Graphics Options
    • Game Challenge Levels and Sub Challenges Levels
    • And more...
I think that while this seems trivial it is not. It could revolutionize all game development by allowing and application to flex for each device.  I will extend the Feature/Configuration Options Framework even further by adding a dynamic auto option selection for a specific phone instead of the default activity options.  This will make it so the FPS is never slow as long as the user does not add options for custom gameplay.
  • Some of the features provided by the game library are the most performant available.  For example, I use a custom A* Algorithm in the Path Finding library for Zepto Racer that is more performant than any I have seen.
  • Single tool for all your mobile game library needs.  No separate physics or audio libraries or tools needed.

I do plan multi-player support for social networking for high scores and game lobby.

2. Effective Use of the Android Platform

I probably have the most performant and processing intensive use of the Android Platform showing the most effective use of the platforms graphical capabilities. I also use compelling features including the following:

  • Vibration
  • Orientation
  • Animations
  • Touch Screen
  • Progress Bars/Dialogs
  • Lifecycle Implementation
  • And other Android specific features

I do plan to use the accelerometer and other compelling features.

3. Polish and Appeal

I have 2 games with great game play (with the correct options selected) and original programmer art providing great examples of how developed my game library is.  Some of the polish includes:

  • Lifecycle
  • Win/Lose
  • High Scores
  • Screen Shakes
  • Multi Keypress
  • Lots of options
  • Pausing/Resume
  • Orientation Input
  • Save/Load/Delete
  • Touch Screen Input
  • Lots of drops/pickups/powerups
  • > 20 game sounds
  • > 20 custom game levels
  • And much more.

I think this makes my submission probably one of the most polished individual submissions you will get to review for the games alone much less the possibility of an open game library with so many features.

Probably more importantly both games are relatively stable.

4. Indispensibility

Both games are the best most indispensable mobile applications I have ever used, but then the best phone I have had is an LG5350. So, I can only hope others feel the same way I feel.  Hopefully, they show how indispensable they are to the future of the Android Platform for arcade games.  In ten years maybe every phone will have a Power VR chip, but until then they can play my games.

Nothing is more indispensable than a good arcade game while waiting in a line, and that is where most people are playing their cell phone games.



Hosted By: http://www.axspace.com/