Wednesday, August 25, 2010

FooFighter is born

Well FooFighter is the working title, but the ambious project has begun. So far, the development environment is setup to be tracked with gitHub, which is slightly more work to run, but without svn or other services, it works better for free flowing projects, being developed by multiple places.

Project outline has been completed. And graphic notifications have been sent out as well as searching for other games already in that space, which thus far none are mutliplayer and none are cross platform. Hopefully stage area development will be done in the next day or so.

4 stages, 5 players, and game engine in under 5MB. Going to be interesting.
Published with Blogger-droid v1.5.5.2

Sunday, August 22, 2010

Android Development Enviroments

Today was an interesting learning day. I watched dozens of tutorials and one caught me eye. ActionScript 3 development enviroment that deployed to websites, android emulators, and android phones using a single ant script with varibles.

I also learned loads about git today and joined github as well. The code forking is great and command line utilities are more natural, and eGit inside of Eclipse seems to be working as well. So a bunch of new Eclipse addins, FlashDevelopment enviroment, and of course new Flixel Game Frogger is now working, links coming, with a web version.
Published with Blogger-droid v1.5.5

Saturday, August 21, 2010

Current Applications

 Flixel First Game Enhanced - Flixel Based Game Demo. A Space man takes on some Aliens. Not a FULL GAME - DEMO ONLY.  This Demo was used to learn the underlying game engine Flixel as converted to Android by Matt Casperson.  This is THE Android Flixel tutorial, enhanced by myself for additional buttons and environmental controls.
Flixel Defender - Flixel Based Game Demo. This is a Defender style game where you pilot a ship and shoot down Aliens. While this game has a scoreboard and reset functions, again it is NOT A FULL GAME - DEMO ONLY.  This Demo is another exercise in learning the underlying game engine Flixel.  This is a popular tutorial game for Flixel and was converted to Android based Flixel by myself. 
Flixel Platformer - Flixel Based Platformer Game Demo. This is a Platform style game where your a Ninja that must kill other Ninjas or be killed.  This game as more features including a Heart Counter, Ninja Spawner, and a Scoreboard, again it is NOT A FULL GAME - DEMO  ONLY.  This Demo is another Flixel based tutorial from the Flixel 2.0 Org Forums labeled as Basic Game Tutorial. The game was completely converted to Android based Flixel by myself.



A Few Changes

I have prepped this site for a few additional changes, getting ready for the Android Marketplace. The applications published will land on this blog as the home page.  Also added a Current Apps widget at the bottom for easy downloading of applications, including updated applications which are not on the Android Marketplace.

With the new additions, I should have a a nice update-able Home Page to let people know what is going on and what I am working on. I have decided to not run an application development forums so I have only one place to moderate user posts, because WAY too many people think the Internet is Anonymous.

Ninja Platformer Demo

Well the tutorial is finished and the ninjas game is finally completed. I do wonder if they trouble shoot thier code since there are a couple of bugs within the coding itself. For example, since they are not immediately killing enemy ninja stars, as they pass through your hit box, they will wipe out all ten stars.  Although I heard one complaint about it being so small to see, I am starting to agree, that it indeed is very small to stare at for long periods of time; however, you can do loads of things with that size.

So, I am working on whether I am going to continue on to the next project or go back and revisit Ninjas for a version 2.0, which would include power ups and larger Ninjas. A background and some level stages would also be cool.  So even if i don't immediately revisit the demo, I could easily revamp it. maybe once I get actively publishing on Android Market and need some through down games.

Friday, August 20, 2010

Ninjas, Ninjas, Ninjas

Well here is the first release of the Ninja's Game.  I am still working out some of the issues with enemy attacks. But the scoreboard is working along with life counters.  Left to do is a spawn timer and development of some mazes in order to fully enjoy the game.  From a learning / programming aspect, it is been a very deep dive requiring lots of reading, then coding, then troubleshooting issues and the DREADED NullPointerException of Gooey Java death.  Now if I could just make a game where the user had X amount of time to program the completed code to finish up, Geeks everywhere would have a good time, just like me.

While I am thinking about it - I have a Motorola Droid cell phone that I play all these games on, while the guys at the office have a variety of Android phones that do not have keypads.  So I am wondering if I should start working towards making the attack buttons on screen for pushing and use the tilt features of the phone to move.  It would make these games playable for them as well.  And while they all think its cool, they just currently have no way to play right now.
So as I finish up this demo, because it is not going to be a fully polished game, maybe I will start trying to work out reading that input with Flixel.

Thursday, August 19, 2010

Almost Done

Well, I found some time to work on the ninjas demo. I have gotten the ninjas running around with some basic ai, and of course I have the enemies attacking now as well. I am working on score tracking and a performance bug, but should be done ina day or two.

