Only One Alpha

So after 1 month of work I finally got something I’d like to show off, there is a possibility this thing could come out soon or I could work on it and flesh it out more. We’ll just have to wait and see.

Only One is game where you kill enemies and throw them off a sacrificial pillar in the sky with your magic sword as you gain power and abilities to ultimately become the ‘Only One’ left standing!

currently in alpha

YouTube Preview Image

 

 

Buzz Attack is out!

Finally finished my first indie game, what a relief. I learned so much and had so much fun doing it.

head on over to buzzattack.net to get itunes and googleplay links to the game!

Tick, tock, tick, tock.. waiting for app store to aprove Buzz Attack

So I submitted 8 days ago and based on current approval rates I should be due any day now.   In that time I have an Android version ready to go, have been fixing up the website, taking screenshots and getting a sales pitch ready for when I spam game review site inboxes.

Oh and I got this nifty little video that shows the game in action including the dynamic orientation switching, controls and multi touch zooming

YouTube Preview Image

 

Almost …. there….

So I’m almost done, almost!!! Spent the past week working with my friend Jon on this new wicked trailer for BuzzAttack. Been fixing bugs, going crazy with game release anxiety and just trying to figure out how am I supposed to sell this thing. Free + 99 cents. Make a trailer, make a shoddy website, spam my friends on facebook and getting ready to spam game sites.  Man whatever happened to build it and they will come, can’t it just sell itself?

Anyway we recorded the clips with Elgato game Capture HD (my only gripe was couldn’t do it at 60 FPS), built it in Adobe premiere and we just used the game music to fill in the rest. Certain features were added just to make it look cool for the trailer, the green glow for bug repellent, energy halo for hyper juice and the chomp and thud for when Gus our hero dies at the end (guess I spoiled the ending)

Enjoy!

YouTube Preview Image

 

 

Target practice with the blue fly

The blue fly in Buzz Attack is a very unique enemy, he has no direct attacks and is useless on his own, but give him some cannon fodder flies around him and he will use them as ammunition and fling them at you.  The projectiles are very hard to block, but it is possible and you can get am achievement from it!

Check it out in the video below

YouTube Preview Image

Buzz Attack barebones website up

So in the past few days I’ve finished up Beta3, revamped the main title screen added support for twitter and 20+ achievements and threw together a new video and posted it on www.buzzattack.net

 

 

 

 

Need To demo/record your iPhone on your mac without WI-FI? Here’s how

So I’ve been messing around with iOS recording software and currently use reflection App, it’s easy and it’s fast, but it requires a very strong wi-fi connection between your device and your computer.  But what if you don’t have wifi, well you can set up the mac as a hotspot if it has a live ethernet connection, but what if you don’t have ethernet?  Well if your iOS device has an internet connection you can set it up as a wifi hotspot and connect your mac/pc to the hotspot to establish a direct link to allow you to record/demo your app without the need for a wifi connection. I also recommend doing this if your wifi router is  in another room because you need a strong connection to transmit live video and get a good frame rate as well as keeping the sound in sync.

 

Buzz Attack Normal Gameplay video and cast of flies!

Introducing the cast of flies

Green – expendable front line fly
Yellow – fast and cowardly, will attack you occasionally and run away
Red – aggressive, will eat other flies (green preferably) to grow bigger (gains more health and does more damage)
Purple – the mother fly, lays green fly eggs
Blue – spitter fly will suck up nearby flies with his tongue and spit them out at your face

 

And now a better HD video of the game in action in normal gamplay mode

YouTube Preview Image

Buzz Attack Beta first video (Blitz Mode)

This year has been a huge learning process, doing a game in corona SDK for iOS/Android on my own,  coding in lua, making graphics using photoshop, recording/tweaking audio with audacity, putting everything together and now recording said game and posting it to youtube. And here it is, a short clip of my game Buzz Attack in blitz mode (survive as long as you can in swarm of flies)

