All posts by george

Game twik Friday

So I’ve got three twiks for you all today that hopefully will see at least a prototype level development sometime in the near future. The theme of the day is: Color! I love colors. The twiks are

  • Sheepdog–use your fingers to guide sheep into the pens of their color while chasing off wolves!
  • Lighthouse–position lighthouses with different colors to mix their lights and fill up colored beacons
  • ColorLyne–basically just Lyne but with colored paths and color changing vertices (it would be able to embed both Lyne and Flow Free, that popular and routine iOS game)

I’m only going to talk about Sheepdog because I think it’s the most interesting and I’ll probably be prototyping it soon (so consider this a pre-proto warning for the beta testers out there reading this). The neat thing about Sheepdog is the whole concept is built around flocking, algorithms for which have existed for a while (e.g. BOIDS). There are a few core mechanics/parameters that I think could make for a very interesting game. They are

  • terrain and placement of units
  • species/types of sheep and their flocking parameters
  • wolves and their speed/intelligence/etc. parameters
  • number and speed of sheepdogs

Difficulty increases with topologically complex terrain, slow/few dogs, fast/intelligent wolves, and hard to understand or mixed flocking dynamics, and conversely the game is easy with simple terrain, single type of sheep with predictable flocking, slow dumb wolves, and fast/numerous sheep. The interesting variable to me is the flocking behavior which is highly parametrizable, and it would be possible to make it fairly complex or even genetic in response to the player’s play style (given some type of level set challenge).

This gives rise to another game entirely, which is something of a get all sheep in the pen as fast as possible, with the sheep having strategies that are genetically selected so as to make it as difficult for the player as possible. Completely custom levels that no one else has likely seen. Seems like a neat idea. Or you could have automated sheepdogs that learn your strategy via a set of parameters in your behavior (i.e. you are training them) and then you’re scored by how well they perform.

What kinds of AI games would you like to play?

Games to play #2

So today I discovered itch.io and I’m just so pleased with the density of great looking things on it! Here are a few games for the day:

  • Particulars, this looks like a game that wouldn’t be possible if Osmos hadn’t come out some years ago, and I’m excited to see what it has to offer. Steam only at the moment.
  • Lyne, it’s got a cohesive and well-executed aesthetic and builds off of traditional connection-style puzzles with some more complications. Looks delightful! (And it’s on iOS, and I’m about to start playing.)
  • Snake blocks, for those of you who want to take connection puzzles up a dimension into 3D

And an honorable mention to the free Tiny World: The Musical: The Game for being a well executed cute concept piece and to 0rbitalis (it needs a trailer dammit!), mostly for the fact it’s priced at 3.14.

That’s all for now! Also, if you’ve played any of the above and want to share your experience, please, help yourself to the comment box below 🙂

Difficulty

What makes puzzle games fun? I want to know! So I’m going to try by

  • proposing and exploring a definition of difficulty (this post)
  • examining what makes for novelty, and how to modulate novelty over time (next post)
  • combining the two above to propose what makes pure-mechanics games fun for various types of people (in the future!)

First, some setting. My strongest genre currently is a class of games called referred to as ‘pure mechanics’ by some. This mostly means that there’s no real theme or narrative, and that the game is fun purely because of fulfilling goals inside of the mechanics. Themed and narrative games can in fact get away with having close to no mechanics, while still being a good, fun game (e.g. The Stanley Parable). However, in pure mechanics land while you needn’t make a theme or write a narrative, you have to engage the player’s interest by the mechanics alone–how they are unveiled, the ways they interact, and to what extent they are explored. This results in an experience for the player with a difficulty over time function and novelty over time, and depending on these functions different people will react differently toward the game. In this post I’ll create some language for talking about difficulty, and in a subsequent post I’ll discuss novelty, and then finally merge these two to show what makes a pure mechanics game fun for different types of people.

Difficulty, a proxy definition

Difficulty can be hard to quantify rigorously, but I’ll use the following definition, which leaves aside all physical matters as short-term memory, reflexes, etc., as proxy. If you haven’t heard of it before, the notion of a state space might be useful. Suppose that there are N possible states you can get to from the current state in the game, and there are W winning states. The difficulty of the game is inversely proportional to W/N. Now, this isn’t quite right because, for example, consider a game where you have to answer “what is 2+2”, and the input can be a number. Well this game would seem the most difficult of them all because only one out of infinitely many states are winning! This leads us to another aspect of difficulty: the ability of the player to prune the search tree, usually by means of what are called heuristics. So now supposing that the player can prune P of the states, the difficulty becomes proportional to W/(N-P). This definition can be further refined based on the complexity or depth required to search down to winning states (compared to not-winning states), but for now let’s think of W/(N-P) as a decent proxy.