I have also been planning out my next project, looks like a platform game is in the works. I am learning so much about the platform, it is exciting.
Published with Blogger-droid v1.5.3.1

Monday, August 9, 2010

APK File Explorer

Well, I was working on finding a APK file explorer, and I learned a few things in my search. First, APKs are really Android's version of a Java JAR file, and Second, WINRAR does a nice job of file exploring those APKs. So now, I am plunging the depths of other games, while playing them and finding a wide variety of coding practices, and of course laughed at my own notes. I guess some comments inside of code were meant for only the coder, or so it seems.

Also, I have been working towards a completed thought on two fronts, while I finish up Ninjas. 1)An IDE based on Java running on Android 2.2 x86, since lets face it, every thing can be done with a simple text editor and a Java complier. So that means a working JDK for Android, and 2) An original game of my own design. One that can be released in a book style Chapter format, where each successive installment is patched into the original game, at some point later becoming a MMO style platform game. Having trouble deciding on either a Ghost 'n' Golbins style format platformer, or a quasi-fighting game aka Street Fighter style. For now, it seems I am going to concentrate on working out the FlxTilemap issues so that it can be used.

And now back to Ninja's Attack

Sunday, August 8, 2010

Games and Debugging

Well, I worked more on the ninjas game. i got to say that reworking the tutorials is an interesting way to learn. Code, test, bug correction, test some more, more fixes. Makes me smile, alot actually. It is interesting to me to watch code take on its own life while i work out issues and plan enhancements, especially with SVN coding for notes on revisions and what i am changing. So far between learning and tutorial coding things are becoming clear.

Thus, I am making forward training progress. And my own ideas are starting to form. I like storm8's style platform, but dislike several of thier games. So maybe i can do better. Only time will tell.
Published with Blogger-droid v1.4.10

Thursday, August 5, 2010

Bugs, Bugs, and more Bugs

Well, I guess what they say is true, no matter how careful you are there is no end to the play testing required to complete games. See I worked out deaths, dying, and throwing stars, well I should say up unto the stars hit the enemies. It is nice to see your projects in work, but the bugs are slowly being worked out. Soon it will be a functional demo / tutorial.

Ninjas attack sounds like a good title. Maybe a little background and we will have a nearly complete game. QR link soon it would seem.

Published with Blogger-droid v1.4.9

Monday, August 2, 2010

Ninjas and more Ninjas

Well I am working on a ninjas flixel platform game still, just can't seem to find any time to work on it. So far, the ninjas chace the player but when you try to throw a star it locks out. So it looks like I will be rewriting the attack script.

But it is so far fun and I went a little crazy drawing maps in Mappy. Oh well I will find some time to finish it.

Published with Blogger-droid v1.4.9

Wednesday, July 28, 2010

Going Going Going Gaming

Well, I am still working on a Ninjas game tutorial from over at Flixel.org. There are some components of Flixel that are not currently working on Flixel Android, namely FlxTilemap. I spent a few days trying to work out all of the errors in the lines of code before deciding my brain already hurt and needed a rest, so I started working on modifying a random tile painter which works; however, I am still having issues translating the block collision detection, which caused my brain to hurt even more. I mean it looks simple enough:
[code]
for each (var existingBlock:FlxBlock in levelBlocks)
{
collisionWithExistingBlocks = existingBlock.overlaps(newRandomBlock);

if (collisionWithExistingBlocks) break;
}
++loopCount;
}
while (collisionWithExistingBlocks && loopCount < MAXIMUM_RANDOM_PLACEMENT_ATTEMPTS);

this.levelBlocks.add(this.add(newRandomBlock)); }
[/code]


Yeah so much for a simple translation, since the android / java sdk does not like the FOR EACH statement, so I tried a few variations of this theme, but to no avail


[code]
for(int i = 0; i < this.map.lastIndexOf(newRandomBlock); ++i)
//for(int i = this.map.indexOf(existingBlock); i < this.map.lastIndexOf(existingBlock); i++)
{
FlxBlock existingBlock = (FlxBlock) map.get(i);
collisionWithExistingBlocks = existingBlock.overlaps(newRandomBlock);
if (collisionWithExistingBlocks) break;
}

++loopCount;
}
while (collisionWithExistingBlocks && loopCount < MAXIMUM_RANDOM_PLACEMENT_ATTEMPTS);

this.map.add(this.add(newRandomBlock));
}
[/code]


So, I am waiting for that eureka! moment to happen in which suddenly the fog of why its not working correctly hits me and I say BUT of course, while I research Java For Loops. Unfortunately I cant use a =< method because thats a boolean not an int and the commented statement did not work either. So I am thinking the block arrays never collide since it never actual maps to the last block. I also tried FlxG.collideArrayLists(newRandomBlock, existingBlock) however, I can not set a break because that is not part of a loop it would seem, which will not let me compile. Maybe I will try it anyway and see if it implies a break inside of FlxG core. Do not know; however, I did add the enemies and working on fixing up the spark.png since a 1x1 pixel causes Android to do crazy things.

