Kinect + Shinobi = Kinobi

Several months ago, while freelancing at EVB in San Francisco, I met an intersting young man by the name of Ben McChesney. He attended RIT, not far from my native city of Buffalo. Whilst working on this project we discussed the powers of Unity and he turned me onto how easy it is to get Kinect working in the IDE. When I went back home to NYC, I went out and bought myself a Kinect. Purely for development purposes, as I don’t own an Xbox. Within just a couple hours I was up running and tracking my avatar in Unity. I had taken my first step into a larger world.

Since then I have attended some OpenKinect events here in NYC. One hosted by M$ that made me realize they have no clue how to market this technology. Another with PrimeSense, the company who developed the underlying technology for the Kinect to begin with. At this event I was able to see first hand the capabilities demonstrated by the great Shlomo Zippel. Many of which I had seen as they are the demos included with the drivers. But he keyed me into what was being done with Unity. For months I had been visiting a gitHub only to come up with no new demos/updates. Now it seems the drivers come with full fledged examples. I was trying to hack my way around with the initial gitHub files and only got so far. Prior to this event I had an epiphany.

So this all leads to my demo. I wanted to capture a simple tossing motion like that of a frisbee for the throwing star. I assumed such a gesture would be canned into the drivers/middleware themselves, I was wrong. As has become the norm lately you need to roll your own. M$ alluded to this at their event and was something they were trying to correct with their SDK. Now prior to either of these events I had already been working on this with a simple verlet integrator. Check velocity over a few frames and if force is greater than threshold release. Problem solved…

HTML5 Guy

As I said in the previous post moving on. Unfortunately heading in the wrong direction. I can no longer dictate what I want to do in this industry. Instead I am TOLD, sometimes by clients who don’t know anything BUT buzzwords. I thought I was the expert?

Anywho, here’s a game I did in HTML5 using EaselJS. Twas pretty simple and painless using that library.

Next up WebGL. You are probably wondering why not use Unity? See above. Can’t sell Unity either. I had a job where they used Unity and was stuck doing Flash.

Lather, rinse, repeat,
(-o|o-)

Unreal What The Flash?

I started this post almost 2 years ago “Flash What Happened?” when they previewed CS5 and were chasing down the iOS rabbit hole. We all know what a FAIL that was and I’ve been waiting with bated breathe for 3D to be a reality. Well now it is and we get great frameworks like Proscenium to make my worlds, WTF? Its amazing that Unreal engine is exporting to Flash, but I have no interest in learning the UDK, C’mon!

My thing is where is that Unreal demo? It was on stage, running in a browser, now let me have it! I fear Flash is circling down the drain ala Director. I hung onto that technology too long when everyone requested Flash. Now its holding onto Flash when everyone wants HTML5. Which to me is the same step backwards as peeps wanting Flash when we had Shockwave/Director.

So the loop is now complete and seems to be infinite. Learn something high-end, take it so far, industry completely changes, re-do all the projects you did a decade ago in some new tech. Honestly that’s easy! You don’t really have to learn anything new or exciting and thats what pains me.

No thanks! I’ll stick with Unity and if they want ubiquitous support, then I’ll export to Flash. I mean if you ever used the Unity editor, Flash should be ashamed. And why can their devs get stuff to happen so fast? They had iOS support almost from day 1 and Flash is just around the corner. We JUST got decent performance from Flash on iOS over 3yrs later. I for one will not stick around and watch this happen, again!

Moving on,
(-o|o-)

Developer Certificate, Provisioning Profile, P12 Certificate – Oh My!

Well I finally bit the bullet and bought an iphone developers license. I am fairly anti-Apple and the requirement to have such a thing just for development is a little appalling to me. But I figured hell ’tis the way of the industry and either adapt or get left behind. Now I would love to develop Android apps, but the lack of hardware makes its irrelevant for myself currently.