The arms are rag doll physics objects, which is why they move funny, that is not going to change even though ppl keep telling me the arms aren’t realistic.

This was done in screenflow using the corna sdk simulator.  Tried it with quicktime, but it was too slow. Make sure to set the video to 720p! Will keep on experimenting!  Hoping to release the game end of summer!

 

YouTube Preview Image

 

 

Corona SDK – random things I’ve learned

I’ve been using Corona SDK since October 2011 for experimenting and developing for mobile devices(primarily iOS) and it has re-kindled my love for software development.  Finally I have something that removes the burden of developing a game engine with sprites, sound, physics, collision detection and allows me to get my ideas onto the screen in as little time as possible.   I’m also quite fond of Lua the language that you use to program apps in Corona. Lua is very flexible when developing classes and allows you to structure your code in a very loose manner almost making C/C++ seem too rigid.  The ability to do nested functions, un-fixed dynamic variables, and define your tables (classes) as their created instead of cast in stone has been a very freeing experience.   There are some drawback, no visual debugging (only print statements), no access to the screen buffer or bitmap buffers, no 3D,  no access to native code (but plenty of native features), but overall it’s a fairly descent trade-off when you just want to do a simple 2D game.

A couple of random things I’ve learned developing using Corona that may not be obvious to a new developer that I’d like to share

 

- Divide by 0 may not report an error in your console, but will cause inexplicable problems in your app to show up

Always make sure you never divide a number by 0, the simulator may not catch it and you won’t know what’s going on in your app. I had objects disappear without notice while the app was still running but couldn’t figure out why, until I found out I had a piece of code that would occasionally divide by 0.  It’s not uncommon for the app to continue working when there’s errors happening and worse when it’s not reporting to the console.

 

- Constantly test your app in  your simulator with different device profiles, iPhone (3G/3GS), iPad,  Android (if your supporting it)

You will find a variety of bugs and inconsistencies just on the simulator regarding to screen ratio scaling on the device with regards to UI placement as well as automatic re-sizing of textures that exceed 512×512 to the maximum supported on that device (in other words that 1024×1024 image you were using in your game just got shrunk when you switched to iphone 3G/ipod touch 3rd gen mode)

 

- Printing from your iOS device

It’s essential to know what’s going on in your app, especially while testing device only features like the accelerometer,maps,camera,photos and gamecenter. So you need  a working print statement from your tethered device!  To print ‘print function’ statements to the xcode organizer console from your iOS device attached to your mac follow these steps:

  1. in main.lua add:  io.output():setvbuf(“no”)  and rebuild your  Corona app
  2. on your iOS device go to settings->developer and enable logging
  3. open xcode -> window ->organizer and find your device and click on the console, you should now be able to see print statements coming from your app

 

- Physics joints are too elastic when used with a touch joints to move them (Update: this is fixed)

Create a ragdoll and notice the limbs are separating if your moving it around with a touch joint? Well the the touch joint has a magic number of mass and this causes the physics simulation to be unbalanced causing tears between the physics bodies. Corona Labs is working on this, but basically creating physics objects in Corona is a balancing act when joints are concerned and your animating them like I do.  To avoid this problem you can either wait, or put bounds on how far your moving your touch joints

Update: although moving an object without applying physics will tear joints (to be expected), physics joints will no longer separate using touch joints if you set physics.setContinuous( false )

Elastic physics joints

 

-Audio Streams need to be taken care of when the app suspends and resumes

Audio streams (your background music) is constantly streaming from a file and will stop playing when you suspend/resume your app on the device but will play normally in the corona simulator if you do the same thing.  To take care of this just stop, destroy and reload the audio stream on suspend/resume events

 

- Corona is constantly changing, be aware of the changes that go on weekly that may effect your project

Corona is constantly changing, these guys are constantly adding new features, fixing bugs, refactoring their code, simplifying and deprecating methods and classes in their API and occasionally something breaks, so you have to be aware of the progress that is occurring and not freak out when suddenly your sprites aren’t showing up with the latest build.