Also been playing around on the Storm8 games (ALL of them to be exact). I like the format of the development and the text of the game. Its a like a mini game I can play for 5 minutes an hour and then not touch it for 4 hours and then come back and be pleasantly surprised. Just a word of advice, not always having a HUGE hoard is not a bad thing. Your companions need to grow with your equipment lest you be unable to defeat other players. My Ninja horde is 50 strong and I only have enough equipment for 10, OUCH. However, in the Rock Band game, I have a band of 4 and enough equipment for all 4 members to dominate everyone. So equipment / abilities have to grow with the number of players in your horde or you can not defeat other players.

Sunday, July 25, 2010

APK File Downloads


Okay so I decided to link the Demo APK files. For the really observant, the source code is also available in its entirety by following the code.

First up is Matthew Casperson's Demo on making games with Android Flixel. Lots of hard work from Matthew porting Flixel to the Android platform, including a really easy to follow tutorial. Got to say that it probably is the most quote tutorial if you Google Search - Android Flixel. **Play Tips** your DPAD moves you left and right, DPAD up for Jump and Space Bar for Shoot. Flixel Default P pauses. One day I will learn the modifications for the pause screen, but hey its my first Demo - EVER on Android. Okay, I did do the standard Hello World, Android, but that doesn't count. BTW, PRESS AND HOLD LEFT after hitting the Center Button on the DPAD, You'll see what I mean if you download the APK.

The first block of QR code is the link for his demo as is, no changes, just me learning how to program in Java / Android / Flixel all at the same time.

This second block of QR code is the link for his demo, plus some changes that I wanted to see. For example, there is no easy way to leave his Demo, nor is there any way to adjust the volume while playing the game, since the special functions keys to get at a 1, etc. So I changed up the programing by making the volume keys go up and down respectively, and I added a mute button by pressing the camera key. I also made the Menu key kill the player and return to the Menu Screen, the Back key also returns the user back to the Menu and if already at the Menu stops the demo to conserve battery life.

**Comment about Killing the game vs. leaving it in the background** I have read where on the Android platform there is no need to kill process once your done using them, they just regulate themselves to the background and can be continued (restarted) later. With so many other game applications, they have taken this approach to end cycle gaming. Flixel will pause the game when running in the background, so if a call comes in you can take the call, then return to the paused game and un-pause it. I like this approach to games that are in cycle or actively being played; however, I have noticed that sometimes when un-paused Flixel does not completely restore all functions, i.e. sometimes it stops getting KeyEvents or the sound does not play. So I have decided to allow the user to stop the game when done to free up those resources, simply because it feels more correct to me.


Lastly, we have a Defender-esque Demo by Andres Zecher from Creative Applications dot Net. Now this one was a little bit tougher since it was a Demo written for Flixel 2.x and I am using a v1.25 port for Flixel. Also it was written entirely in ActionScript 3, which is not the same way Android Flixel games are built; however, there were enough commonalities that the game was ported over with a couple of days worth of work. A few of the porting changes were input methods, I dumped the particle emitter in favor of using Sprite sheets, reused from Flixel Mode. And I still am not able to get Flixel to change the background color, and changing the color in the XML file leaves a screen you can't see anything on. I also changed the scoring system to be 10 base rather than 1 base. I also included my basic button configuration and Menu navigation from the First Flixel Game.

I want to extend a heartfelt thanks to both Matthew and Andres, not only for writing games, providing the source code and graphics, but for also taking the time to write up tutorials to help beginners like myself get started.

Flixel Defender / Flixel Tutorials

I finished two Flixel tutorials today. One is a Defender-esque demo shooter. It includes a simple enemy that floats at you which you have to kill. I need to read up on creating a high score record for between games, thus far my record is 1030.

The other tutorial is a semi-platform style game by Matthew Casperson, whom is resposible for porting Flixel to Android. Currently it is a simple platform with 4 enemies to kill. It is this work that got me excited to start building Android Flixel games. However, it also humbled me some as well, since it was my first run with Java coding and took me a little while to get my development enviroment up and running.

So I am contemplating placing the apk file links for download for those interested in playing around with the Demos. Just not sure since none of the work is mine, other than the porting to Android.

Published with Blogger-droid v1.4.8

Saturday, July 24, 2010

Welcome to my Android Development Blog

welcome to my blog about Android application development. So far I have setup my development IDE with the Android SDK. I am also using Flixel as me primary 2D gaming engine.

I am also suprised at the lack of what I consider core games on the Android Market. Games like Asteroids, Defender, PacMan, Centipede, and 1942 classics.

Published with Blogger-droid v1.4.8