Probably Dance

I can program and like games

Tag: Games

A New Strategy Genre Grows Up: Survival Chaos, my New Favorite Game

I’ve had an obsession recently with a mod for Warcraft 3. It’s called Survival Chaos. I want to talk about it because it’s part of a genre of strategy games that hasn’t had a big success yet, and this feels like a big evolution, maybe even a breakthrough. It’s rare to see a new video game genre emerge like this, and nobody ever writes about this while it’s happening. The history of Auto Chess, the other recent genre to come out of Warcraft 3, is almost completely lost. (I was able to find a very similar map called “Pokemon Defense” from 2010, but that’s about it…)

I am not sure if the genre has a good name yet since it’s never been big. In StarCraft 2 it’s called “Tug Of War” so I’ll go with that. The basic idea is to make a RTS where you don’t control your units. You just build buildings, the buildings automatically make units, and you watch the units fight automatically. You mostly make decisions about the macro: When to invest in your economy, what units you should invest in, what upgrades you should get. Before we go any further though, let’s just watch a video of someone playing the game:

Read the rest of this entry »

Lessons Learned from Shenzhen I/O

Shenzhen I/O is a brilliant game. In case you haven’t heard of it, it’s a game about programming micro-controllers. It distills programming down to the fun parts, removing the inertia, self-inflicted complexity, overhead, uncertainty and drag of real programming. It’s just about coming up with clever tiny algorithms and micro-optimizing the heck out of them. It’s great alone, but it’s even better if you have a friend that’s playing at the same time. Competing on the leaderboards for puzzles is enormous fun. From playing that game, here are a couple lessons:

1. There is no optimal code. There is only code that’s faster than the code that you’re comparing to

Shenzhen I/O shows you a histogram of all the scores that other people have reached. If my solution would fall on the right of the bell curve, I would optimize it until I was on the left. After a lot of work I would usually arrive at an “optimal” solution that puts me in the best bracket on the histogram. Those solutions were always far from optimal.

Read the rest of this entry »