Now that we have a working definition of difficulty, we can see how to make games easier or harder, and there are a few ways for each, by either increasing or decreasing any of the three variables.

How To Calibrate Difficulty

  • Increase W (easier): make the winning condition more relaxed. In a star-based points game, this could mean making the ‘win’ on a level count even at a single star (instead of, suppose, 3). One should watch out, though, that in increasing the state space one doesn’t increase N too much more, or you’ll be sitting at neutral.
  • Decrease W (harder): if things are too lax, just set the bar a bit higher to make for a harder challenge. Ask more given the same environment. For a good example of where W is set well, see one of my old favorites Auditorium.
  • Increase N (harder): the simplest way to do this is by adding pieces, mechanics, or upping the dimension of the game in some fashion or another. For something which gets insanely hard via dimensionality increase, check out English Country Tune.
  • Decrease N (easier): limit the space the player is working in without removing too many winning states. Add additional constraints so that the number of possible paths decreases and the level is easier to reason through. When testing a game where players keep getting confused at a point, simplify. Allow them to do fewer things. Some of the best tutorials I’ve seen make use of tiny state spaces (sandboxes) so that the player can learn the mechanics of the game without complex interaction.

Now for the most interesting variable: P. Now, how much a player can prune is dependent, naturally, on the player’s capability. The more interesting thing, however, is that their ability to prune and strategies for pruning are adaptive given games the player has seen in the past. Thus if you’re building off of existing mechanics, e.g. physics, where puzzles are related to the real world, or existing controls, e.g. the arrow keys, games become much easier to pick up. (If, however, you give them a text terminal and they input letters one at a time to navigate a maze by taking the last two bits of that character in binary to be a cardinal direction, it could be far more difficult.) So what makes pruning so interesting is that not only is it dependent on players, but also on existing designs. Through pruning it is possible to make an easy game very hard and vice versa, provided you can find a translation of the state space into a framing that is more conducive for human thought.

Back to the two examples mentioned earlier, Auditorium and English Country Tune, we have two examples of puzzles where the state space can be very large, and the win set sufficiently small, but the biggest difference is that Auditorium uses physics that we’re familiar with. Pushing things around, attracting, speeding up, deflecting, these are all natural movements. In contrast, ECT changes gravity depending on your perspective, has objects you push at a distance, and an entire slew of other mechanics which do not occur ‘naturally’, so to speak, within our Earth-bound physics. This is what makes Auditorium far easier to prune, and hence an easier game compared to the much more confusing ECT. Of course, ECT isn’t the most difficult thing to reason about, it just takes a bit of learning and practice, and we might notice that learnability of mechanics modulates the pruning function, and thus the rate at which a player’s P may increase–something which will affect the difficulty curve over time.

But really we just want two more bullet points, right?

  • Increase P (easier)
    • Use mechanics that are familiar (e.g. real world physics)
    • Teach mechanics through sequences of levels that show them in limited environments (i.e. keep N small for a while to train the pruning strategies–it is easier for the player to learn when they can remember everything they did)
    • Give hints or show demonstrations (gamer see, gamer do)
  • Decrease P (harder):
    • Use mechanics that are not familiar or hard to disentangle (e.g. context-specific rules are an easy way of making anything insanely hard)
    • Include false-positives on how a level might be solved. Basically, emulate various heuristics and make them lead to not win states.
    • Make mechanics interact in complicated ways. (For those of you who have played ECT, think the Larva+Whale levels.) Notice that this doesn’t have to make N blow up, it just makes the space more topologically confusing.

That’s all for now. Next up is a similar account of what makes for novelty, and then after that we’ll get to talking about novelty and difficulty over time, and how that makes for fun! Bonus points: For an alternate account of difficulty, check out Edmund’s account at Team Meat (note that % chance you’ll die is very similar to (N-W)/(N-P), though I didn’t add penalty here as I was thinking about puzzlers where you can step back/restart at any point–an idealized situation for sure).

Games to Play #1

First off: these are all free!

The best part about following tons of indie game devs is that they post games. Lots of them. Here are some from the past couple days that I’ve enjoyed, mostly sokoban-style puzzlers. They’re all online and free to play, but be warned they can get pretty tricky very quickly.

  • Impasse: a puzzler that takes place on a flattened cylinder
  • Sokobond: a sokoban-style flat molecule connecting game
  • Palette: another sokoban-type game, featuring color physics
  • Chesskoban: yet another sokoban, but with chess pieces

 

Iris: day 3

