Too bad we don't have a spoiler forum tag.
I have stood next to 30-40 people playing the game. Most people totally suck at it and need the tips. In fact even with the tips most still suck, so I guess the game is a bit hardcore in its difficulty. Only one guy made it to the end (on his second try), but he was definitely an exception. In fact, I had intended Spineboy to have only 3 hitpoints, but I used 5 at the exhibition and then settled on 4 for the code on Github.
It was fun to write, a nice change of pace from working on Spine (for two years straight now!). I feel OK about the code, the MVC worked out pretty well. The model objects have a field
for the view but it is never used in the model, it is just for convenience to avoid a model -> view object mapping. There are a few events
that the model tells the controller about via a method. I figured proper events would be overkill. Reaction to the events could have gone in the view, but it was easier doing it there. The animations are kept in the view where they belong, the model just has states and times that the view uses to choose animations. I think this approach would scale pretty well for a more complicated game. Unlike an entity system, this loose MVC organization is pretty close to how I think people are used to coding and thinking, so should be a pretty easy style to adopt.
If anyone is curious about how the animations are done, you can grab the Spine projects here
(alien and spineboy folders) or in this ZIP
and open them with the Spine Trial
. The alien has death, hit, jump and run animations. Spineboy has death, hit, jump, run, shoot and idle (and walk, but it isn't used in the game).