tags:

views:

955

answers:

26

A lot of the games I play are pretty simple. I somewhat play video games for an escape, so I like to play hack 'n' slash games, hockey games, or shooters. I usually don't like video games that make me think to hard, but everyone once in a while I'll come across a game that I both enjoy and notice that my thought patterns are very similar to how I think as a programmer.

For example, I remember some years back I used to play Age of Empire online. I don't usually play strategy games but for some reason (not really sure why, I think it was the way it was styled) that game really caught my eye and I had fun with it. That game made me think quicker on the ball then any other game I had played before, but at the same time I didn't feel annoyed by being pushed to think so quickly but rather invigorated! So, that really reminds me of how I feel when I'm programming.

What games bring out the best programmer in you?

+14  A: 

In Light Bot, programming is the game, so that pretty much requires you to think like a programmer. It's quite cute, too. :)

unwind
http://armorgames.com/play/2205/light-bot is a better link.
Teddy
A: 

Well, Final Fantasy XII had some sort of programmable AI for the characters so that they would react the way you expect them to various situations.

ex:

  • HP < 200, use potion
  • enemy is flying, use magic
  • ally is dead, revive
  • etc.

I remember playing Doctor Brain as a kid too, which had some programming mini-games if I remember correctly.

GoodEnough
Yoink. http://stackoverflow.com/questions/234734/games-that-teach-programming-fundamentals#251900
Daddy Warbox
+5  A: 
MadKeithV
+6  A: 

By far RoboCode. You actually have to program your robot that will fight/compete against other robots (from one on one to large melees). Lots of fun!

Stephane Grenier
Played the same concept as CoreWars and C-Robots way - way back. They used to be a lot of fun as a jr programmer.
Jason Short
I agree. I initially learned with CoreWars. It just seems a bit outdated now compared to what you can do with RoboCode. Although it's still a blast!
Stephane Grenier
A: 

I like this question, but for some reason I just think about Blackshift when trying to figure out what game it applies to for me.

It's not that you require the same skills as programming to play this, it's more that I had a good few similar 'aha' moments that I get when coding, and when I was enjoying it, there was a certain flow to the game experience that reminded me of programming.

faircloc
+13  A: 

Portal: clearly iterative problem solving and analysis are the game.

annakata
Infinite recursion. =]
strager
Actually strager, its technically only 9 levels. It doesn't stack overflow if you look further ahead than that, but they just don't exist and get lazily instantiated after you go through another portal :P
madlep
+4  A: 

Minesweeper. When I hit a mine because I overlooked something, wanted to write a program that would solve the game for me.

Really, this was when I finally saw the light about recursion...

Treb
+1  A: 

I like Neverwinter Nights 2 for the ability to use it's (.net like) development environment to create new mods. Which in turn helped me to see how the logic was implemented in the main game.

Sean
+1  A: 

The last game was the current "Settlers" game (which doesn't seem to be available in English so far) when it crashed...

I figured out how to reproduce the crash, got an idea what might be the problem, filed a bug report... And am still waiting for any reply to it ;)

BlaM
+3  A: 

Dr Brain: The lost mind of Dr Brain, in specific, motor programming.

Haha duck duck goose.

Zachary Yates
I loved Castle of Dr Brain.
sjbotha
+1  A: 

Hacker

Daniel Auger
A: 

Carnage Heart for the PlayStation 1.

You controlled a number of mechas and not only customized not only how they looked, but how they acted in combat by using a flowchart design to give your machine its AI. My buddy and I would spend hours tweaking our AI to make it work for various situations.

Jelani Harris
A: 

Monopoly. At heart, it's a game about tracking information, breaking it apart and combining it, and tracking the way it is being shifted around, making it a very fertile field for considering data representations and decision heuristics.

J.T. Hurley
+1  A: 

Civilization 4, it feels like a multiplayer chess game.

where you need to manage your resources, optimize your strength and finish the game in multiple ways, domination, cultural win, etc.

melaos
+2  A: 

Transport Tycoon Deluxe - especially around setting up the train networks, and defining all the signalling on them. It got quite complicated, and you'd have to come up with all sorts of clever abractions for handling the complexity by the time you got towards the end of the game.

Theres a lot of graph theory, concurrent processing, routing optimisation in there.

madlep
+8  A: 

Sudoku--it irritates the crap out of me, so I finally did write a program to solve it.

Drew Hall
+3  A: 

NetHack.

Every programmer needs to know how to navigate narrow, twisty passages; even while halu.

Dominic Cooney
+3  A: 

There was an old Win3.1 (or was it DOS?) game called The Incredible Machine by Sierra Online. You built Rube Goldberg machines to do inane tasks, but it was brilliantly executed and devestatingly addictive. Wish they'd update it!

Drew Hall
Win3.1 ........
Joshua
+2  A: 

Age of Empires 2 :) I think it's an allegory of a programmer's life. Look..

  • you need to be thinking fast and also in a multithreaded way in order to attack from several points. Multithreading is crucial after you've reached a certain skill in your game.
  • you need to balance your economic condition with military condition.
  • you need to feed your clan with food and other resources.
  • you need to be in the zone constantly if you want to win.

Many more can be added...

utku_karatas
That sums up a good many RTS games in general, too.
Daddy Warbox
Yep, there's tons of other games like AOE (World of Warcraft etc). But good description utku. Multi-taksing is a goof point. I would also add that in both programming and RTS games you're heavily involved in "building", and the more robust / thoughtful solutions you build the better off you will be.
matt_dev
Doh...I mean good point.
matt_dev
+1  A: 

This must be the fourth time this particular topic has arisen.

This time I'd probably go with physics construction games like World of Goo, Armadillo Run, and maybe even stuff like Little Big Planet and Garry's Mod. Though those perhaps count more as general engineering rather than software engineering, specifically.

Still, engineering is engineering.

Edit: And I'm gonna go out on a limb here and suggest 20 Questions as well. Don't tell me programming doesn't involve a sizable share of deductive reasoning and creativity. ;)

Daddy Warbox
A: 

Robot Odyssey. It's more of a circuits game, but think of core of digital circuit design and software as both being centered on logical organization of data and behavior.

Mr Fooz
+1  A: 

Garrys Mod, with wiremod. You can make a bunch of crap with it, and it's cool to kill people with em too!

YaTaF
+1  A: 

Starcraft, tech trees, build orders, precision timing and macros etc

nelix
+1  A: 

Civilization II... and Transport Tycoon Deluxe.

smok1
+1  A: 

Myst and Riven, well ok they felt more like tortureous debugging sessions, but still ....

diverscuba23
+1  A: 

Manufactoria. A game about robot manufacturing that's really a game about building Turing machines. Starts out easy, then gets much, much more complicated. (There's also a thread on the xkcd forums where people have been competing to find optimal solutions.)

mkarasek