share
Stack OverflowGames to improve programming skills
[+40] [33] cod3-monk-3y
[2008-11-16 18:36:43]
[ game-development self-improvement ]
[ http://stackoverflow.com/questions/294198] [DELETED]

I've heard (and read somewhere) that there are certain games out there such as ancient Japanese game GO [1] which help to improve the programming skills. We know chess helps a lot in improving our mental power. Besides chess, do you play any games as an exercise to improve your programming skills?

(5) StackOverflow. We get to attack enemies (downvote) and heal allies (upvote) and earn XP and MP (reps). - Randell
(3) I love this question, but shouldn't it be community-wiki? - Paolo Tedesco
[+23] [2008-11-16 18:47:19] Federico Ramponi [ACCEPTED]

I like to solve puzzles (of any kind, mathematical or not). Here are some resources:

I also like "physical" puzzles, like Rubik's cube, the tower of Hanoi [5], and so on.

[1] http://rads.stackoverflow.com/amzn/click/0139550887
[2] http://rads.stackoverflow.com/amzn/click/0470121688
[3] http://projecteuler.net/
[4] http://www.pythonchallenge.com/
[5] http://en.wikipedia.org/wiki/Tower_of_Hanoi

(1) Upvote for mention of Project Euler - math-oriented, but great puzzles in there! - Jazza
1
[+18] [2008-11-16 18:46:53] MusiGenesis

Lemmings [1]

The Incredible Machine [2]

[1] http://www.elizium.nu/scripts/lemmings/
[2] http://en.wikipedia.org/wiki/The_Incredible_Machine

+1 for TIM (love it!) - Paolo Tedesco
2
[+15] [2008-11-16 18:39:38] warren

Lots of strategy games fill that niche in my book, as do some card games (involving strategy, but a different kind):

  • Pinochle
  • Checkers
  • Backgammon
  • Poker
  • Risk
  • Settlers of Catan

And two computer games that pop to mind:

  • Civilization
  • Age of Empires

btw - I play very few non-strategic games, does anyone have good suggestions? - warren
I don't think you really need anything after Civilization. - MusiGenesis
in my mind, it really comes down to what needs to be done (Y) to get to X? I love civ's tech tree for that - warren
My favorite activity is borrowing lots of money from my neighbors and then utterly destroying them. Good family fun. - MusiGenesis
3
[+13] [2009-04-01 09:08:04] Arkain

Robocode [1]

[1] http://robocode.sourceforge.net/

(1) TankAI and DroidBattles are similar - dogbane
4
[+11] [2008-11-17 01:12:49] Dave Sherohman

How about when the game is programming: Core War [1]?

[1] http://corewars.org

Beat me to it. :-) - Jason Baker
Just love it :) Lets get on the hill sometime, Jason. - Mohit Nanda
5
[+9] [2008-11-25 18:21:41] BoltBait

Magic: The Gathering

http://www.wizards.com


(5) seriously, there's a stack, instancing, recursion, interfaces and a garbage collector in mtg. mtg is oo :) - annakata
(1) plus, it teaches you about optimization, research, object interaction, and critical thinking. So, I say that the only "lame" one here is Timothy. :P - BoltBait
Amazing game. I used to played it seriously, when i was younger! - George
Shameless plug and totally not programming related - if you're reading this, odds are you like StackOverflow and Magic. If so, head over to draw3cards.com - ripper234
6
[+8] [2008-11-16 20:57:11] Gene T

The Oreilly book, Mind Performance Hacks, cover sall kinda of mental activities: learning musical instruments, foreign languages, yoga and martial arts, memory /visualization tricks. Brain-calming and productivity music, etc

http://oreilly.com/catalog/9780596101534/index.html

also this one by Andy Hunt (Pragmatic programmer

http://pragprog.com/titles/ahptl/pragmatic-thinking-and-learning


7
[+8] [2008-11-16 23:26:06] Christian

http://www.sharpbrains.com/ provides a good overview over computer games that are designed to improve mental functioning. http://www.lumosity.com/ would be one website that provides good brain games that are scientifically designed to improve your mental functioning.

In general you games have to be challenging to help you improve your mind. You only learn something as long as the game gives you feedback that helps you to improve.


8
[+7] [2008-11-16 18:56:04] GalacticCowboy

Sudoku; keeps your logic skills sharp.


If you solve sudoku using trial and error, I'd prefer not to ever see/use any of your code... ;) - GalacticCowboy
(1) Sudoku causes my brain cells to commit suicide from the utter boredom it generates. Whatever happened to those grid games that involved language-based clues and so on? Those were actually interesting... - Peter Boughton
(2) Sudoku bored the crap out of me for awhile. Every time I did one I thought to myself "I could write a program to do this". So, I wrote a Sudoku solving program in C#. Once I verified that it could solve the most evil puzzles, I put it away and haven't done one since. - wcm
(2) Sudoku is like solving a rubik's cube. It's a job that computers were made to do. - Greg D
(1) How can a computer solve a rubik's cube without hands? - MusiGenesis
(1) In some way like this: youtube.com/watch?v=jkft2qaKv_o :) - Davide Gualano
I prefer KenKen - more variety. - finnw
@wcm: I experienced exactly the same as you did: Solving Sudokus until a program did the job for me. My implementation was in Excel/VBA though ;-) - CL23
9
[+6] [2008-11-16 18:44:54] Tomalak

