Bug fixes

Before new features were implemented it was time to solve all the existing bugs and avoid future trouble.

The issues in iOS 7 with Swift were finally solved. A SKNode layer was troublesome by capturing the touch events and the z-ordering was not respected. The downcast issue was also solved by avoiding the cast and work directly with SKNodes instead of SKSpriteNode. They were really a pain to debug, but with those solved I could focus in the gameplay.

Levers and bridges were implemented, as well as the valid movements for the monkey.

iOS Simulator Screen Shot Dec 2, 2014, 9.19.51 PM

MMM Updates

Implemented the functionality to pick and drop the Dirt-balls. Also both rocks and dirt-balls can be moved to cover a water hole, so they have their own sprite to show what has blocked it.

The bad news is that iOS 7 is not handling correctly  the touch events. The swift downcasting from SKNode to SKSprite node is failing and thus sometimes the dirt-balls are not being able to be dropped.

Other issue is that it may not be completely clear which dirt-balls can be lifted and where they can be dropped. Spend some time designing the icons to avoid that issue:

mmm_2nov_2 mmm_2nov

MMM Game progress

The MMM game was originally created in Obj-C and SpriteKit and was generated using a tutorial for a candy crush clone. It made sense at the time because it was tile based and MMM is tile based. I was wrong.

The code base was a mess and only noticed it when tried to extend the functionality and it was a complete pain.

Lesson learned: Tutorials are great, but design your own architecture for your specific needs.

Not all was lost, since I get a better understanding on SpriteKit, and some code could be reused.

After finally unplugged the old code and left it to die. I decided to take my chances at Swift instead of Obj-C. I am using SpriteKit, which is only supported in iOS 7+. Changing to Swift gives me the opportunity to update to new technologies and also embrace the change.

One week later I finally feel like I am been productive again. So much type casting is still a mess in Swift, but you learn to live with it.

The current version can:

  • Collide between animals or board objects
  • Change between active animals by tapping on them
  • Move using swipes
  • Mammoth can move rocks
  • Holes act as barriers

Here is the current build with a screenshot from the simulator:

mmm_swift_0

It runs weirdly slow in the simulator, but in a ipad mini retina it can run at 60fps without trouble.

Ludum Dare 30 – Results

The results were up since Monday, but I was a bit busy writing the js13k posts.

For the LD results:

results

Great results, reaching #99 in the fun rating is an excellent achievement, we polished the game as much as we could. Perhaps my only regret was not making better graphics… but you have to sacrifice something in such a small time frame.

Coop game developing was definitely a good choice since we could bounce ideas around and discuss while the game was in development and not waiting until the end for some feedback.

A nice addition to our game jam team would be an artist. That way we could add sweet graphics and instead spend more time coding.

You can still play Mammoth Monkey Mole!