Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

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.'"

Agreed, any puzzle game is lame compared to the puzzles we face when programming.

To contribute anecdotal information, it seems that programmers (sample size: one, me) love racing games and NetHack [nethack.org] (actually a very big puzzle but so varied that it's hard to think of it as such). They spent some time playing sokoban [wikipedia.org], a much smaller puzzle. They rarely play programming related games with the exception of Core Wars [corewars.org] back in the '80s. They think Rubik's Cube is cool but can't remember anymore the solution studied

Personally * gaming and programming for me always had a dance in my life. I started programming because of computer games, and I started playing games regularly because of programming
* all games are interesting in their game mechanics, because I am an engineer and want to understand how it works.
* games where you can train real life principles make me smile, but they will not keep me playing it for long.
* I am more hardcore, than casual, so puzzles start to get boring f

I freaking/love/ SpaceChem. I work in web programming which has a far wider, but far shallower experience. When I go home, sometimes it is actually relaxing for me to play a beautiful deep puzzle rather than the complex fuckery that arises from a wide net.

Perhaps stereotyping your target audience is just a bad way to start an article about some products that can actually be pretty slick.

I'd love to try out SpaceChem. I downloaded the linux port. It crashed, and gave me 0 error message as to why. It did create a log file, but that was not in plaintext and it was too much work to figure out what it is/was.

I then tried the windows version under wine, it needed the.Net framework, which as expected failed to install. Anyways looked like an awesome game, too bad i can't play it. I was all ready to shell out $5-$10 for a copy.

now programming might include workflows, but it also includes objectifying or structuring, working with data and such.

and there is the zen of creativity vs. beauty of code.

that said, not all programmers do the same stuff; and not all programmers like the same aspects of the field they are working in. therefore, for somebody spacechem might even represent the most boring part of programming and he might see this more as of an electronics game, than a progra

What the hell is programming if not scripting? The only difference between PHP and C++ is syntax. Unlike compiled software, web applications use a number of languages (PHP/Perl/SQL/javascript/css/html). Lacking a compiler I rely on Apache error logs to debug. I also don't use an IDE (I prefer gedit with syntax highlighting to break up the monotony a bit). I also develop Delphi compiled apps, which I think is easier because of nice friendly compiler messages and the VCL. It gets trickier when I'm trying to i

If I had a compiler for PHP and I had a clue how to write a driver then I'm sure I could. C++ doesn't make a driver; the compiler does, and C++ is just a language. The reason why there is no compiler for PHP that can make a driver is that there is no need for it. Why make a driver using PHP when C++ works? Why make a web app with C++ when PHP works? Also, how many programmers out there actually write drivers in C++ or any other language anyway? You picked a pretty niche application to make whatever point yo

If your point is that writing a driver in PHP would be a pain, then I agree. PHP libraries are written for higher level tasks than C++, but if someone went to the (however pointless) trouble of first writing a compiler to make binaries from PHP and a library of low level utils, then I'm sure it would be as easy as C++. Actually PHP isn't that much different in syntax to C++. I dunno what dope AC that I originally replied to was smoking, but it must've been pretty cheap/nasty.

I don't think his point is that writing a driver in PHP would be a pain. Rather, writing a device driver in PHP would be impossible. The language has no mechanism or syntax for addressing memory locations directly.

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:

Portal

Starcraft II

Company of Heroes

Dragon Age

Mass Effect 2

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

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

Maybe it's this kind of attrition that consumes the fun, but maybe that's related to working for others for money all the day long and working for themselves in their spare time, which is little and has to be shared with a zillion of other things. So you end up delaying all the non essential activities and you discover there are a lot of them. Just look at the polish of the programs I deliver to my customers vs the one of the programs I only have to use myself.

I believe he meant: "Forsooth I couldst moderate thee with highest regard, yet nay! I shall reply upon the nonce instead. The accuracy of thine statement is nearly divine. Henceforth shall I shout to the heavens! Yea, thy words shall become mine, engraved forevermore upon the book of faces. A thousand pardons if my actions doth offend thee."

Well, as a programmer in the gaming industry, I can't say that holds true for me. Most of my my friends and co-workers are enthusiastic gamers as well. Granted, you get sick of the game (and sometimes the genre) that you're currently working on, but that doesn't dampen my enthusiasm for other games. I pretty much own most every console and handheld device there is (although I only bought a PSP because I wanted to show off the game I made) because I'm first and foremost a gamer at heart. Otherwise, I'd g

I mainly play WoW (when I'm board, or when I raid). Other than that, I play puzzle like games. I hate competitive games and FPS. I also spend a lot of time analyzing the rules of games and their consequences, both from a game play perspective and from a playability perspective.

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.

Indeed, I'd be inclined to think the kinds of games described in TFA would would appeal to non-programmers in the same way games like Guitar Hero and Rock Band appeal to non-musicians. Perhaps they could even inspire people to become interested in programming.

You may have touched on a key dichotomy. There is a category of people in any technical position (such as coding, physics, engineering) that get off work, and then need to unwind with junk TV or mindless video games. There is another category that get off work and want to keep doing mentally demanding work (no idea why, but possibly because they are that passionate about a field or they are addicted to brain exercise much like some people get addicted to physical exercise).

Not that I play a lot of Scrabble. And not that Scrabble isn't a good game.

I'm primarily a web apps designer/maintainer these days, and I'm enjoying learning more about the history of programming, and looking into lower level stuff like device drivers right now.. but as far as games go, I'm really looking forward to Skyrim and AC: Revelations.

The games I've enjoyed that are closest to programming would be MUDs. I'd often write little scripts/macros to automate away a lot of grinding. The last se

Wikipedia [wikipedia.org] and TV Tropes [tvtropes.org] 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

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 [tvtropes.org].

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.

In addition to the opening chapter of Tom Sawyer, where the title character tricks his peers into purchasing shares of his punishment, there is this [about.com], which seems to be relevant at least weekly for me.

Given Twain's prescience and his being born and dying the year of Halley's comet, I can only attribute the lack of a cult based on his works to his scathing critiques of superstition and organized religion.

It depends on why you enjoy playing games. If you enjoy immersion and escapism, unintended analysis might be problematic. In the same manner, would you find a magician's illusions as entertaining if you knew beforehand exactly how the trick was accomplished? For some people, it might ruin the 'magic', so to speak. For others, it might make the show even more fascinating to see all the behind the scenes mechanics of how illusions are presented. It probably depends on your personality.

Meh, I know how games work, but I still can get immersed in them. Maybe it's because I know well enough about how they work that I don't really have to have it crowding in on my brain.

It does frustrate me to see really crappy AI in games and know that I could do a better job (spent a few years as a teenager programming bots for Counter-Strike, and also messed about making Quake 3 mods for a while), but a good game is still a good game.

I guess you are right to an extent though. When I was a teenager I used t

My CS bots may have been rudimentary as you say (though out of all bots back then they were regarded as 2nd place on average - they had an awful lot of "minor crap" tweaks for things like radio communication, stealth, basic teamwork, grenades/flashbangs, etc) but they were still far better than the pap in many single player games today. It's very disappointing.

The simulating waves thing I was just imagining in 2D space, not even 3D. I wouldn't want to use pre-made algorithms, just mess around with my own id

While saying that I'm better than my friends at Tetris and pointing out I got all golds on GT5 wasn't strictly necessary (I just mentioned them because I thought some readers would think "yeah but you suck at games, so making an AI play better than yo would be easy), I guess I'll point out one thing which some might assume to be arrogant if they've never looked into race AI or racing physics:

Making an AI that races around a track consistently better than a human is already known to be quite simple. Even the

It depends on what's being programmed. If you are doing something you have passion for or even something cool and challenging, great. However if you are just maintaining some crusty old database system hooked into old DOS program written in PASCAL by some high school-dropout who interned there in the 80's because it is "too expensive" to port the data and rewrite it in a more modern language then it is probably not as creative, fun, or flexible.

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 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.

I agree with the AC, although I wouldn't have been so rude. Once you solve a level in Portal, the magic is gone. You will come back to it, and never have the fun "aha" moment again, because you already know the solution. This goes double for co-op, because one of you may know the solution and the other not... making it either an exercise in keeping your mouth shut for the experienced partner, or the Portal equivalent of power-leveling for the inexperienced partner. Neither is the most fun.

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 ma

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 S

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.

Or maybe it's just that racing and FPS games sell better. Todays younger generation tend to be an instant gratification one. Pressing a button and watching an enemy blow up is more fun for them than having to think.(not all, I'm generalising obviously but this observation comes from my experience working in a school)

First "programming game" I think I ever played was the MECC classic, Robot Odyssey [abandonia.com]
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! [humblebundle.com] with about 4 days left to purchase!

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 a

I played NetHack for 15 years or so, with two near-ascensions, but have found DungeonCrawl to be more absorbing over the past few years. Vastly more variety and chaos, a better UI (and I mean in console mode) with nav tools like auto-explore, and it's been much more actively maintained.
It's true what they say: NetHack doesn't care if you live or die, but Crawl has a preference. I haven't seen Gran Turismo Faroe Islands, though (that, er, _was_ what you mean by GTFO, ya?)

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 [frozensynapse.com] and SpaceChem [spacechemthegame.com]? What a coincidence! Both are part of the latest Humble Bundle [humblebundle.com]! I wonder if the anonymous submitter knew that...

Given that inclusion in the humble bundle = instant million times popularity multiplier, I would think that games being included and written about would be somewhat correlated. I got SpaceChem from the bundle yesterday, and just before reading this story I was emailing some university staff I know thinking that they might have a use for it:-P

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.

I started to play the game. Then I immediately got visions of my hardware and assembly courses at college. I decided to drop it, since between work and that game, my brain would never get a chance to relax. Beautiful game though. If I had a mind-numbing job I'd probably get pretty heavy into it.

A downloadable EXE game Ruckingenur II [zachtronic...stries.com] (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. [kongregate.com]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.

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.

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 [youtube.com])- Portal (Modify space using portals to solve puzzles: http://www.youtube.com/watch?v=TluRVBhmf8w [youtube.com])- Minecraft ("Immortal Robinson Crusoe" simul

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.

The professional programmers in the same building as me at work are currently playing a lot of GOW3 multiplayer modes. Sometimes they even let a hardware guy like me join them.;-) These are serious coders who do avionics where code bugs kill people.

I'm going to get modded down just like you... but the main reason you've experienced that is mostly because the gaming experience on Linux is really fucking shitty.

You of course are just a troll trying to be all high and mighty, when all you really do is show everyone your age, or lack there of. All you've really shown anyone is that you're a self absorbed douche.

So who are you Mr AC? 15 years of Linux coding puts you pretty much in it since the beginning of any point of usefulness out of it. There were

I'm not really a programmer, but I work in a scientific field, and I hack on my spare time. I'm not much into games either; in recent years I've taken up some board games and retro platformers, but mostly as a social activity. When I need time off from some intense technical work, I switch to another keyboard to play something. At best, I've been working on a new song and a new coding/electronics project at the same time, and each provides a break from the other.