Stephen Haney

Raise the Skill Cap by Hinting at Upcoming Events

krate iphone game colors hud update

The HUD now displays the next 3 colors for the player.

One of my concerns with Krate is that I would end up with a game that came down to luck more than skill. One of my goals is to make the game re-playable because there’s potential for growth. I want a high “skill cap”, such that a talented player will end up with a dramatically better result than a casual player. One example of a low skill cap was the Paladin class in early WoW. They were very beginner friendly, with only a few buttons to press. The downside was that an experienced player couldn’t perform much better than a beginner. DOTA2 is another game with a mix of low skill cap (drow ranger) and high skill cap (meepo) heroes. With each decision I make, I try to think “will this raise or lower the skill cap?” because I believe a high skill cap gives an authentic reason for the player to replay the game.

Strategy through Information

I want the player to be actively planning and strategizing while playing Krate. Players have a chance to plan and react well or poorly to each game event. Players can better plan if I make sure to give plenty of information. One way I found to do this is to show the upcoming colors that the player will place. Originally, I was only showing the active color to be placed, and I found I wasn’t planning much, but simply reacting to each new color assignment. I built out a system to display the next 3 colors and I think it’s added a lot to the game’s strategy. Check out the video with the new color assignment HUD:


Swift Events: Create Triggers and Listeners in Swift

Backbone includes an elegant and awesome events system that allows for some beautiful code organization in web apps. The events system lets you put your code where it belongs, rather than being tied in to a bunch of function calls in the event trigger. You can add and remove functionality from different events as well. It’s especially useful for game systems like keeping track of events that count towards achievements.

I wanted this functionality for Krate, my iPhone puzzle game, so I wrote a fast solution that mimics the most usable parts of Backbone’s system for custom Swift events triggering.

You can find it here: Swift Events on GitHub. There’s some examples and more information on using the class. Give it a try and let me know how you like it – it’s very usable right now, but I’m definitely open to feedback and improvements.

Krate Advancing by Leaps and Bounds

iPhone puzzle game krate beta graphics

Adding placeholder graphics to Krate makes it feel way more fun!

I am joining in the Summer of Swift fun with Krate. It’s a fitting event for me, as the timeframe fits my predetermined goals perfectly. Plus it enforces a regular update schedule which I can incorporate into Thinking Swiftly.

Krate has improved tremendously over the past few days. The game is already coming to life through new graphics and some easy juice like screen shakes. I’m using the excellent Kenney Asset Pack. Kenney is free to use, but I strongly recommend making a donation as it provides terrific placeholder art.

Quick Progress

I created a lot of the underlying systems for the game this week, including a Sound manager, an open source custom events manager for Swift, and the structure for keeping score and adjusting difficulty.

Also new is the creeping plague of darkness that gives the game a quick pace, and some placeholder particle effects to suggest tile placements. Phew! Lots of good stuff. I’ve included a video of an entire game in the full post.


The New iPhone Puzzle Game: Introducing Krate

iphone puzzle game chess board

First, I wanted to build the game board using SKSpriteNodes. A good launching point for writing some game rules!

My favorite part of making games . . .

My favorite part of making games is looking back on early screenshots. I love to watch those early, blocky chunks of color transform into immersive game elements. In that spirit, I want to post some early screenshots of Krate, my new twisty, fun iPhone puzzle game.

Krate is my summer Swift learning project, born through the fortuitous coincidence of the Swift announcement with the Spring semester’s end. I often start overly ambitious game projects, doomed to drown by their own weight. No more! This time, I’m going to make an iPhone puzzle game. How hard can it be? 😉

Krate’s concept is simple; anyone who’s played any of the gem/jewel games can pick it up. That said, I wouldn’t be satisfied with a pure copy, so I spent some time thinking on unique mechanics. In this puzzle game, you start with a blank board and fill in tiles with a color randomly assigned on each turn. You can clear tiles any time you have 3 or more of the same color touching. That’s just the beginning, I’ve added more mechanics and compiled an early gameplay video.