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:


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

LD30: Mammoth Monkey Mole


August is the month for Ludum Dare and this time I made a puzzle game in collaboration with @nigonzalezm. The theme for this jam is Connected Worlds, so we made a game in which you control three animals from three different worlds. The animals can’t see each other, but the environment did interact with all the animals at the same time. 

As Mammoth you can use your weight to press switches and move rocks, just be careful not to place a rock on top of the monkey or mole.

As Monkey you can jump further and activate levers to allow your other animal fellows to pass.

And as Mole you can move dirt to clear the way or to bury your mates…

It is a game made under 72 hours for the jam.

The game is available from the ludum dare site if you want to vote for us or directly on skullmate.itch.io/mammoth-monkey-mole I hope you enjoy playing it as much as we did making it.