Mini Games · Making-of

Chunkey

Chunkey is an old Native American game. One person rolls a stone disk ground concave on both sides, and two players run after it and throw long spears. Whoever plants their spear closer to where the stone stops scores. It's thought to have started around AD 600 at Cahokia, the center of the Mississippian culture (in today's Illinois, across the river from St. Louis), and one interpretation is that Cahokia's huge plaza was a chunkey field. Chroniclers who watched the game in the 18th century wrote that the stakes were so high players bet everything they owned. This game is a prototype that lets you play it one-on-one against the computer in your browser. It's at play.ghmun.com/chunkey.

A game about guessing where the stone will stop

I pared the rules down. The turn to roll alternates each round, and the roller runs and throws too. The spear closer to the stone scores 1 point, and planting it within 25 cm counts as touching the stone, for 2 points. First to 7 wins. Real chunkey scoring varied by tribe and era, and the surviving records are fragmentary, so I kept only the minimum needed to make it work as a game.

The heart of this game is the stone's physics. The field is 64 m long, and the stone rolls off at its starting speed, then slows at a constant rate from ground friction. So its stopping distance is the speed squared divided by twice the deceleration. Roll it as gently as possible and it starts at 8.5 m/s and goes about 15 m; roll it as hard as possible and it starts at 16 m/s and goes about 53 m. If that were all, one formula would give you the answer. So I mixed in two things. Friction varies by ±15% each round, and the ground is bumpy, so the deceleration wobbles depending on position. In the end you have to watch how fast the stone started and how quickly it's slowing, and guess by feel.

Rolling is press, hold, and release. Holding longer doesn't make it stronger; the power bar rises and falls every 0.75 seconds. You have to release at exactly the strength you want. To throw, while the stone is rolling, press and release on the spot on the screen where you think it will stop. The farther you throw a spear, the more it strays. The miss follows a normal distribution with a standard deviation of 2.5% of the distance. Throw 30 m and the standard deviation is 75 cm.

The fun part is when a spear lands first and the stone passes over that spot. If the stone is slower than 3.2 m/s, it catches on the spear and stops right there. If it's faster, it knocks the spear forward and keeps rolling with its speed cut by 30%. Throw early and accurately and you can stop the stone in front of your spear; throw too early and the stone pushes your spear away.

There were only 2 seconds to throw

When I played the first version, it was far too rushed. A player can only throw while running from the start to the throwing line, and with a running speed of 7 m/s and the line at 15 m, the window to throw was 2 seconds. Two seconds after the stone sets off, it's still rolling hard, so there are almost no clues about where it will stop. The next day I cut the running speed to 4.2 m/s and moved the throwing line to 19 m. The window grew to 4.3 seconds. Now the longer you watch, the more accurate you get, but too late is a foul, so when to throw became a real decision.

Changing these numbers in code over and over got tedious, so I added a tuning panel. Sixteen values can be changed with sliders: running speed, throwing line, spear error, stone speed range, friction, bumpiness, 2-point distance, winning score, and even the opponent's prediction error and decision time. The values are saved in the browser, and you can export a combination you like as text with "Copy settings." I left this panel in the public game as is. Getting your hands on it and seeing how changing a number turns it into a different game is fun in itself.

The opponent gets more accurate the longer it watches

The computer opponent solves the same problem a person does. At a set moment it looks at the stone's current position and speed, guesses the friction, calculates where it will stop, and throws. It doesn't know the friction exactly; it guesses with some error mixed in. Easy is off by 30%, Medium by 15%, Hard by 6%. The moment it throws also differs. Easy throws between 0.6 and 1.6 seconds, Medium between 1.3 and 2.8, Hard between 2.4 and 3.9. The later it throws, the more the stone has already slowed and the shorter the remaining distance, so even a wrong guess misses by less. It's the same principle a person uses, so you can see the Hard opponent waiting until right before the throwing line. It does not, however, factor in the bumpiness of the ground.

Dusk on the Cahokia plaza

The setting is Cahokia. On the right, in silhouette, is the terraced Monks Mound with a building on top; in the middle, Woodhenge, a circle of posts; and in front of it, a palisade with watchtowers. The sky is at dusk. There isn't a single image file; everything is drawn in canvas code. Sound is also made with Web Audio, no files. The stone's rolling sound is noise that swells and fades with its speed, and the spear in flight, the spear sticking into the ground, and the stone hitting a spear are each synthesized separately.

It's still a prototype

This game is based on a real Indigenous game. So there's something I have to do before calling it a release. I need to ask the communities regarded as descendants of the Cahokia peoples, and the groups that are reviving chunkey today, whether the name and depiction are acceptable. I've written that on the game screen too. Even if the historical stakes go into the game, I plan to handle them only as a virtual reputation score, not as any cash-like currency. After that, the plan in order is: choosing your stone and spear, field types like a mud surface, opponents with different personalities, and two-player matches.

How to use it

On your turn, press and hold on the field and release at the strength you want to roll the stone. Then, while running, press and release on the spot where you think the stone will stop, and your spear flies. You have to throw before you cross the throwing line. On a keyboard, holding Space charges the power or moves the aim point forward, and releasing it rolls or throws. At the top right you can pick the opponent's skill: Easy, Medium, or Hard. The tuning panel is below the field, and you can also open and close it with the ` key.

Try Chunkey (in Korean) Go to play.ghmun.com/chunkey →