So, I am here today to document my hell to begin iphone apps made with Flash on PC. Now let me start with some animosity towards Adobe here. I was thoroughly unimpressed by CS5′s “features” as it was nothing more than a maintenance build with its biggest boasted about feature being iphone packaging. I won’t go into the known debacle, that was comical from both sides, but my initial concern remained which was a lack of updating Flash in CS5. They bet the bank on iphone packaging, days before its release Apple killed that with legalese and it was still another 6 weeks until CS5 was released!? WTF? I think Apple did Adobe a favor by making such a deal out of it. I can’t believe with the current incarnation of the tool, which has been updated since Apple coyly changed their legal stance to allow tools like Flash to make Apps, was ready to make such an impact.

Being a PC I decided to take the Windows only approach to development. HUGE mistake! While I believe it is possible to get everything done and ready on PC, if you really want to do this, just save yourself the hassle and find a Mac! I went thru the trouble of getting BirdKey & adding OpenSSL to my system to do all this, but there are caveats. None of which I found entire solutions to by going this route. I went thru a bunch of iBrent tuts only to come up short every time. I finally said to hell with this and decided to jump on my wifes Mac. Well here’s the main lesson. No matter how you go about doing this whole thing chose one method or another, don’t try to mix & match. Lost about half day or so to that mess. I figured I had made a CSR with BirdKey, had a Dev cert on Apple’s dev site and all I needed was to convert it to a P12 on a Mac and life would be good. NOPE! Again, let me chastise Adobe here: WHY DO I NEED TO CONVERT THIS THING!? WHY CAN’T I USE WHAT APPLE MADE/GAVE ME!? Whatever, STFU! I finally went back to square one . I also want to note that Adobe’s documentation even on the Mac side of this whole thing sucks, as per usual. It wasn’t until I followed this guys step by step instructions that I achieved success. Notice how he recommends using a Mac too. ;)

Finally, I am up & running and can begin making apps. Let me say the biggest thing here is once you do this initial Dev cert & P12 cert you really shouldn’t need to do that again until they expire. This was like 90% of my work just to start dev! :/ Provisioning profiles are much simpler. In the end my Windows/PC issues with BirdKey stemmed from OpenSSL issues. I skipped the whole “Vista” revolution and the need to do everything as an admin on Win7 is a hassle. I mean isn’t my user an admin? Shouldn’t I already have all these privileges? Anywho can’t digress on M$!

Let me take another moment and rip into the oh so helpful comments on a lot of iBrent’s sites & Adobe’s forums. If you know the info or where to find it just post the mofo! No need for snarky comments or the classic search this “phrase”. By all means say whatever you want, just be more helpful when you know something!

iPwnd,
(-o|o-)

If Flash is Molehill, then Unity is Mountain

Well the Adobe MAX keynote came and went. After dragging out the presentation thru 4 moderate areas of interest, they finally got to what I really care about, Games. They spent only about 10-15min showing what we may be able to do someday and everybody ejaculated all over themselves, but I believe that to be premature.

Here is what they didn’t tell you, but I can read thru the lines. First, as with most things Flash this will still require a 3rd party or OS project to really render your worlds. Of course you could write you own engine, but isn’t that what we expected this next-generation API to do for us? Second, they didn’t even hint at a tool. Have you ever done 3D? Ever try to do it all in your head? Good luck! Isn’t it easier to have a tool to see visually whats happening and edit on the fly? Director was always like this, Unity too. But Flash we always have to compile down, test, tweak something and recompile – repeat this tired loop until you get it just right. Sure there are 3rd party tools to do this at runtime and other methods for such manipulation, but shouldn’t our tool do this for us? Seb-Lee Delisle recently wrote an article Flash vs Flash about how the tool conflicts with some initiatives of the platform. I always pondered similar things such as why anyone would use youtube to convert a swf animation to video at all? I digress.