Code Golf.

Not exactly a game in the traditional sense, but trying to do something in less lines, using all available language features and syntactic sugar, being creative is fun and education at the same time.


(1) Just don't do it with collaborative code that your colleagues have to try to debug! ;) - Ian Hickman
10
[+4] [2008-11-25 18:21:34] Alarion

While this isn't technically a game, I have found that it can help you to be "quick on your feet" when analyzing a given programming problem:

TopCoder [1]

You can fire up the competition "Arena" and practice or actually compete. I found it be a fun "game" when I wasn't in the mood to play a real "game" but still wanted to flex my brain a bit.

[1] http://www.topcoder.com

11
[+3] [2008-11-17 01:54:07] yacdmnky

Check out Dual N-Back [1]. It adjusts difficulty to keep your working memory at a constant level of challenge. There's also someone who maintains a list of puzzle games [2] to mix things up a little. What seems to be important is for the task or game to provide challenge without being overwhelming.

[1] http://brainworkshop.sourceforge.net/
[2] http://bigmoneylist.blogspot.com/2008/11/biggest-list-of-brain-training-games-on.html

12
[+2] [2008-11-16 23:33:02] mliesen
13
[+2] [2009-08-20 10:43:55] sabiland

Let's say games by ChronicLogic [1] !

  1. Pontifex [2]
  2. BridgeIt [3]
  3. Pontifex 2 [4]
  4. Gish [5]

And this one - for patience ;):

  1. Ski stunt simulator [6]
[1] http://www.chroniclogic.com/
[2] http://www.chroniclogic.com/index.htm?pontifex.htm
[3] http://www.chroniclogic.com/index.htm?bridgeit.htm
[4] http://www.chroniclogic.com/pontifex2.htm
[5] http://www.chroniclogic.com/gish.htm
[6] http://www.prelovac.com/vladimir/ski-stunt-simulator-extreme

(1) Engineering games like these are superb ways to waste a few hours. You never look at a bridge or support structure the same way again... - Lunatik
Totaly agreed :-) - sabiland
14
[+1] [2009-08-20 11:04:03] Bdiem

Active improvement while playing with: AntMe! [1] (.NET Corewars Clone)

[1] http://antme.net/English/

15
[+1] [2009-08-28 18:01:51] José Joel.

Go. Really hard game, requires a ton of strategy and logic, You need to think many moves ahead of Your oponnent, and every play matters, a single error can easily cost You the game.


16
[+1] [2009-10-11 03:43:55] ldigas

Quake. But you've gotta program it first (from scratch).


17
[+1] [2009-04-01 09:16:35] Anirudh Goel

Have you heard of Herbert? I was used by Microsoft's imagine cup for Algorithms round. It's a LOGO style robot, which understands three commands. Move Straight One Step - "S", turn 90 degrees clock wise "R", and turn 90 degrees counter clock wise "L". You were presented with a pattern which contains a pattern or a maze make of white dots and obstacles. You've to direct your robot in such a way that it is able to cover all the white dots in the maze in least amount of code. You get scores based on number of bytes you used in your code. Check out http://wildnoodles.com/index2.asp, though it's not officially supported now still you can find a work around and make it run on your machine. It's addictive!!!


18
[+1] [2009-04-01 09:17:00] Vatine

For a fun, fast-paced game with (some) programming components and (lots of) defensive coding, I play RoboRally.


19
[+1] [2009-08-20 10:25:26] Paolo Tedesco

I think that all intelligent games help you improve your mental skills, and therefore make you a better programmer (and person).

I would like to signal the board game Carcassonne [1], which also has an online version [2].

[1] http://en.wikipedia.org/wiki/Carcassonne%5F%28board%5Fgame%29
[2] http://www.brettspielwelt.de/Spiele/Carcassonne/?nation=en

