Avatar image for cookiemonster
#1 Posted by CookieMonster (2542 posts) -

So my friend has been teaching himself to code, but he is finding his online lessons pretty boring. I figured playing some video games centred around coding would be a nice change from his normal stuff.

I know about Quadrilateral Cowboy and Hacknet. Are they good?

Are there any others I could recommend?

Avatar image for bisonhero
#2 Posted by BisonHero (11387 posts) -

It's a little more abstract, but Human Resource Machine is basically about coding. In-universe you're not literally typing code, you're like, giving instructions to people or something, but still, the game is pretty much about coding.

Also, anything by Zachtronics is basically a programming game. SpaceChem, TIS-100 for sure are basically programming games, even if they're disguised as something else visually.

Avatar image for bill_mcneal
#3 Posted by Bill_McNeal (769 posts) -

Hack 'n' Slash

Avatar image for bollard
#4 Posted by Bollard (8010 posts) -

So my friend has been teaching himself to code, but he is finding his online lessons pretty boring. I figured playing some video games centred around coding would be a nice change from his normal stuff.

I know about Quadrilateral Cowboy and Hacknet. Are they good?

Are there any others I could recommend?

Hacknet, while being themed around hacking and also being a fun story is not related to coding at all. It's much closer to Uplink as you're mostly clicking buttons and don't actually type any code.

Quadrilateral Cowboy has you type simple command line prompt stuff, like calling functions and passing arguments. It's very basic but if your friend is getting in on the absolute ground level it would serve as a basic introduction, and I found the game pretty enjoyable too.

As @bisonhero said, the Zachtronics games do get very programming heavy. They're kinda like puzzle games specifically for programmers. In particular, TIS-100 and Shenzen-I/O are both games that have you writing a fictional assembly language on incredibly constrained fake (but very interesting) architectures. TIS-100 is basically a series of programming puzzles that are themed heavily around concurrency and Shenzen I/O has an actual story stringing together several data manipulation tasks (and it also gives you more control over the hardware elements you use). Both are very good for practicing the kind of logic puzzles you might need to solve in day-to-day programming, but also neither of them would teach you how to program in a specific language (and since they are so similar to assembly code, they won't teach you useful things like OOP or even functional programming).

Lastly you could have your friend look at something like hackmud. Now, at some point that game opens up to where you can literally just write code in javascript and inject it directly in to the game, but I have been playing for 2 hours and haven't reached that point yet. However, it's also a MUD (think online chatroom) and so I imagine it can be quite daunting to get into. The single player aspect is mostly messing around calling functions with arguments and experiencing a little narrative.

I find that a lot of "programming" games probably aren't great at teaching programming, but definitely could serve as a useful distraction from the lessons and also might motivate some of the problems you have to solve when coding. They're probably a lot more enjoyable than online lessons, anyway.

Avatar image for lavos
#5 Posted by Lavos (97 posts) -
Avatar image for bisonhero
#6 Posted by BisonHero (11387 posts) -

