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?
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/0139550887Lemmings [1]
[1] http://www.elizium.nu/scripts/lemmings/Lots of strategy games fill that niche in my book, as do some card games (involving strategy, but a different kind):
And two computer games that pop to mind:
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
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.
Sudoku; keeps your logic skills sharp.
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.
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.comCheck 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/Let's say games by ChronicLogic [1] !
And this one - for patience ;):
[1] http://www.chroniclogic.com/Active improvement while playing with: AntMe! [1] (.NET Corewars Clone)
[1] http://antme.net/English/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.
Quake. But you've gotta program it first (from scratch).
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!!!
For a fun, fast-paced game with (some) programming components and (lots of) defensive coding, I play RoboRally.
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%29Go 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 :(
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.comSokoban [1], for developing problem-solving skills.
Pac-Man [2], for developing productivity skills under pressure.
[1] http://en.wikipedia.org/wiki/SokobanNot 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.phpPersonally, 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!
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.
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_cubeCurrently 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
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.comAnything 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.
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/Correction, GO is originally a Chinese game invented long before Japan existed as a country.