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.

More Game Screenshots

A big burst of screenshots from my game, there is more information in the picture captions. I know it seems like  a jumble of random pictures right now, but I will go more in depth into the game and the technology (Corona SDK) shortly

I just started using NextGen gallery plugin for wordpress and realized now that you should always ensure your perma-links work as I had been messing around and posted this article only to find out it was geting 404’ed by anyone who clicked on it

My new iOS game, first screenshots!

A screen shot for my next iOS game!  The object of the game is to move around and swat flies that are spawning from the trash before they bite you to death.  The arm’s are rag doll physics objects!

You play a grumpy old man who swats flies
smacking em dead!

 

WordPress up

So I finally got WordPress up and running.  The purpose of this site is to show off and promote my work.   A few things I learned about setting up  WordPress

  • make your wp-config.php permissions private 600
  • add a .htaccess file to your root folder
  • don’t forget to edit the .htaccess so it actually points to your site otherwise you get 404’s when posting comment
  • when renaming your WordPressfolder for testing purposes WordPress breaks unless you point your site url’s to the new address before you move.  Alternatively you can move it anyway and run this handy script to change the database links to the new address (don’t forget to remove the script), also don’t forget to update your .htaccess file

 

All in all WordPress is handy tool for just setting up a site and I think it’s much more than just a blogging tool