@cookiemonster: OK, clarification: do you want games that are like simplified coding puzzles (which is mostly what we've listed so far in this thread), or do you want games that are thematically about being a hacker/coder to make your friend feel better about doing cool coding shit without actually having to do a bunch of extra coding puzzles in their free time?

Avatar image for cheburashka
#7 Posted by cheburashka (7 posts) -

I don't know what he's using, but I found CodeAcademy to be as "fun" as learning can really get. Good pacing, though it barely skims the surface of the offered languages.

Avatar image for core1065
#8 Posted by core1065 (663 posts) -

The best way to learn how to code is by doing it. Work on something you have an interest in, develop a project and start working on it - the knowledge and experience will flow from there. The best advice a professor gave me is:Don't try to memorize rote programming knowledge, it will get you no-where in the programming world and that's what API's are for.

If he is a fan of gaming start working on building a game with a user friendly engine (game maker, unity, Unreal). If you're looking for a "fun" free course, try CS50. It's Harvard University's intro CS course and they even have a "intro to game development" course to boot.

(Just so you have a little info on my programming background - I'm a senior computer science student and i currently work in a computational biology lab as a researcher/programmer at the University of Minnesota - Twin Cities.)

Here's some links:

FREE COURSES (I can provide more if needed):

CS50's Introduction to Computer Science

CS50's Introduction to Game Development

Gameplay Programming for Video Game Designers

PAID COURSES (wait for a sale, price usually drops down to 10 dollars every few weeks):

The Unreal Engine Developer Course - Learn C++ & Make Games

Unreal Engine 4: How to Develop Your First Two Games

Unreal Engine 4: The Complete Beginner's Course

And there are plenty of YouTube resources - It'll suck at first but there are plenty of resources online and on Stackoverflow that will help. GOOD LUCK!

Avatar image for ben_h
#9 Posted by Ben_H (4094 posts) -

Also, anything by Zachtronics is basically a programming game. SpaceChem, TIS-100 for sure are basically programming games, even if they're disguised as something else visually.

There's also Shenzhen I/O by Zachtronics, but it's a hardware programming and not really educational as you need to know assembly to even play the game.

I love it though.

Avatar image for cookiemonster
#12 Posted by CookieMonster (2542 posts) -
Avatar image for wollywoo
#13 Posted by wollywoo (107 posts) -

Hmm, to be honest if someone doesn't like programming I don't know that video games will help. Games like Human Resource Machine are fun, but I don't know that it will improve their real coding skills except maybe in the very early stages if they are having trouble understanding things like variable assignments and while loops. But, perhaps packaging coding challenges in a video-game like way, where they're seen as puzzles or challenges instead of homework assignments, could help. I haven't really used it except just now, but coderbyte.com seems like it could be a good fit.

Avatar image for dstopia
#14 Edited by dstopia (287 posts) -

As a programmer, my recommendation is just find something to work on that you find interesting or fun. Programming is a tool, what you're doing with it is far more important than the tool itself. The world is full of self-taught programmers that learned how to code out of necessity for building something they had a clear need of.

I've tried Shenzhen I/O and TIS-100 and while they're very fun and they trigger the same parts of my brain that make programming fun for me, they're nowhere near close to what real programming is about. Yes, some of the logical aspects ARE there, but no amount of programming fake microcontroller-powered appliances with Shenzhen will teach you anything about making websites or videogames or whatever your friend is interested in. It will probably not teach you anything about microcontroller architectures either, and honestly, if you know NOTHING about programming and approach it with the intention of learning instead of treating it as a puzzle game, you'll get more frustrated than anything else.

Avatar image for tragicdeath
#15 Posted by tragicdeath (25 posts) -

For an actual coding game there's Screeps. It's an "MMO/strategy game" that has you using Javascript (so you'll need to already know about JS), to create creatures and procedures. I didn't get too far into it because of some computer issues I was having at the time.

https://store.steampowered.com/app/464350/Screeps/

As someone already mentioned - I highly recommend Human Resource Machine. If anything it'll teach you the core principles of coding, and they're good puzzles to warm up to for coding interviews.

Avatar image for loafofgame
#18 Posted by loafofgame (98 posts) -

As someone who is pretending to be a programmer and getting away with it at the moment, I would echo the other programmers and say that you should just start building stuff. Building an application (I don't have experience with making games) is very satisfying, because you're contantly solving problems and seeing results. But yeah, finding tutorials that aren't dry and boring can be pretty difficult. The company I work for offers all employees a PluralSight subscription, which offers very good video tutorials (with a focus on practical examples and learning by doing) on pretty much all the popular tools, frameworks and languages. But individual subscriptions are way too expensive to actually recommend it, although they do have a free trial.

Avatar image for dudeglove
#19 Posted by dudeglove (13419 posts) -

hacknet is a lot of fun but isn't what one would call coding. at best you're typing in single commands or changing elements but you're not creating any sort of logic or complex system. It's a very fun game though and the soundtrack is friggin great.