Second this. Same with Catan and similar games; they require some critical thinking to learn, but are based on economies and a little bit of luck so they don't have the years-and-years learning curve of abstract games like Chess and Go. - Jesse Millikan
@Jesse Millikan: and moreover, in Chess and Go you cannot insult your opponents by accusing them of excessive luck or cheating, which is a major drawback in a game. - Paolo Tedesco
20
[+1] [2008-11-26 13:57:41] Timothy Khouri

Go is great, Chess also great... and then there is the best of all... Make your own MMORPG :)

I've made dozens... they never get far, but man it's fun! Seriously, you'll never program anything more intense or demanding in the real world than your own MMO. And I've several times learned skills and technologies from doing it.

I'm getting myself excited to make another one... I better stop thinking about it so that I can acutally do some real work :(


21
[+1] [2009-04-01 08:58:21] Dan Olson

I wouldn't say it improves your programming skills, but I find that Fantastic Contraption [1] is a game a lot of engineer-type people enjoy.

There was a game called MindRover a while back as well that was about building robots that would navigate courses or battle with one another, if I recall correctly. It was a lot like programming, unfortunately the site [2] seems to be down.

[1] http://www.fantasticcontraption.com
[2] http://www.cognitoy.com/

22
[+1] [2009-04-01 08:59:18] mouviciel

Sokoban [1], for developing problem-solving skills.

Pac-Man [2], for developing productivity skills under pressure.

[1] http://en.wikipedia.org/wiki/Sokoban
[2] http://en.wikipedia.org/wiki/Pac-Man

23
[+1] [2008-11-17 00:53:45] dj_segfault
24
[+1] [2008-11-25 18:14:57] Jeremy Frey

Not that useful for experienced programmers (fun though), but I've recommended CeeBot [1] to people who want to learn programming, and are mathematically inclined and/or visual learners. It teaches a handful of procedural and object-oriented programming skills by hand-holding users through simple programming challenges.

The problem is that it was always buggy as hell, wouldn't run on half my computers, and cost more money than I'm willing to spend on edutainment. But when it worked, it was great fun.

[1] http://www.ceebot.com/ceebot/index-e.php

25
[0] [2008-11-26 13:31:36] J.T. Hurley

Personally, I like Monopoly.

Monopoly tracks a lot of separate bits of information and passes them around from person to person. Some of it on the board, some in the players hands, some of it globally. Some of it rather complicated, like when a property can/should be built on.

One of my favorite mental exercises is implementing and re-implementing various parts of the game in data structures, one of my favorites being an implementation of the gameboard, player pieces, properties, properties owned, and houses and hotels built with a single list and Godel numbering.

Good luck!


26
[0] [2008-11-20 22:30:04] JB King

Logic problems, Sudoku, Bridge(both playing and reading newspaper columns about it), and solitaire for examples of non-computer games.

There are also various brain teasers that I enjoy to help keep my brain sharp in some respects as well.


27
[0] [2008-11-25 18:09:01] Bruce McGee

I don't know about improving your programming skills, but sometimes occupying myself with a mindless puzzle (like a Soma cube [1]) helps me work through a given programming or design problem. I just make sure to have a pencil and paper handy.

[1] http://en.wikipedia.org/wiki/Soma_cube

28
[0] [2009-04-01 08:52:13] community_owned

Currently poker and iphone games are very famous in gaming world.

While traveling, in school, or my be when it's too bored at home, almost all of us have played a mobile game at least once in lifetime. May be not the 100% of mobile phone subscribers are the mobile gamers, but the percentage is nowhere less than 90%.

Thanks Jay


29
[0] [2011-03-04 06:39:25] susan

um,i thinks that is true,for i have three games sites for kids,if you have kids you can have a try,i really can help the kids to be much more clever,for they will think about how to win,but they should not waste too much time on it,here are some sources games for girls [1]

[1] http://www.hotgamesforgirls.com

30
[0] [2011-05-06 16:10:08] gonzo_taylor

Anything where you work up a sweat should work. I like basketball myself. What does this have to do with programming? Well, for a long time, scientists didn't believe new brain cells could be generated. In recent years, they have discovered otherwise. Furthermore, physical activity is correlated with brain cell growth.


31
[0] [2011-08-17 09:45:45] Clement Bellot

I'm surprised nobody mentioned the GMod [1], especially with the wiremod [2].

Basically, it transforms the Source engine (Half-life 2, portal, TF2) into a multiplayer (or solo) sandbox.

With that you don't only have logic gates, but also an assembly programmable microprocessor and graphics card, and you can use all these to make automated cars, doors, and even spaceships (even though the space-build mode is a bit buggy).

And the whole game is mod-able in lua.

What else can you ask ?

[1] http://www.garrysmod.com/
[2] http://www.wiremod.com/

32
[0] [2009-10-11 03:23:38] community_owned

Correction, GO is originally a Chinese game invented long before Japan existed as a country.


33