The Games Programmers Play
An anonymous reader writes "Cort Stratton, a developer who has worked on graphics code for many first-party PS3 games, wrote an article about the kinds of games that appeal to programmers. He covers coding-friendly games of varying depth, mentioning basics like RoboRally, RoboSport and Frozen Synapse before moving on to more complex options. Quoting: 'On the surface, SpaceChem has nothing to do with programming; it's merely a futuristic puzzle game in which you build factories that convert one or more input molecules into one or more output molecules. Each factory contains a pair of independent molecule manipulators (the game calls them "waldos") which follow a fixed path through the work area. Waldos can grab, drop, and rotate molecules, make and break chemical bonds between atoms, request new input molecules and submit output molecules. ... Don't be fooled! This isn't a game about chemistry; it's actually the closest thing I've ever seen to a low-level SPU programming simulator! Each factory is an SPU running a single task. The two waldos are the SPU's dual execution pipelines. Moving and editing molecules is analogous to reading, writing and operating on data in local store.'"
I'm a programmer, and I play first person shooters. Not everybody likes to solve the same problems on their downtime as they do at work.
https://www.eff.org/https-everywhere
I always like the game Mastermind as a quick game to play when I have a few spare minutes.
Ryans Tutorials - A collection of technology tutorials.
They just play games with my emotions.
I've been a Linux coder professionally for about 15 years. I can't think of a single co-worker that plays video games. Only non-coders play such things.
Wikipedia and TV Tropes have more examples of these "programming games". But they forgot to mention WarioWare DIY, a tool for creating four- to eight-second microgames that runs on a Nintendo DS. The "dojo" missions are to complete the last line of a game's logic.
I've heard people talk about playing a game and being unable to see the game for the involuntary analysis of programming, organizational, or stylistic choices crowding on their brains.
And beta testing...God. You think you're getting paid to play games and it turns out you're getting paid to play *broken* games. And when something breaks you're not supposed to move on or work around it; your job is to break it again and again and again until you can document how, when, and maybe even why it breaks for the developers.
No, I truly pity those who program, write, or test for the gaming industry; and I suspect these maladies are common to all types of programmers in one degree or another.
SpaceChem is one of the best puzzle games I've ever played. If I did job interviews, I'd make the interviewee play it just to see how they approach that kind of problem.
I remember playing Chipwits when I was a kid. THat was definitely my first programming game.
I've heard people talk about playing a game and being unable to see the game for the involuntary analysis of programming, organizational, or stylistic choices crowding on their brains.
It happens to writers too. Eventually they end up unable to see the plot for the plot devices, character devices, etc. It ruins your life in the same way that TV Tropes allegedly does.
And when something breaks you're not supposed to move on or work around it; your job is to break it again and again and again until you can document how, when, and maybe even why it breaks for the developers.
Which is exactly what Aspies like me are good at.
For 17 years. Consoles from the 3DO to the PS3, PC from Windows 3.1 to 7.
I stopped playing most games in 2001. The only game I've played seriously in the last decade is Angband, and that only recently.
No mention of Portal/Portal II? Both great games. As a programmer, I would have to say that TFA doesn't really represent me. I think I have spent far more time playing Halo 3/ODST/Reach and Black Ops than any of the games mentioned.
This sig is definitive. Reality is frequently inaccurate.
I hack Wii games in my spare time. Cheat codes, like infinite life and infinite health but more complex.
It really is a game in itself. How will you find your health value? Is it a float or an integer? 16-bit or 32-bit integer? How can you make yourself invincible while still allowing enemies to die? What is this piece of ASM trying to do with my health value?
You can do some pretty crazy things. One fellow Wii hacker made the F-Zero GX game into a 3D game, by finding the camera object in memory and manipulating it so that it wiggles back and forth every frame, creating left- and right-eye images.
:(){
So odd... As you said, when a programmer (like me) wants to program. We CODE!
Games I have played in the last year (which I don't think have anything to do with me being a programmer) in no particular order:
I think I play those games for reasons non-programmers play them: they suit my taste & temperment. I think each programmer will have their own list of games they enjoy to play which, again, have nothing to do with being a programmer. 'Cause we can CODE if we want to scratch that itch. ;-)
The bitter lessons of a veteran coder: http://bitterprogrammer.blogspot.com
Haven't heard anyone mention RoboSport in a long time. I remember playing at a friend's house, taking turns carefully laying out our moves and then listening closely to his headphones as it processed the turn - it would play the sound effects for what was happening while processing the turn, but you couldn't actually watch until it was finished, which lead to great anticipation as you tried to figure out if that horrible death you just heard was your robot or your enemy's. I might have to check out Frozen Synapse to see how it stack's up - this kind of simultaneous turn-based game has seen precious little development over the years, and I found it quite enjoyable.
I set a Rube Goldberg machine up to play Magic Cube 4D for me.
I prefer games that do not feel like programming such as tower defense games like Sol Survivor or sandbox games like Just Cause 2.
I am a game programmer and I generally prefer console games, as hammy as possible (if things explode gratuitously, bonus points)..more like arcade genres, such as shmups, beat'em-ups, platformers and fighting. Although I play roguelikes as well, if that counts as programmer games (do they?). And I don't care if it's kiddy stuff, I indulge in pokemon when I get the time. I used to like console puzzles like Tetris, Puyopuyo or Panel de Pon, but I don't see anything new on the field since that Puzzle Quest thingy.
Then again, the type of games I make are either roguelike-ish or arcade-ish, and things do explode gratuitously, so maybe there's a relation there.
First "programming game" I think I ever played was the MECC classic, Robot Odyssey When I went to play it a number of years back it just made me recall how easy games are these days - I think I was able to get through this one faster as a kid than as an adult. Then again I was playing around a lot more this time instead of just trying to beat the game... Don't forget that Frozen Synapse is currently headlining the Humble Frozen Bundle! with about 4 days left to purchase!
"There are people who do not love their fellow human being, and I _hate_ people like that!" - Tom Lehrer
Sometimes working in a field ruins it as fun for a person. That is the reason I'm not a video game tester. I considered it as a career and I think I'd be pretty good. I've good problem solving skills, I know quite about about how computers and programming works so I can think logically about why a problem might occur and so on, and I enjoy games. However, testing is work, not fun. It is trying to break the games.
Well I'm worried that would make games not fun for me at home, and they are my favourite form of entertainment. As such it is not a career I'll ever pursue.
As an example I currently work doing systems and network support, and I rather like my work. However I've found I have little tolerance for system problems at home. I just want my shit to work. There was a time when I enjoyed messing with overclocking and so on and solving the problems could be fun. However I do computer problem solving at work now, at home I just want a system that runs well so I don't mess with it. It removed the fun from system building.
Of course not everyone is like me, some people can have work and fun be the same thing, but I'm not the only one like this.
Thanks for reading! A few clarifications:
My goal for this article was simply to draw some attention to a handful of games that distill some of the art of programming into an enjoyable gameplay mechanic. I never meant to imply that these are the only games programmers should ever play, and that if you don't love them you don't deserve to call yourself a REAL programmer. Believe me, I regularly play a pile of not-even-remotely-programming-related games; I've clocked more time into WoW and LoL than I care to admit. If you'd rather spend your downtime with an FPS, or an RPG, or maybe even IRL, great!
Nor was the list meant to be exhaustive. Don't get upset if I forgot your favorite programming game; instead, post a link! I've already been introduced to at least a dozen new games since the article was first posted.
This article doesn't mention Dwarf Fortress. This article is flawed.
This thread doesn't mention Dwarf Fortress. This thread is flawed.
Nethack or GTFO!
Part of the Second American Revolution!
Since I stare at a glowing rectangle for at least 8 hours a day, I tend to favor board games when it comes to my gaming habit...
I'm a programmer and I don't play games any more :(. Not sure what happened. In college, I damn near flunked out because I played Quake too much. But ever since I started working professionally (10 years now), I simply don't have the motivation to load up a game and play it.
Frozen Synapse and SpaceChem? What a coincidence! Both are part of the latest Humble Bundle! I wonder if the anonymous submitter knew that...
Careful with that SpaceChem game. It's a lot harder than you'd think at first, and you can lose many hours of your life per level on the later ones. I just barely pulled myself away from it, and I still feel the urge to start playing again, months later.
"If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
Manufactoria
http://pleasingfungus.com/
That is all.
You cannot mention programming games without bringing up Core Wars. The original programmers game.
Creeper World... one of my casual favorites.
duh its zachtronic industries that makes the game. he also makes a chip building game too. of course you advertise the one that costs something though.
The newt bites!
The newt bites!
The newt bites!
You die...
I am a coder, and I am interested in new thresholds of hyper-realism, or on the other hand, interesting artistic vision. I dont look for "coding' like activity
Coding is a game. It's a great big puzzle of interlocking pieces and shifting requirements that make a Rubik's Cube look like the primitive toy it is.
I enjoy what I do. Programming is far more challenging and fun than any artificial gaming environment I've ever encountered (despite many years of FPS gaming.)
That said, I've no interest in actual puzzle games. They have all the frustration of a debug session without the satisfaction of delivery to the users.
I do not fail; I succeed at finding out what does not work.
And enjoy programming games for fun ( http://geekhousegames.com ) away from my day job which is programming games for fun & mortgage payments ( http://www.firaxis.com ).
The only long-form PC game I consistently play is Team Fortress 2, but mainly at work where there is some civility in taunts since the coders, artists & QA members know they are just down the hall from each other.
New games played come in 2 forms...
1. iPhone games, usually recommend by other devs:
- "Goat Up", Llamasoft
- "Where's The Water", Disney
- "Train Yard", Matt Rix
2. Facebook games (I peek at for a week or so), recommended by CivWorld team...
- Triple Town ( http://apps.facebook.com/tripletown/ )
- Bush Whacker ( http://www.facebook.com/apps/application.php?id=10150142382830591 )
- Sims Social ( http://apps.facebook.com/thesimssocial )
Occasionally I get caught up in a console game (last one was Death Spank) but usually it's just the newer Pac-Man, or Tetris.
Next game I plan to buy... well there is an arcade auction happening in Baltimore this weekend and some of those machines are looking pretty nice. Also may pick up a Centipede I saw on Craigslist.
Yeah, I'm old. :D
I'm a developer, and I don't play any games. Total waste of time.
I play progress quest cause i don't have to do anything
Are you sure about that? Don't you think you are talking about SIMD rather than pipelining? Well, it has been a long time, but I was under the impression that SPEs are stripped of all branch prediction, pipelining etc to overcome the powerwall. Data transfer and execution is software pipelined, yes, but there is no level of pipelining in the hardware. I could be talking total bs though.
should have been called "games low level programmers play".
The guy who made SpaceChem released several other free games, mostly flash games. He calls the series "games for engineers". Very geeky cool.
The codex of alchemical engineering where you program robotic arms to assemble molecules.
The sequel: The codex of alchemical engineering magnum opus challenge
Bureau of steam engineering where you use steam valves and pipes to build control logic for steampunk battle robots.
A downloadable EXE game Ruckingenur II (requires Microsoft's DotNET 2.0 to be installed). The idea is that you use logic probes and stuff to hack electronic circuits. It's kinda cool and it's pretty realistic, but your options are fairly limited. It's more of a puzzle game than a simulator.
And then there's my favorite:
Kohctpyktop engineer of the people.
This one is definitely the geekiest and most intellectually sophisticated of them all. The idea of the game is that you have to build transistor circuits. You are given a blank playfield to draw circuitry, and the game does a full electric/logic simulation of your circuit. If the game board were arbitrarily large you could literally build an entire working CPU in there! If you manage complete the game you will have a very deep understanding of how computers work at the transistor level.
Unfortunately Kohctpyktop has almost no instructions, the help tab is a link to a tutorial video that is only marginally helpful, and it has a seriously steep learning curve. If anyone wants to give it a try be sure to use pause during the help video, it goes by really fast. You also need to know that you need to hold shift to switch from red to yellow silicon, and in delete mode hold shift to delete metal. For further help look for me in the Echo Hall chatroom on Kongregate. If I'm not there you can try asking for Kohctpyktop help in general chat - there are several Echo Hall regulars who know the game.
-
- - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
As a programmer, I typically find these "programming games" quickly overly constraining. A poor choice of expressiveness, and an inability to develop sophisticated control describes the vast majority from space chem to carnage heart to ogre.
Where's my text editor?
I can last a little while on games where I can actually program reasonably properly, but this leaves me cold as well because there's no practical value. If i was writing practical code, I'd be happier.
-josh
After coding (especially @ work/on the job) for HOURS, I don't need to "tie my brain up in knots" solving problems - I do & have done decades of that working doing programming/architecture.
So - When I want "downtime" fun/relaxation in gaming? 1st person shooters, rule!
APK
P.S.=> HUGE IdSoftware fan here (haven't bought a game since Doom III/Quake IV circa 2004-2007 or so in fact, & I only play those games still on occasion (because there is a fortune in 3rd party community developed modded weapons, maps, & a thriving online community to this day for them too)).
I recently saw the previews for RAGE here in the "Dead City" map & it looks awesome - especially in 720p HD (reminded me of the film "I AM LEGEND" actually):
http://www.youtube.com/watch?v=-XGo5BnfU2Y
* Fact is, I cannot wait until Doom 4 comes out because of the footage from RAGE!
(Mainly because John Carmack has said that it will be 3x as visually appealing as RAGE is in fact, & RAGE looks great - the idSoftware "tech5" engine is yet another "cut above the rest" as is per usual from idSoftware)...
... apk
Well, there's only three games I actually like:
- Braid (Modify the flow of time to solve puzzles: In this video, a lever opens a distant door for a short time, so the solution is to create two parallel timelines, one where you run to the lever and pull it and one where you run to the door and go through: http://www.youtube.com/watch?v=vUMYvD4d-_0&feature=related)
- Portal (Modify space using portals to solve puzzles: http://www.youtube.com/watch?v=TluRVBhmf8w)
- Minecraft ("Immortal Robinson Crusoe" simulation, do whatever you want: http://www.youtube.com/results?search_query=minecraft&aq=f)
Since Braid and Portal are games that you only play once and Minecraft is getting boring to me, I don't actually play anything right now: For me, a game has to present me with something new, but it seems that you only find such a game every couple of years.
I don't really see the point in "programmer" games: If I do real programming, the reward is something that actually does something and is useful to me and maybe other people. If I solve a programming challenge in a game, the reward is a "you win" message on the screen, which just makes it feel like I wasted my time.
Having said that, I must confess that I actually DID build a little 8 bit calculating thing in Minecraft, just to check out what you can do with the logic bits (in Minecraft you can dig out a special ore that you can use to make wires and NOR gates), but in retrospect I must say that it wasn't really a fulfilling thing to do.
So if I want to solve programming problems, I don't do it in a game.
... and currently I'm mostly playing World of Tanks and WWII Online ;-P
on my slashdot page. Next you'll be wisely advising me what games black people play, and what games people from Mississippi play, and what games used car salesmen play. If you really need to stereotype yourself because you're so smart, then I guess you can keep spawning anti-social rhetoric like this, but you may want to choose a forum where there is a less-large percentage of socially-aware geeks.
I was a gamer before I was a programmer, learning to program did not change my taste in games. that being said I'd rather play action-rpg games
Any sufficiently advanced incompetence is indistinguishable from malice.
"The Schemaverse is a space-based strategy game implemented entirely within a PostgreSQL database. Compete against other players using raw SQL commands to command your fleet."
Is anyone out there playing it?
You should check out Manufactoria: http://pleasingfungus.com/
It's by another guy, but very much in the same spirit.
Make a MMORPG world like Asheron's Call. Encourage people to bot. See what happens.
To me it was fun to see how far my PVP bot could get around the world, just running around randomly and fighting anything that got close to him.
It should also be designed to be an enjoyable screensaver if you click an option to turn off the hud.
Another game I thought of would have been a First Person Shooter, where you get a variety of different bots, and you need to write the AI for the bots that fight along side you.
God spoke to me
I just remembered: Carnage Heart for the PS1 and 2. You had to program giant robots for combat using a graphical programming environment.
I'm not just a programmer, I make video games for a living! I've been involved in Triple-A RPGs, a third person shooter, and recently, a kinect fitness game.
I play games on my iPhone. I play Dungeons of Dreadmore and Angband (both roguelikes). I enjoyed Portal, but haven't bothered playing Portal 2 yet. I spent years playing WoW, and I'll play the living crap out of Diablo III when it comes out. I like racing games, but I tend not to buy them; I don't have a racing wheel or the time to be good at the games. I loved Batman: Arkham Asylum, especially for the way the game solves such common game problems. I enjoy a lot of games both for the pure enjoyment of them and also to figure out how they solved certain problems common in my industry.
Really, the claim that these are 'games programmers play' is ridiculous. What about the sports programmers play? The foods programmers eat? Man, we're all just individual people. Today, I played a bit of Tiny Tower on my iPhone, and a card game called Ascension, and did a bike race in the afternoon. What does THAT mean?
What's that? We're all different? And there are many different kinds of programmers? And pigeonholing a group is the worst sort of abuse of statistics, AT BEST?
Abstractly, it sounds like the game might be neat, but that's a stupid title for the story.
Up until the end of wow days, I was writing and tweaking macros. I'll be honest it was incredibly fun to get castsequence macros for all types of moves. Even more fun for dual boxing where a healer would heal whomever the opponent was attacking while both of my toons would attack the same target. I used to play pvp and I loved it when people would complain "omg the bot has the flag" and hear someone else yell in response "yah but its kicking ass too." Also I wrote my own LUA add-ons to get events that used to alert me with a message, audible sound and spell icon when certain bonus spells had proc'd. For instance a druids natures grace has proc'd and the next cast was going to be instant cast. I used my 45 year old ass to qualify for arena titles and the paid arena tourney title as well. Gotta love it when and old guy with bad eyesight and some code can beat down a twitchy 15 year old kid with faster reflexes. Pity I got a temporary ban for botting in battlegrounds when all it was excellent macroing and lua. Rather than argue, I quit and saved a ton of money and time to do something else with my programming skills. fwiw, here is a 2v2 video which played solo with a guild mate. You can see the cast sequences on the keys. No UI mods here.
Well, good programmer should be able to come up with solutions even when his hands are tied with constraints. As for practical value - whatever makes you "happy", I guess.
Same with others, first person shooters... Counter Strike: Source