So a few days ago I started development on a new game called Iris. It takes some ideas from Circadia (see last post for a video) and expands the physics. Things we’re learning:

  • refactoring code is awesome (I’ve refactored the same bits several times now and with each pass it becomes easier to implement new functionality)
  • closures are amazing for making programmable objects (e.g. say you have a class that you want to move around, but you wan the movement to be generalizable; pass in a closure that keeps track of the movement and updates the object every time it’s called, and just bind that to the update() in the object. Done! Or even more generally, make a function that makes these closures for some parametrization and being DRY)
  • level design via text is a pain (seriously, we’d be so much faster if we just made a level designer… time to get on that)
  • people can enjoy playing something they don’t even understand! The first couple builds didn’t have any tutorial, and watching people play we saw them delighted by the audio/visual and aesthetic aspects of the game, without even being sure of what they were trying to do.
  • it’s pretty easy to make VERY hard puzzles with fairly few mechanics–the bigger difficulty is in crafting a journey

Screenshots are below, and per usual if you want to get access to pre-release builds join us on Testflight, we love to share!

2014-01-14 Screen Shot 2014-01-14 at 3.10.29 PM

Recap and hello!

It’s been a while since the last post here, but oh how we’ve been busy at Three Pixel Heart. Things I’ll touch on in order here are 1) progress on Block Party, 2) status of our live apps, and 3) new games for the new year.

1. Block Party
We’ve continued production on Block Party, researching manufacturing methods such as screen printing and stamping, but we’ve been pretty disappointed about something: manufacturing domestically (in the USA) is really expensive. The lowest bid we’ve gotten so far is $18 a set, which is basically what we’ve been selling them for. On the other hand, we have a bid from China at $3.80 a set–far more realistic aside from the fact that we’d need to order at least 8,000 sets, and we don’t have that kind of startup capital. Kickstarter comes to mind, but we’re going to look into manufacturing them ourselves a bit more first because we’d love to make it locally. Our current trajectory there is to make some stamps via laser cutter so that we can do one side of an entire set per stamp, 6 stamps total. This would lead to a potentially very fast production process, though the quality and price of inks (and the images they produce) is something we have yet to determine.

2. Live Apps
It’s been over a month now since we launched Unique and Party Rush to the app store, and we’ve been, while not overwhelmed, at least pleasantly surprised with the response to Unique. Party Rush is a much harder game (most people who play it have physical Block Party sets) and so hasn’t gotten a very wide audience. With a couple hundred downloads of Unique though we’ve become convinced that it’s a concept worth pursuing further, and the uniform feedback across the board is that it’s just too damn hard. Who has the patience to play over and over to the point of being able to remember 49 snowflakes (other than yours truly, who felt compelled just because he felt somebody had to beat it)? So we’re scaling down, adding a level system, downloadable content, and all new images to produce Unique: Things! Be on the lookout for it in the next month. We hope it will be a memory puzzler which will keep you engaged for hours on end, learning how to remember and classify whole sets of things you never thought you would. Of course, we’ll start with something more doable, so be prepared to play with famous portrait paintings!

3. New Games
Here is where I am REALLY EXCITED! Did you get that? I mean REALLY excited. But why all the excitement, George? It’s just more games. You’ve done some of those, right? Where’s the novelty?
Let me tell YOU where the novelty is. I’ve recently realized that doing things at least once (in a developer context, but you could generalize) makes the set of things I can do expand greatly. In the past few weeks we’ve picked up novelty bonuses for

  • multiplayer on a single device (Finger Disco)
  • unlocking achievements via exploration (Colorfun)
  • google analytics integration (PushButtonGetHappiness)
  • image masking in Corona (Lotus)
  • level system (Unique: Things)
  • one-battery prototype (Iris)

(Facebook integration is also on our list.) If you’re reading this when it’s published, most of those are probably meaningless names. However, they are all new games (except PB;GH, which is more of an interactive art project) which we currently have in development. A few of them are mockups, proof of concept pieces, but they hold the seeds for things to grow. Finger Disco is a two-player game best played on a tablet where players go head to head to dance and contort their fingers. Colorfun is an adventure exploration by way of a synesthetic canvas. PB;GH is linked. Lotus is a sketch of a music playing game. Unique: Things was discussed above. Finally, Iris is a rhythm puzzler with themes similar to the ones in Circadia (video below) but without the really annoying finicky bits, plus COLOR PHYSICS! I do love colors. If you’re interested in betas and have an iOS device, feel free to sign up with us on TestFlight

In the meantime, you can enjoy this trailer brought to you by IGN.

Party Rush: App #2