Again, what should be taken away from this grand announcement is it won’t be available soon. They say first half of of 2011 for a beta program. I’d say don’t expect it long before June 30th. Remember when they announced at MAX 2009 iphone packager was going to be a public beta by the end of last year? Expect similar treatment. They’ve damn near guaranteed it will be difficult to use as it is just a low-level API and is NOT an engine. Oh yea go watch this video in which he say the physics are ActionScripted. WTF? Are you telling me along with this great new API that I have to code an engine in, I also get to code 3D physics to make my world work? Wow! Thanks Adobe for just tripling my workload before I even begin my game.

If 3D in Flash is a molehill, then Unity is my mountain in which I will stay atop.

F.U. – Flash to Unity

I entered a contest over at MuseGames, my entry is En Fuego! The goal was to construct a flamethrower for the Unity community to use. Feel free to grab my files and use them in your own work, learn from or expand upon. All of the entries provided me with inspiration to step it up as each new one came in. Congrats to all the participants, but I hope to win! :)

As you can tell from the contest I have moved on to Unity. I purchased a license and have been using it extensively over the past 6 months. It’s an amazing piece of software and should provide me with work for years to come. I know it’s already pushed Adobe to add a “next-generation 3D API” to Flash, but I have my doubts.  Sorry been burned once before, what’s my name? ;)

On fire,
(-o|o-)

new Mariana()

My lovely & uber talented wife recently launched her new portfolio with the help of yours truly. When it comes to portfolios I believe the minimalist approach is the way to go, but for her as a designer we needed to be a lil more robust. By utilising the latest features available in Flash Player 10, I think we created an engaging site without all the overhead. So have a look at some award winning sites & concepts.

Mariana’s husband,
(-o|o-)

STFU KEY_DOWN!

It appears that in newer browsers the KeyboardEvent.KEY_DOWN is being perpetually dispatched when a key is being held down. Older browsers behavior would only execute once, when it was initially pressed. When I ran into this issue I couldn’t find any information about it, but is partly why Keith is eating crow ;) However in my simple implementation it was easy enough to removeEventListener on KEY_DOWN and addEventListener on KEY_UP. Now I am not sure who to blame here on this one, new browser standards or Adobe? I will avoid the blame Adobe first attitude here, as the player versions were the same just in different browser generations.

Holding down,
(-o|o-)

new Stephen() @ d-Visions.com now with Physics!

Well I finally updated my portfolio. I started this back in April and at the time decided to use APE for the physics. I was having some issues with tunneling, got busy at work for some months and when I came back to it I decided to port it over to Box2D. While I find Box2D to be a more robust physics solution, I also find it more difficult to use than APE. The difference in code is at least twice as much. Its for this reason I believe Zevan over at ActionSnippet created QuickBox2D. Now I didn’t use that in my portfolio, but I would consider it for future projects utilizing Box2D.

public static const STEPHEN:Stadler;
(-o|o-)

cacheAssBitmap

Dear Adobe,

WTF does this DisplayObject property actually do? And why does it only seem to work when done with code and not the check mark in the IDE? Here’s what I think it should be doing it should be taking a snapshot of that DisplayObject and all its nested children and displaying it as a bitmap, much like Director’s image property. Now when should that snapshot change? I’d assume it’d change only when anything in it actually changed. However I don’t find this to be the case. A perfect example is a TextField nested in a MovieClip. I set cacheAsBitmap to true, both in the IDE & code to both the TextField & MovieClip, animate it and get all those known issues of animating TextFields on subpixels. This shouldn’t be the case if it were a bitmap and if you zoom in (rt-click) on the object you can see the text is still vector and not raster. So as per usual the workaround here is to create a bitmapData and take your own snapshot of the DisplayObject, but isn’t this exactly what cacheAsBitmap is supposed to do? The only success I ever had with this property is for creating alpha masks, but again this MUST be done in code cause it doesn’t work if you do it in the IDE. Flash is akin to What You See Might Not Be What You Get or better yet don’t believe your eyes, or mind, when it comes to Flash.

Flashing you,
(-o|o-)