Player.io with android and iOS

Nov
7

I’d like to get to the penelope c# rewrite after this, but wasn’t able to get to it this week.

Instead I did a quick test today about something that was on my mind.

Player.io is a pretty interesting framework for Flash allowing you to develop multiplayer games ( and more ) with out having to deal with setting up servers and such. It is beyond robust including the ability to create some service scripts for handling the traffic between clients if you need something more than a back and forth.

I had always wondered if it was able to compile into the iphone using the as3 to ipa process adobe has.

I basically went though the starting tutorial (fridge magnet) of player.io , compiled and tested it to make sure I could get it working, which I did. Then I converted the fla to compile an iPhone ipa and it created the app. Unfortunately when I tried to run the app on my iPhone it got stuck on the connecting part of the ‘game’ and wouldn’t progress. Not sure if more massaging would fix this issue, but would be happy to know if there is a way to get it running on iOS. UPDATELooks like player.io generates a swf when you hit this url http://api.playerio.com/flashbridge/1 and since you can’t load swfs at runtime on the iPhone its out of luck.

I also navigated to the test page on my Droid running Froyo, and initially I wasn’t able to get the page to load. I had the plugin’s set to run on click (instead of just run when the page loads.) When I changed the option to run when the page loads, android was able to load the swf and connect to the multiplayer server. Not sure if the plugin setting was just a fluke on my phone, but figured that I’d mention it. Speed wise, looks like the Droid’s communication was a bit slow, but not painfully so.

Unity Penelope Tutorial update for Unity 3 and C# – Part 2, Pages 37-71

Oct
31

Need Part 1?

Wow, I didn’t realize that part 2 would involve writing so much code. The tap control piece was much longer than I had expected, and even now the zoom in feels much faster than the zoom out so I might have a small error some where.

I also had to rewrite the ZoomCamera JS to C# because the TapControl had a code reference to the class and I didn’t realize that you couldn’t have mismatching code classes reference each other, not that I am that surprised that it was a problem when it arose either mind you… maybe I imagined unity was so magical that it wouldn’t be an issue. ^_~

Part 2 converts all three control types into c# along with 2 other classes:
FollowTransform
CameraRelativeControl
PlayerRelativeControl
TapControl
ZoomCamera

I did run into a few small errors in the tutorial, and I made notes by them above their respected snippet or as a comment in the code. Enjoy.
Read more »

Unity Penelope Tutorial update for Unity 3 and C# – Part 1, Pages 19-33

Oct
22

I like to get familiar with Unity3d v3, mobile device development, and c#.

MonoDevelop is a great tool for developing Unity 3. It has excellent code completion and line by line debugging. Unfortunately it doesn’t support UnityScript/JavaScript for code completion, so I decided to suck it up and just force myself to go with C#.

Being unfamiliar with Unity development as a whole, I found the Penelope Tutorial fantastic. It is written using the old unity api and with UnityScript. I figured, since I’m going to be going though the tutorial and converting everything to C# and the Unity 3 API I might as make the coding snippets though out the tutorial available as well.

http://unity3d.com/support/resources/tutorials/penelope.html
Here is the first part: pages 19 – 33 of the Penelope PDF converted to c# and using the latest Unity 3 API

Read more »

Pause Timer for AS3

Oct
15

Pause Timer SourceExample Source

EDIT 05/07/2012:  Made a small changed so getting pausetimer.delay return the initially set delay vs the super.timer delay.  When paused, the pausetimer will update the super.timer delay for the current interval after which it sets it back to the originally set delay.  If you were trying to get the delay before the update, you were seeing this short delay.  The change is outlined here.

Recently I wanted to add a pause function in another tool that I’ll be posting up on here in the future ^_~

Timers were the backbone of the sequencing the tool used and I was pretty surprised to find a lack of pausing ability in the native AS3 Timers.  I looked around to see if anybody had remedied this problem, and Lewinzki did.

The solution was there but I had a few issues with the implementation:

I didn’t like that the delay wouldn’t be reset back to the userset delay (or user updated value) after it had been paused. Basically the timer ticks will be messed up if you didn’t reset the delay back to userset value every tick.

Also if you wanted to attach events to the timer, you actually had to step into the object and listen to the child timer in Lewinzki’s timer.

Other than those two qualms it was sound.  I decided to rewrite it extending the native Timer so its would function exactly the same with the added pause and resume features, though calling start when paused will also just resume as well.
Read more »