Get it on the app store
We just submitted Party Rush to the app store for review, and it’s the first addition to the Block Party arcade suite! Its home on the web is at http://w.3pxh.com/partyrush. We’re starting with something simple: one mode of gameplay, all solid symbols. The possibilities of where we go from here are endless. Symbols could be erased and drop down or reshuffle, the player could swipe between same shading, color, or shape (changing up the board), or we could add special symbols a la gem-smashing games. Of course, we can also take the board and make the interface one of switching adjacent symbols for that type of play as well.

Have a preference? Give us a shout https://www.facebook.com/3pxheart

Check out the video below for a demo of the gameplay, which is something like a symbolic variant on Boggle.

Our description on the app store:
Party Rush is a game about making parties! Enjoy this arcade puzzler which will stretch your mind and test your wits in a fast-paced high-score environment. Connect the symbols so that any three in a row are all the same or all different for both color and shape independently. Do the same for four in a row to make a party for bonus points!

Unique: our first app!

Get it on the app store

Learning Corona has been lots of fun, especially given how many opportunities it’s making for us to create new ideas quickly. In one of our game brainstorming sessions last week we came up with a game which we’re calling Unique, in which snowflakes fall from the sky and the player tries to collect as many as possible without ever catching the same one twice.

Unable to sleep one night for the snowflakes in my brain, I got to coding up a prototype of Unique and the next day we pulled an app-shipping marathon where we created (or took via creative commons) all of the media (background music, sound effects, 50 unique snowflakes, custom font) and put the gameplay together in a polished and finished app. The result is a wonderful and ambient meditative experience which tests your memory, patience, and intuition.

We submitted it to the app store and are waiting for Apple to review it and we’ll follow up here when it goes live!

In the future we’d like to extend the gameplay and add a few more features and we’re thinking of instituting an “app download stretch goal” type system, where if we hit various download milestones we’ll add new features.

In the meantime, enjoy the winter and the snow! (Even if it’s only simulated on your phone because you live in California.)

BP Arcade: On Our Way

heart star glyphsHey there! We’ve been too busy to post in a while (I’ve been working on nanowrimo, Benjamin is making a tiny home by reformatting an airstream) but we’re back at it again. We’ve made new glyphs, the one on the right we’ve dubbed heartstar, made a bunch more blocks, published several videos, and now we’re starting on Block Party Arcade.

What does this mean? Hopefully it means that we’ll be on the app store within a month. Wouldn’t that be neat? More realistically, we’ll submit within a month and be on not too long after that (approval takes a while). It does not mean, however, that we’ll have any games on the web (why? because it’s going to be way better in your hand). So all of those with smartphones, yeah, you, get excited. But I have an android, you say. We’ve got you covered too. Let me describe why.

To develop the games we’re using Corona, which is a cross-platform (ios, android) game development environment in Lua. If you’re an indie developer who wants to make a cross-platform mobile game, this is really the way to do it from what I can tell (unless you want full 3D, which we don’t need–yet). [For anyone reading this who wants to get into game dev, I’d like to help you bring great games into the world. Drop me a line (g at 3pxh) and I can tell you a bit more about our journey with Corona, what we’ve learned, and even give you some sample codebases to start with!]

Long story short? We’ve found a development environment which is allowing us to create things very quickly, for ios and android, and you can expect to see our games live on the app stores in the next couple months.

Want to get the Beta? Drop me a line (g at 3pxh) and you might be able to start playing within the week.

Rock and Dirt Games 1

Here’s a game fresh off the press for those who like 2-player abstract strategy games, especially ones played with a simple board and one type of piece.

Two players take turns placing or moving tokens in squares of an 8×8 board. No square may ever have more than 3 tokens, and tokens may only move up/down and left/right by one square. Each turn a player may add one token to any square the board or move any number of tokens from one square to an adjacent square (as long as at the end of that player’s turn there are <=3 tokens in each square).

Player 1 tries to make the sequence 1-2-3 in adjacent squares, player 2 tries to make 1-3-2. This includes diagonals, though pieces may not move diagonally. The first player to make their sequence wins.

Variations: changing sequences and square limits are an easy way to up complexity. Changing the dimensions of the grid (or using a different network, e.g. a hexagonal tiling) is another parameter which could be changed. For a 3-player variant, use 123, 132, and 213 as the goals. Additionally you could use multiple types of pieces (different colors say) and then make more complicated sequences.

Note: to prevent indefinite repeats, a player cannot make a move which would cause the other player to encounter an identical board state to what they just played on (e.g. if the other player moves a piece you cannot move it back).

If you solve this game I’ll give you a prize. If you then turn it into a variant which you can’t solve, I’ll bake you a cake.