Archive for November, 2012
I was shocked to learn today that Tiny Speck will be terminating Glitch in December.
But what was Glitch?
Glitch was a virtual world for kids that was awesome. The storytelling was awesome and the design was impeccable . It was fun and beautiful. I would have liked my kids to play it (I don’t have any by the way) . Here are some screens to show you, but you won’t get how well it ran.
So what is the fuss?
Well why I write about this is because of what they say is the reason of their failure. Their text about it is kinda weird. First they say that movement towards mobile was a problem. Ok, I understand that there is a huge increase in mobile traffic, but I don’t think there is a decrease in desktop traffic right? So people going mobile shouldn’t be such a problem. Secondly they blame the decline of the Flash platform, which I don’t really understand, because I never heard anyone uninstalling the Flash Player, so it is still installed on 96% of all computers. Also Adobe is now focusing on games. I really don’t see the decline there except in people’s mind. No other tech would have allowed them to do what they did. This game wouldn’t even have been doable on mobile. The screen size would have been a major issue.
Something else is fishy
Next, they say they won’t sell to another company, because they say there is no worth in their product. This is kind of a weird statement. If you do not see value in your product, maybe someone else will; maybe someone else will be able to turn it around. I say this because Glitch was an amazing product, for sure someone was going to see value in it.
So wtf happened?
My guess is that their business side went wrong. They weren’t able to monetize it. I don’t know what they tried because it has been at least 6 months since I went, but surely they failed on that. They say they are going to reimburse every one for stuff bought more than one year ago. Doesn’t that sound crazy to you? That or they really made no money at all and it is nothing for them to give the money back. Or it could indicate that they are idealists and that could have prevented them from making choices in order to monetize the game (like adding ads, not everyone like ads). I don’t know it all sounds really weird to me.
Someone there clearly think he knows what he is doing, but he doesn’t.
I did an article when I switched from PureMVC to Robotlegs so I am going to do something similar here. Yesterday I was able to do everything I wanted with Robotlegs 2, enough to do a full project with, but it wasn’t straight forward. Hopefully this will save you some time.
OMG they removed the org
First thing you will notice in the git repository is that they removed the org package; it starts right at robotlegs. No more org.robolegs.somethingelse. I was kinda confused at first. I thought I was at the wrong place. I kept looking for the src. But after reading this discussion about it, I figured I was at the right place. It did make much sense at first and it was pretty confusing, but in the end it doesn’t change much. Doesn’t help much either, but we will get use to it I guess. Goodbye org package!
Bender full of women
They next package inside the robotlegs source folder is bender. Funny thing, English not being my first languages I was thinking of binders and I didn’t get it… Silly me, well it refers to Bender, the robot character from Futurama. It is meant as a version name (version number) so version 2 is named Bender, version 3 will be some other robot I guess. This is a like what Google is doing with Android and naming every version of its operating system as a dessert (Ice cream sandwich, Jelly Bean, Gingerbread, etc). Again a bit confusing; I would have gotten it right away if I had seen v2, but bender is great once you know about it (first emoticon I put in a post)
Putting it into context
Next little problem I had was when I created the context. The code on the git page is great but it only gives you half of what you should write. So here is what they have on their page:
_context = new Context().install(MVCSBundle).configure(MyAppConfig, SomeOtherConfig).configure(new ContextView(this));
Now this is all good and nice, so I paste this in my project, and than I put my variable statement for _context at the top of my Class and I naturally type it to Context. Error, here is the silly error it returned : “Error: Implicit coercion of a value with static type robotlegs.bender.framework.api:IContext to a possibly unrelated type robotlegs.bender.framework.impl:Context.”. Now I’m like OMG, WTF, I think I should be right about everything. Well not this time. You need to type your _context as IContext; took me a little while to figure it out (hopefully having the error pasted in this post will save you some time). So:
private var _context:IContext;
MVCS but where is my command map?
This one was easy, I was looking to map some commands, but couldn’t find the right class. I am in FlashDevelop and I start typing CommandM and two classes pop up CommandMapper and CommandMapping. Sounds somewhat good, but doesn’t seem to be the right thing. After some looking around in the examples, the class I was looking for was IEventCommandMap, once you inject that, you are golden.
[Inject] public var commandMap:IEventCommandMap;
And finally the ContextView
So yeah, last thing I needed to do was to add some views on the stage, but where to start? Answer: pretty much everywhere! Inject the ContextView where you need it, after that you can add views to its view. Hum sounds confusing here is some code:
[Inject] public var contextView:ContextView;
So I got all my building blocs that I am used too in Robotlegs v1 so I could technically build a project using it. V2 feels good, I like the new syntax to create the Context and to map mediators and commands. It seems to be doing way more than what I am used too, there are a lot of extensions that I didn’t investigate. But hey, time will tell if it can hold its own.