Video Games: Gateway To a Programming Career?
Nerval's Lobster writes: Want more people to program? Encourage them to play more video games, at least according to Facebook CEO Mark Zuckerberg. In an online Q&A, Zuckerberg suggested that a lifetime spent playing video games could prep kids and young adults for careers as programmers. "I actually think giving people the opportunity to play around with different stuff is one of the best things you can do," he told the audience. "I definitely would not have gotten into programming if I hadn't played games as a kid." A handful of games, most notably Minecraft, already have a reputation for encouraging kids to not only think analytically, but also modify the gaming environment — the first steps toward actually wrestling with code.
Those of you who have done programming work in your career: did video games influence your path?
Not only did I learn to read because I wanted to play the Adventures of Spiderman Text-heavy adventure game, but I knew exactly what I wanted to do for a career from a very young age due to computer gaming exposure
When I started with computers, I had to bust my ass to get any time with any machine at all and there was nobody around with information or guidance or knowledge.
The first thing I did wasn't play video games. I learned about BBSes. I learned telephony, phreaking, networking. I learned BBS software. I learned people. I built a BBS. I built a multi-node BBS. Then I moved on to writing engines for websites to do things I needed (like financial transactions, databases, etc).
I started with computers around the age of twelve and didn't really get into video games a bit until my twenties and a lot until my thirties.
Meanwhile, I have seen kids in the last fifteen years primarily use the computer for porn, video games, and social networking... and that's all they do. Not once do they give two shits worth of thought about how things work or why they work or to start taking things apart and looking under the hood. Kids are raised as consumers of content; not creators. In fact, they are punished for being creators. Inventors. Discoverers. Hackers.
...gateway to an acting career?
My first forays into coding were specifically so I could write my own video games.
But on the other hand, I had a ton of friends who played way more video games than I did and none of them ended up programmers.
So correlation and causation are once again uncomfortable bedfellows.
I wanted to learn how to write hacks in Diablo 1 and that got me into the idea of programming. I never did figure it out but many years later and I'm a professional software developer now so it's all good.
Taught me that it's possible to write interesting non-trivial user interfaces on machines as primitive as Apple II
So it was 1993. My friends and I all loved video games, consoles, etc. In '92 we had all gotten hooked on Wolfenstien, and most of us already had computers cobbled together from things begged, borrowed and stolen. We spent days tweaking our config.sys and autoexec.bats to get the most of what little ram we had. (himem.sys, load TSR high) Then Doom came out.
We started doing dial up games almost immediately. Then one day one of our friends tells us about LANNING a game. We all bought into it, getting 3c509c's? Ahh those days, magelink for transferring maps, loading ipxodi, lots of fun. "WHO UNPLUGGED THE TERMINATOR?"
From there a lot of us went to tech support for the then blossoming ISP industry, and from that we went on to desktop support, and bigger and greater things. I owe my career to video games.
pwning n00bs != pwning teh codez matrix
Anyone who's been in a programming class in the last ten years knows it's absolutely swamped with kids going into "computer science" hoping to one day "program video games". And guess what? The video game development industry is so super-saturated with a glut of often-unqualified programmers, their wages, benefits and working conditions are usually worse than those for burger flippers.
Don't worry, Zuck-man, we know you want cheap, desperate labor. But seriously, fuck you.
All my early DOS knowledge came from learning how to configure my PC to play video games.
Being able to fully explain how to do things like mem /a off the top of my head not only landed me my first good IT job, but got me hired at a higher position than I was interviewing for at the time...
"There are people who do not love their fellow human being, and I _hate_ people like that!" - Tom Lehrer
I began playing video games of all types at a very young age which sparked my interest in computers. My interest in computers led me to take a CS class in HS where I had the realization that computers were more than just toys and tools for other (boring) work. I got my CS degree and now work as a software developer, and I still play a ton of video games as well.
I had an Amstrad CPC 6128, i could turn it on, type some BASIC code (from computer magazines) for some (basic!) games, then modifying it, then creating some original stuff... then end up doing JAVA/SQL, but that's not the point!
Antisthenes: "Wisdom begins by examining the words/names." - excuse my English, i am (slightly...) better with my Greek!
Probably usually the other way around. People who are disposed towards programming will also tend towards more computer gaming.
I don't think most of the teenage d-bags who think they are shocking by screaming racist nonsense on Xbox live will gravitate towards programming.
It's been a running gag for years that every single Computer Science major I knew going through college got into the field because they wanted to make games (though some deny it later on). Somewhere along the way, 98% of them realized that the games industry is a soul-sucking space with horrible deadlines, poor pay, and high rates of failure, so they decided to go for something else, but everyone I knew got into the field because they wanted to know how to make games.
And the reason they wanted to know how to make games? Because they played games and thought they had something to contribute, or else wanted to play the game they had in their head that no one else had made yet, or else they wanted to experience the joy of having someone else play their game. But all of that starts with having played games first.
The video game development industry is so super-saturated with a glut of often-unqualified programmers, their wages, benefits and working conditions are usually worse than those for burger flippers.
It's also filled with idiots like Curt Schilling who think it's perfectly okay to take money from the government while simultaneously lambasting those who take money from the government, who think it's okay to run a company completely out of money without giving any warning to shareholders, employees, etc.
One day when I was 7 years old a neighbor of mine showed me his Sinclair Spectrum 48. It was running a text-based version of PacMan on a color TV. I remember I as amazed such a tiny machine could run that game and shouted something like "wow you can run games in this thing!" My neighbor replied "My dad programmed it". His dad was not a professional programmer, he did it as a hobby and that definitively blew my mind away. That instant I realized that's what I wanted to do.
Kids are like "hey I wanna make video games for a living". Learn programming. Get a degree (maybe). Get a job in analytics database tuning or a writing app that hires people to pick up your laundry.
"I wanna be a hot shot lawyer like on Law and Order". Learn law. Learn more law. Pass a bar exam. Get accepted at a law firm ... probably third tier. Work 80 hour weeks filing paperwork.
"I wanna be a criminal forensics investigator like CSI". Learn criminal forensics. Get a job. Do lots of lab work. Never get called to "the field" because you're not a detective.
"I really do want to make video games for a living". Learn programming. Get a degree (maybe). Work 80 hour weeks. Ship a project that doesn't sell because it's one of the thousands of games without a AAA marketing budget. Ship a successful project. Get laid off because the publisher ran off with the profits.
Ah, career choices.
Breathing also a gateway to a programming career! Yes I also started fiddling with computers and playing video games at an early age, but so did all the other boys my age. We all had C64s, Amigas and later on PCs. But most didn't end up in IT, let alone software development or programming.
I'm sure today you'll have a harder time finding a 12 yr old kid without a game console, tablet or computer than with.
Mark Zuckerberg knows more than me, but personally "young nerdy kid who loves playing video games and thinks it's a first step towards programming" is one of those types I just can't stand. Playing video games doesn't help any more than using instagram or dicking around on your cell phone.
Slashdot: providing anti-social weirdos a soapbox, since 1997.
I've heard a TON of gamers proclaim that they want to make games, and I understand that completely. It's just like when I used to listen to metal in the 80s and decided that I wanted to play guitar. But just like people who want to play guitar, only a small percentage will really have any talent, or the motivation to work their ass off. You all may notice that I'm not a rock star, and it's likely for those reasons.
You can't blame the situation, as games aren't encouraging people to code any more than the radio forced me to pick up a guitar. But I disagree with what the article is getting at- like games are some sort of gateway drug to writing code.
People pick up books on C++ or Java or whatever for all kinds of reasons and from all sorts of backgrounds.
My first programs were on a TI-59 programmable calculator. There's a limited amount you can do with a 7-segment (with decimal point) 10 digit display.
But the FIRST program I still recall fondly creating from that time was on that device - it used up all available memory for a 2-player (with a simple AI able to play either player) space-battle game with a refueling base. It was also the BEST and LAST game I ever wrote. (As you might imagine, I'm not a gamer nor do I write games.)
Games seem to be a gateway into programming - but from everything I understand about the games programming industry (from a college aged son interested in such), games programming is cut-throat and speculative. I wouldn't consider it a career suitable for supporting a family - or if you have no other means of support. (My parents were disabled by the time I was out of college.)
Playing games preps you for a career in programming as much as driving a car preps you for being a mechanic.
BeauHD. Worst editor since kdawson.
When I was young getting a video game literally involved programming it. That pretty much was as much of a trial by fire as possible. Then after that getting commercial games generally involved piracy that was really really hard and later it involved hardware tweaking and noodling with that stupid config.sys crap to get the machine just so.
So popping a disk into an XBox or downloading content just isn't the same. Although I would be willing to bet that through xbox mods, xbox fixing, and cellphone repairs that there are a whole bunch of electrical engineers being born.
I would say that for those potential CS/engineers out there that the arduino type direction will be more fruitful.
Maybe taking a car ride would give kids the urge to professionally repair cars or drive them.
The right question might be: does experiencing with stuff help kids develop interest on said stuff?
Well if they end up liking the experience it will create interest otherwise no.
My first "programming" experience was using a "script editor" on a game i liked to play but arguably i already had the curiosity despite the game being the gateway, but a book could been used to achieve the same end result i am guessing.
I think that video games are/have been probably the most common mean for kids to get hands on computers therefore they have been the most common gateway.
Probably a good time to remind everyone that correlation does not imply causation. Although I may make an exception in this case since it finally justifies all those video games I played as a child. Take that, Mom!
Back 'in the day' it was a real struggle to get a game to play on your PC. When you finally finished wrestling with memory hungry TSR's, conflicting soundblaster drivers, weird VGA resolution issues, disk space issues, and various other tid-bits, you were a computer genius!
THAT is why PC gamers in the 90's turned out so 'awesome'. Of course if you were one of these super kids then you went and helped your friends, grandma, etc... Next thing you know you're standing out at school for your 'brilliance' in DOS. If you opened up 'edit' and were poking around a .cfg file many people considered you a god. That sort of steamrolls into a career...
Today's games usually just work, or if they don't your computer is too screwed to be fixed by poking around with cfg files (Virus's, malware, etc). The rise of consoles as well also 'just work'...
I don't think my cousin who smokes pot all day and plays PS4 is going to be a programmer any time soon.
Video games got me into computers because I decided I wanted to program a version of "Space Invaders" for the TRS-80 Model I, Level I.
I wrote an intro screen in BASIC, but it was too slow.
So I taught myself machine code and POKE'd it into memory, and got the intro screen working.
I never did finish writing the game, but I learned a lot about the basics of programming and how computers worked.
From that 14-year-old project, I was hooked; taking Computer Science in University became an obvious choice.
I do not fail; I succeed at finding out what does not work.
I think my first programming attempt was recreating pong on a timex zx80 that I had checked out from the library.
love is just extroverted narcissism
I'm only 27 but I started playing computer games when I was really, really little and the games came on 5.25" floppy disks. I never had a console, only computers.
I never wanted to actually be a video game programmer, but computer games are what made me so interested in computers in general. I definitely did my fair share of video game hacking and modification and reverse engineering as well as making helper tools and scripts for myself and my friends.
I went into a Software Engineering program in college because of this interest and have been a software developer for 5 years now and it's been great.
...is a really well-done TRON MMO. Player-characters are digitized users, hence they have "User Power", which they exercise in the form of in-game scripting.
The scripting sandbox will need to have protections of course...especially cpu cycle protections...the script runs in game-time not real-time so players can't bog down the server with infinite loops....and there is are tight memory and resource constraints. Basically...the scripting engine only manipulates in-game constructs, not low-level code, so players can't actually hack each other (apart from what they are supposed to be doing in PVP).
I would SO shell out $15 a month for this.
It will never happen. Even if we ever did get a TRON MMO, it would be a rushed-out turd with little more than TRON art slapped on top of a prefab MMO engine, with the standard set of worn-out grind mechanics.
Why would anything trust what Suckerberg says? He just wants lots of cheap labor to prop up his billions in net worth.
Because sitting around playing video games all day is *exactly* like a career as a programmer. If you like one, you'll *love* the other.
Sheesh, evil *and* a jerk. -- Jade
I mostly got started in programming from using LOGO on the old Apple IIg computers starting in 3rd grade. I played video games a little but I'm pretty sure that is correlation, not causality. I also learned a lot by using an HP-48 in my math classes instead of the "required" TI-82 starting in high school... math teachers all insisted that this was a bad idea because I would need to create my own programs instead of using the ones provided with the teaching materials... but I think I actually learned a lot more BECAUSE I wrote my own programs that were much better than the junk everyone else just copied from the book without even understanding what it was doing. What did video games teach me? Not much. I suppose I learned a bit about geography from carmen sandiego.
Dedicated 9600bps wire to Tektronix 4013 storage-tube display outside the machine room. When the game was running, enquiring cursor-hairs location constantly was enough I/O to make spinning tape drives in the machine room stutter. The game was simple, infuriating and fun, but what really piqued my interest was wondering what was going on under the covers to make a "big" system react that way. Definitely a draw to and influence on my pursuing CS.
Programming in pseudo-C for a MUD did it for me, although I had been playing with computers for years starting with Apple II and C64 BASIC for awhile.
I had an Atari 2600 with 30 cartridges as a preteen and did BASIC programming on the Commodore 64. Many years later, I got a testing job at a video game company called Accolade, which got bought out by Infrogrames, which bought Hasbro Interactive, which owned the IP rights for Atari. After the company relocated from San Jose to Sunnyvale and renamed itself Atari, I was a tester for three years and became a lead tester responsible for 10 titles for the next three years.
I also went back to school to earn my IT certifications and learn computer programming because testing video games was a dead end job financially. Made the president's honor list for graduating with a 4.0 GPA in my major while two taking two classes per semester, working 80 hours per week and occasionally teaching Sunday school. Somehow I spent the next 10 years in help desk support without doing any professional programming, making more money than I did as a tester while only working 40 hours per week.
I'm doing computer security and learning Powershell scripting in my current job. I use Python and the LAMP stack for websites at home. I'm more of a script monkey than a programmer these days. Maybe that will change as I get my security certifications and do more programming on the job.
Definitely my playing of interactive fiction led to my creation of interactive fiction which in turn led to my career as a software developer.
People over 45 (like myself) tend to think that learning to operate a computer is an educational experience. It isn't. It was at least mildly educational when we were kids... because the first thing you saw when you hit the "on" switch was a shell for a BASIC interpreter, or something similar. Now the first thing you see are *pictures*, which you point at, like a three-year-old at a candy store.
Even as late as the mid-90s, you would hear a lot of talk about "computer literacy"-- the idea that operating a computer was a core skill, like reading and writing. You don't hear that phrase much any more, "computer literacy". You might as well speak of "microwave literacy" or "Netflix literacy". Yes, there is technically some "learning" involved when you fire up a microwave or Netflix-- you do need to learn which buttons to push-- but it's a tiny area of knowledge which doesn't lead to anything else. And the same is true, I think, of video games.
At the moment, I work with a lot of inner-city teenagers (most of them from seriously dysfunctional homes and communities, most of them "educated" by Chicago Public Schools). ALL of them have computers, tablets, phones. ALL of them can operate their devices like a champion (and most of them love video games). Not one of them, so far, has become a computer programmer.
I got my start with Starseige:Tribes (1998), which offered a profusion of client-side scripting capabilities for players.
My favorite example of its scope is "Hudtris", an implementation of Tetris that you could play if bored while defending the flag. Custom huds, communication trees, and automatic inventory management were also common.
It didn't lead to anything professionally speaking, but it definitely kicked off interest.
I typed out something longer and accidentally navigated away. I've had an interest in programming for a healthy portion of my life. Client side automation is/was fascinating. Writing "hacks" arguably got me into programming. The demo scene is full of brilliant people, seeing what those guys do is so cool, it had a profound influence on me. Writing mods for video games held my interest for a time, most of all I really like(d) seeing how things work. I recall the glee the first time I read some comments where a programmer (in RTCW iirc something to the effect of "this part is gay and I always hated it") was lamenting the death animation where players would lay down and the remarks about about how terrible it was. I've found codesniffers to be neat for style guidelines.
Games that simulate programming, processes, or even hacking I haven't found to be very enjoyable, I want to like them more but they're just a toy when I can do the real deal. I don't want to imply that they're objectively not fun, it's more that when I'm not programming I'd rather not be play programming, I like to get my mind off of things. Memory editing is so much fun.
My recent goto for "hacking" stuff has been tampermonkey (very similar to greasemonkey but for Chrome, yes I know boo hiss - best developer tools around though) I wrote something to snag all the dropdown values on a page from a salesforce application. The product was prototyped and initially built out on salesforce and finally in Java. One of our guys was going through the page manually and writing a spec with the options, to top it off all the dropdowns aren't standard selects under the hood, they're javascript encoded value abominations solely there to hamper scraping. After some tinkering I got all the values to dump to the console log so it became a copy paste job instead of typing.
Inspiration is good, it spurs one on, and the more people exposed to it I consider a good thing. If creative young minds find inspiration in Minecraft, excellent. The engines today are capable (games or films) and the tooling is accessible. Although I think the trend is for games is less customization through traditional mod channels with the rise of DLC. Like what's happening with movies and music, there is more but fewer defining stuff, like how Star Wars was in the theaters for a year and how so many people saw it, how many present day films boast that?
Man blir trött av att gå och göra ingenting.
My early experiences were the old Atari VCS (2600) and VCS stood for video computer system. I was fascinated by the pixels and the idea of a TV being interactive.
I wanted control of the pixels.
Later, in school, I got to work on Apple ][ computers, and those just begged to be programmed. Gaming can initiate the desire, but so can a lot of other computer driven things these days.
It is not prep directly.
Indirectly, games can be prep. For a few friends and I, cracking copy protection got us into 6502 machine and later on, Assembly language. We would use the monitor to see what was going on. Reading the ROM listing told us a lot more.
BASIC is slow, and that too drove learning more. To get the real magic out of the old machines, one has to know stuff. We made games, played them and learned. Utility type programming was good too. One such program generated book reports with just a few picks and keyboard input.
Just playing, unless the game incorporates programming concepts, is not meaningful. The ability of games and other interactive things can spark the desire to build and control.
The latter leads to activities that do serve as prep.
Blogging because I can...
No video game experience necessary to work on big iron (especially where there were no video games to begin with) when I got started (first machine had a drum memory, a dinosaur even in its day :-)) Now get off my lawn.
When I worked in the video game industry in Silicon Valley, management always told us that we could get a job clearning toilets at Taco Bell if we didn't like our pay and work condiitions. One of the testers did that after discovering he could make more money, get better benefits and work a saner schedule at Taco Bell. Management stopped mentioning Taco Bell after that.
Those of you who have done programming work in your career: did video games influence your path?
Not really. My dad was the one who set me on this career track the day he came home with a Amstrad CPC 646 when I was 6. It came with one game on casette (my dad bought that extra), a book on BASIC in English (which was not my native language), and an insatiable curiousity (although that might have been there at the time). I was lost in the book at the point where it explained how to draw a circle on the screen, but I pounded in the code and started playing with the variables in and before those weird sin() and cos() functions.
And yes, I played videogames. I saved up months worth of allowance (money to buy candy, hey, I was 6) for that dinky little joystick, but I spent more time playing around with it than actually playing videogames on it.
When I was 12 I saved up for a "real" computer. An 8086 with 640KB of memory, and after I got used to working with DOS, floppies and a hard drive with a giant 20MB of space, I bought books on programming for the PC. Yes, I also played videogames, but it was the programming that fascinated me. Making that computer do things for me, albeit very useless but that wasn't the issue, it was doing things I had told it to do. I learned how the machine worked, what memory addresses were special, what interrupts were, ... It was a fantastic journey.
By the time I was 17 a friend of mine introduced me to Linux, and it didn't take long for me to make the switch. A program crashing wouldn't take down the whole operating system anymore, and best of all, it was free (gratis), came with a compiler (again free), and it came with everything you ever wanted in documentation, and if that failed, there was the source code. I played games... I had to dual boot for it, but I played games and even organized a small LAN party with friends in the basement and learned the basics of networking as I went along. When the internet became a thing in my country I could e-mail people around half the globe about a bug in a program, send a patch file, download the source code to something I wanted to try, and learned something new every day.
I'm sad for a lot of the programmers graduating today. The fact that the phone in my pocket has thousands of times the resources of that old 8086 of mine means that inefficient code comes at a smaller cost for small programs. And sure, it doesn't matter in small programs, but when they start writing real code it shows and often in painful ways. Instead of learning how to program, they've learned how to play games. Aside from the graphics card, there's no real need for adding something to a desktop machine anymore, and even if it were it's all pretty much (actually working) plug and play these days. There's no incentive for people who play games anymore to tinker with a machine and learn how it works.
As time has progressed I've seen less and less interns passionate about computing, and more and more people who say "I went in IT because I'm good with the Internet, like chatting and playing games.". Oh, there's a big buzz around the usual hot topics, like "social", "big data", "cloud", "internet of things" and whatnot, and I'm not claiming that's a bad thing, after all times have changed and everyone adapts new models and technology, but still... There's few who are interested in the machine, and how to really make it do things. When a kid tells you a database with 2GB of data in it is "big data" and we should be putting that shit in "the cloud" I start wondering about the future. There are exceptions, but far and few in between.
And yes, as the gray hairs on my head have started to become quite numerous, I still play videogames. But I still spend most of my time with the machine doing other fun things.
Games could be prep for programming, but not for most of the very few who realize "Games are programs... I could write them, too".
Most of them will still lack logic, critical thinking, and math skills necessary for even most basic programming, let alone the often complex tasks required in modern games. Let's face it, we're not talking about simple games, we're talking about FPS games. Say "rendering engine", "frame buffer", "shader", or "vector" to them, and their eyes glaze over in sudden confusion and disinterest. The games they'd want to make don't give an accurate impression of what it takes to produce them, and the video card specs they obsess over are just numbers to them. Aside from that, there are many distinct roles involved with producing a game, which they could realize if they ever bothered to look at the game's credits.
Sure, there are "game programming" degrees available, but to me they sound pretty crap, with more focus on visuals than code. I know someone who got that degree from DeVry, and they didn't cover threading or networking. He came out as more of a digital artist than a programmer.
Be born into a family with money and connections.
If not, be really, REALLY lucky.
I first got into programming through a real-life card game—which I realized I could play much more cheaply, frequently, and competitively online through IRC. Once on IRC I discovered client-side scripting and started writing my own. Hanging out on IRC led me to other channels, including file-sharing channels where people traded these things called ROMs—memory dumps of old arcade and console games—and played them on emulators. Then I became interested in how all that worked and that's about the time I bought my first book on C. So yes, video games were a catalyst for me to learn more about the inner workings of computers.
I'm not quite sure if it's related, but I've played a lot of video games when I was a kid. And now I'm always getting in trouble with my bosses for some reason...
P.S.: My favorite video games were the Mega Man games.
Get free satoshi (Bitcoin) and Dogecoins
Hey, I'm 44 you insensitive clod! I had the same experience as you. I wanted a C64 but got a TI-994a. I loved TI Basic though and did what I could with it. Later I got a c64 and later again an Amiga etc. But yeah, some of us born at the start of the 70's have a keen understanding of computers too, it's not just limited to you 60's folks...
Wanting to crack copy protection and write trainers is what led to me learn x86 assesmbly, specifically 80386 assembly.
That understanding of assembly gave me a solid foundation for the rest of my career. Once you understand interupts and memory registers, you can grasp the basics of everything from applications, to networking to storage systems. Fundamentally they are all doing the same thing.... reading something from one memory register, modifying it with the contents of another memory register, and pushing the results to somewhere else.
I have been addicted to Video Games since 1980 with PacMan. In 1987 I played a majority of the quality games out. I said,"Hey, I'm bored, and I want to make games since they don't have action RPG, and no big online RPGs." So I was right with the future of gaming, started coding a MMORPG somewhere around 1992, and got a lot done, but I couldn't figure out the networking. Video games most definitely got me interested in coding.
God spoke to me
This mentality MIGHT have been true many years ago where computers were exotic enough that you needed some level of expertise to even operate the computers enough to the point where you could RUN the games - but preparing us to code? No. Are we to conclude that playing Candy Crush Saga 8 hours a day is actually beneficial because this is preparing us for a career as a developer?
Business - and personal interest. Games don't do what I want, which is support other things I do in life. Business programming does by giving me money and personal programming by eliminating repetitive but complex stuff.
Keep in mind this is about getting into programming. So, 70's.
I know that a lot of my initial programming experience came from the Star Craft map editor. Event-oriented programming, nested logic loops, the use of counters in interesting methods, I think the basic map editors with limited tools provides a nice sandbox for learning algorithm design and logic modeling. Unfortunately, by the time Blizzard got to War Craft 3, the editor was as complex as most IDEs that I've worked with, so the barrier to entry seems much higher now.
Enjoying games doesn't mean you will enjoy programming, just like enjoying eating doesn't mean you will enjoy cooking. Though there might be some exceptions. People who enjoy things like Spacechem might be meant to be programmers.
In 1981 I played the pacman clone 'Munchkin' on a friend's Philips Videopac game computer.
I was hooked, and asked my father for a 'game computer.'
He refused and said "We'll get a real computer instead."
I asked him "What is a real computer?"
And he responded: "With a real computer you can make your OWN games."
We got a Sinclair ZX Spectrum, and today I have my own indie game company and had a hit-game on the Appstore, reaching #1 iPad app in many countries.
Games got me into programming.
Bram Stolk http://stolk.org/tlctc/
If it wasn't for the map editor in Duke Nukem 3d I may not have ever gotten into programming. I found great joy in creating maps and eventually branched out to c++.
I definitely would not have gotten into programming if I hadn't played games as a kid.
It is impossible to state that as fact. It is quite possible another cause may have set him on the same path. One can state the positive, "Gaming as a kid caused me to be interested in programming", but the negative is probably not accurate. If he didn't game maybe he would have been more interested in math which may have been the cause of his interest in programming.
There is no doubt that Zuckerberg is smart guy who did the right thing, in the right place and at the right time. But that's it. His views on what is or is not good to teach children deserve no more credit than just about anybody else's.
Some of these posts makes me wonder what has happened to nerds...
I was twelve when we bought a tandy pc (TRS-80)..got into zork on a friends Atari PC, so my dad picked up a book (something like "How to Write Text Adventures in BASIC) and that was the start of a very long and wonderful love affair and career.
"Evil man makes you kill me...evil man makes me kill you..even tho..we're just families apart.."
However, the focus at improving a task repetitively helped me enormously, and I have video games to thank for that.
In the future, I would want to not be isolated from my friends in the Space Station.
I am a programmer for a AAA video game studio.
When I was young, my parents encouraged me to love and play video games, but they limited my play time, and they didn't buy many games. I probably got a new game an average once every 3 years.
They did however let me spend almost unlimited time programming my own games. And when I asked for new games, they would say "games are so expensive. Why don't you program your own?"
My programming skills definitely benefited from this. Many of my friends had more, newer, and cooler games than me. But hey, I'm happier now.
I think the impulse that led me to programming is related to the impulse that leads me to like video games but I can't say that one led to the other.
QuakeC got many into the industry.
Particularly with certain Washington and Wisconson-based companies.
I'm a 47 year old IT instructor at a technical high school. I started out with the usual path for nerds of my age, TRS-80 Model I at age 12, then a Model III and COCO I/II, learned how to program my friend's TI99/4A's and Commodores and finally resting in the IBM PC world. However, while we all played a few games here and there the driving force was writing utilities to get our computers to do stuff for us (arcades had way cooler games than home computers at the time). Modem use (wrote a HAM RTTY/CW BBS when I was 14), RS-232, serial to parallel conversion, relays, stepper motors, electronics, etc.. was our tinkering of choice. What was common amongst all computers back then was BASIC and ASM, so we all learned to program to do this cool stuff. Fast forward to today and none of this matters to kids ... none of it. You can't really blame them as M$ has not included obvious programming tools with their OS' since DOS 6.22. However, gaming is a huge driving force with them. So, to teach programming I use game creation as a means to keep them interested. Many of my students tell me that after the programming course they look at their games differently ... visualizing the underlying code that may be driving what they see on the screen. Once they make this connection they are more apt to keep with a programming curriculum in college or programming simply as a hobby.
When I was a kid playing games on a PC was hard. You had to learn DOS, keep enough memory free, install sound card drivers after properly setting the DIP switches and avoiding COM port conflicts that made your mouse play music when you used it. Sometimes you had to tweak BAT files to get a game to install, others required manually using pkzip.
Then you learned how to make boot disks with a bare minimum system or crafted your own multiboot setup. JUST TO PLAY. We were motivated, we had to be. Now kids just tap an icon and punch in their password, done. There's no learning required. Sure they're comfortable with web pages but they don't just pick up HTML and JavaScript unless already inclined. Games no longer LEAD to understanding nor require it, they're simply diversions. As soon as they get bored it's back on Pinterest or Netflix.
I'm glad I got into computers when I did because at that time playing games truly lead to learning.
Cwm, fjord-bank glyphs vext quiz
My take is that those that are truly successful in CompSci have both a love of the utility that computers have AND the escapism that they enable through games and play generally.
Back when I was 8 or so, I had my first exposure to video games at the hotel we happened to be staying at in Anaheim outside of Disneyland. Asteroids, mostly. I was hooked. Within the next 2 years, I'd found a way to buy my first computer (a used Tandy Model 1 with tape drive--yep, like I said, I'm old). I whiled away my afternoons loading games off of tape and editing their sources to figure out how to cheat at them.
Later I traded up to a Commodore 64, then a Mac SE, and HyperCard got me through high school (along with a very early Casio graphing calculator). I wrote little games, demos, and all kinds of other mostly-worthless junk in BASIC and HyperTalk. I wasn't a particularly great student (in particular, I was spectacularly lazy), but I got a fair start learning the first three of what I call the five basic CS topics:
By the end of HS:
1. Substitution - Using variables in place of concrete values
2. Iteration - things like for...next loops
3. Problem Decomposition - breaking things down into component parts like functions/subs/whatever
Not until later:
4. Object-Orientation - binding data with its associated configuration (aka code to everyone else)
5. Recursion - writing routines that call themselves and enable decent into hierarchies
(Feel free to argue whether things like algorithm analysis, data structures, state machines, and whatnot are separate or fall into these categories--the reader obviously knows how I feel about it)
So by the time I was done with high school, and almost entirely without any kind of formal training, I was decently grounded in 1-3 mostly on my love of video games as a motivator. Soon after, however, my ridiculous lazy streak kicked in, and you really can't get to advanced topics while being profoundly lazy. I got to university and had my proverbial ass handed to me--brick walled on differential equations, too lazy to write anything of any substance, and what killed me utterly was that it was clear I had no clue how to sell my ideas to others and make them a reality (thanks to the Intel internal bureaucracy for that). ...So I dropped out and sold computers for a year. I did pretty well at it, and figured out how to sell stuff (a skill which has since served me well in professional life). I fell out of love with computer games, however, as it made little sense to spend so much money buying hardware to pirate games and fight win95 when the PS1 made playing games SO EASY (and it made more money for the retailer anyway--margins on computers were razor-thin). But I loved this Linux thing I started messing around with back in 1993--you could examine the code if you want and run sessions for a dozen people off commodity PC hardware (which itself could just barely run Win95). It was awesome--efficient, productive, and open to all who had the skill. ...and I really didn't have the skill, but I again had the motivation to get it. I took networking classes, moved to Silicon Valley during the dot-com boom (you mean I can work with Linux FOR A LIVING? Sign me up!), and preached my gospel of computer gaming being a waste of time and resources for several years until one day a coworker said the following:
"I like computers, but if I don't play games, then computers become entirely work and then I won't like computers anymore."
It wasn't just about productivity and efficiency anymore, and it wasn't about being a timesuck and an escape, either; it was about maintaining moderate motivation--to love computers for both their own utility AND for the entertainment value of loving a good hack and getting sucked into a different world. Both, not either by themselves, and they're not mutually-exclusive.
I eventually restarted my college career and graduated with my CompSci bachelor's from San Jose State in 2008--16 y
"Time flies like an arrow; fruit flies like a banana." --Groucho Marx
When I started with computers, I had to bust my ass to get any time with any machine at all and there was nobody around with information or guidance or knowledge.
The first thing I did wasn't play video games. I learned about BBSes. I learned telephony, phreaking, networking. I learned BBS software. I learned people. I built a BBS. I built a multi-node BBS. Then I moved on to writing engines for websites to do things I needed (like financial transactions, databases, etc).
I started with computers around the age of twelve and didn't really get into video games a bit until my twenties and a lot until my thirties.
Meanwhile, I have seen kids in the last fifteen years primarily use the computer for porn, video games, and social networking... and that's all they do. Not once do they give two shits worth of thought about how things work or why they work or to start taking things apart and looking under the hood. Kids are raised as consumers of content; not creators. In fact, they are punished for being creators. Inventors. Discoverers. Hackers.
Most of today's games don't have the same design. They're not really presenting you with intellectual puzzles for the most part, so much as advancing to the next level. You aren't having to figure out how not to be eaten by a grue, and even mazes are rare in today's games--things that require real use of thought or memory or other mental ability rather than just reaching for the next reward.
I'm almost 40. I've got a year left on my bachelors in cs. I've been playing video games my entire life. It's been the driving factor in everything I've ever learned about computers and programming. It took me a long time but I'm almost done with school. I want to make games but realism set in ages ago. I intend to get a boring ass job (most of them sound dreadfully boring... the only large company hiring programmers that's less than an hour drive from where I live makes accounting software (*zzzzz.....*) and call games a hobby.
The students (pretty much all of them) I've met along the way and got to know: a guy who decided to go into cs after he finished his math major he is a body builder who decided to practice an hour of programming a day... his subject matter? games. He's a better programmer than me, and smarter. A guy who just graduated, he got into cs because he liked games. (not much else to say about him I guess). Another guy who got a degree in sociology from a prestigious school... hated it, and came back to a less prestigious school(mine) to grab a masters in cs. When I first met him, he was showing his tower defense game to someone. Smart guy, aces every class. ... Another guy who spent my capstone class playing games.. knew games... did games get him into programming? well he started as a games and simulations major before transferring to the cs program because he had to take the same exact classes and he hated the art classes.
I honestly haven't met many other students.
In my experience and in my opinion from that experience, games draw people to programming. At least, it's a pathway, a gateway as the post title describes it.
When I started getting bored of the popular gaming consoles of the time (Nintendo, Super Nintendo, Sega Genesis, etc), I started playing the shareware games that my dad had downloaded from the BBS's on his computer. These were simple games, games like the original Duke Nukem (the platformer), Crystal Caves, Cosmos's Cosmic Adventure, Space Quest, Leisure Suit Larry (when my dad wasn't home ;) ), the Commander Keen series, and eventually Wolfenstein. Then came Doom.
Doom was a game changer for me. Aside from the graphics (which were amazing for the time), I found the concept of multiplayer fascinating. Playing Doom with a friend over the modem, on two separate machines, located in two separate houses was the coolest thing my pre-adolescent mind could fathom...I was hooked. I spread around copies of Doom to whoever I could find that had a computer capable of playing it. In order to play Doom with others, they needed a copy. I'd use archive software like pkzip to compress and span it over multiple disks to take to school with me and give it to whoever I could. For my more tech-savvy friends, I'd send them a copy over the modem with terminal programs like QModem or QuickLink II.
Once the problem of finding other players was solved, the problem of getting it working started. This is where I started learning about things like COM ports, IRQs (and conflicts), init strings, etc. Eventually the fruits of my labor began to pay off and things started to work. I was in heaven. I'd spend as much time as my parents would let me playing games on their computer with friends. Eventually my parents got a new computer and I inherited their old one. Score!
As the games got more advanced, so did the minimum system requirements. My hand-me-down 486 with 8 megs of RAM wasn't keeping up with my gaming addiction. After a year of saving, I finally had enough money to purchse my own gaming rig: a blazing fast AMD K5 PR133 with 24 megs of RAM. Up until now I had only dealt with minor upgrades; this was the first time I'd built my own system from the ground-up. That thing blazed through Duke Nukem 3D and Quake like butter. Everything was going great. Then the Internet happened.
Not having to go through the routine of pursuading my friends why they should trade sleep for getting their asses handed to them at Doom and Quake on the weekends was liberating. Now all I had to do was get online and jump in a server that had *gasp!* more than one other person in it! Growing up, we never had a LAN setup in my house so all my multiplayer gaming was done over the modem by directly calling my friends' modem. This meant that there was always only one other person to play with (or against). Gaming over the Internet thrust me into the world of TCP/IP networking at a relatively young age. Learning about how TCP/IP networks worked (IP addresses, subnets, DNS, IP routing, etc) came as a result.
As a function of my love of working on computers (which in turn was a function of my love of gaming on them), I took a computer science class in high school to see if I might like programming. I figured that since I'd mastered the hardware side of things, I should move on to software. During my junior year of high school I took a beginner computer science class and fell in love with programming. I knew that this was the career path for me and pursued it in college and eventually ended up with a degree in the field.
Somewhere along the way I got invovled with Linux. Back then, the PC was synonymous with Microsoft. Until I was 16, I didn't even know there were alternatives to their operating systems. I found the concept of running a 'foreign', and especially free, operating system on my PC fascinating. I spent many frustrating nights trying to get even a basic graphical interface working properly. By the time I knew enough to get OpenGL and Quake III working properly on my Linux rig I felt like a certified bad ass; I had conquered the final frontier of PC gaming.
The skills th
Yup, I initially learned how to program so I could write my own games on my TI-99 4A. That enabled me to get my first programming job when I was 15 writing insurance rating programs on WANG minicomputers in WANG BASIC.
And I have never felt content to just play a game. Games always fall short in some way. I found it rewarding to try and splice out code for unnecessary features when they wouldn't run in 128K on our home PC in the 80's, I thought I'd struck gold when I found out Chuck Yeager's AFT stored its planes in flat text and simple experimentation could reveal what the numbers were, and before I was coding Nethack and MUDs, I was hex-editing X-Wing. That was way more interesting than any game alone, though the adults in my life thought I was "just playing games".
Yeah, well, I didn't listen to them, and that's why I'm not mowing lawns to get by.
I'd say: yes, if you look under the hood. How many of us started with editing save files using hex editor?
Modding, creating bots and cheating (all three often overlap) are a great first step. You learn how games are structured, you learn some scripting (Lua, Python, etc. depending on games), even some AI programming for bots.
I played my first computer game in 1963: Spacewar on a DEC PDP-1. I immediately started to learn how to write code, and have been doing it ever since. My son enjoyed video games when he was young. The desire to write video games motivated him to get a Computer Science degree, and he is now working in the industry.
These days to do anything interesting with graphics or games you start with a fairly sophisticated graphic library or game engine. To learn programming you need to learn languages, data structures and algorithms. You don't get very far starting from scratch, although I think it is absolutely essentially to be proficient in the basics. A serious game developer needs to know a decent amount of humanities and the arts. You need to tell a 'story' an art millennia old. You need to learn literature, history and design.
Definitely. My first experience writing code was super basic AutoIt scripts to help me cheat at Diablo 2. That turned into AutoIt web crawlers to cheat at online games like on Neopets. I then realized I could interact with eBay and Yahoo finance. Eventually to keep moving I had to learn an actual language to interact with websites APIs. This was way more fun than learning to code at university where we only ever wrote toy programs to demonstrate principles. At every point in my learning process I had a goal that I wanted to achieve. I could see the power of code help me achieve whatever I wanted.
"Study hard what interests you the most in the most undisciplined, irreverent and original manner possible." Feynman
Best game I wrote on the CPC was a split-screen two-player math game, where you had to solve simple equations by entering the answer using the joysticks.
Was it anything like Nintendo's Donkey Kong Jr. Math?
That said, what Zuckerberg is saying may be right if kids are encouraged to play *indie* games?
And not just that but specifically indie PC games. Major video game consoles tend not to come with interfaces through which an end user can load homemade programs. (The reasons for this date back to a 1983-1984 recession in the North American video game market.) Debug consoles do, but console makers sell those only to financially stable companies that either A. have already published a few PC or Android games or B. are staffed by veterans of the traditional video game industry.
I'm more of a script monkey than a programmer these days.
Nothing wrong with that. For most people "scripting" is more useful day-to-day than "programming".
Yes, I know they're technically the same but "real programmers" would laugh at me if I called what few scripts I rarely do "programming"
I'm pretty sure that at one point in time I wanted to be an astronaut, but only before changing my mind because I wanted to be president, which only lasted about a week before I wanted to be a dinosaur.
And video games let you pretend to be all three.
The path Zuckerberg took is much harder today because of people like Zuckerberg. The most common programmer path today consists of being a barely adequate developer from a 3rd world country who is willing to come here and work 70 hrs per week for less money than American developers. You don't have to be all that great of a developer and you certainly didn't have to play video games.
There's a chance for you to make it out of your mom's basement afterall...
Warcraft 3 is definitely what got me into programming. Namely the map creation, kudos to Blizzard for that.
Warcraft 3 is probably the game I have played the most in my entire life, hours wise. I started in Middle School, and the custom maps completely blew me away, providing countless of hours of entertainment. A friend of mine was really into making maps, and I asked if I could help, he pointed me to a scripting guide, and the rest is history.
But definitely, games can be a driving force for getting started with programming. Especially games with extensions/addons/plugins support. I also have an acquaintance that got into programming by making Addons for World of Warcraft.
I find it funny Zuckerberg would be quoted to say 'a handful of games' but only mention Minecraft as one that builds thinking skills. It's all I can think of either, since it does have some small resemblance to programming logic with redstone circuits, but it's a stretch to say playing Minecraft can ready your mind to teach you the real thing.
If you're going to say games are a good pathway to get young minds into programming, at least give modding an honorable mention. My first experience with a programming language was way back when a little game called Blockland exploded in popularity much in the same way Minecraft did. It was a multiplayer Lego clone with a handful of worlds where players could build freely, cause havoc, or create very impressive structures from a large assortment of pseudo-Lego blocks. A playable alpha was released for free and users could play it while it was still being developed and new features were added. The best part was that it was entirely open source and built on a free game engine. It was begging to be pulled apart and modified.
My first mod for said game added several guns that I modeled myself. I scripted them to be enabled to hurt players, break blocks, both, or neither. It was my first experience with C# and unfortunately the last, as I didn't continue to study programming, but I did enjoy that sense of accomplishment when my mod worked. It was even included in popular mod packs. I created other simple mods like fireworks for 4th of July events. If the game wasn't open source in the alpha stage and so lacking in exciting features, I'd have never had the vision to mod it or the desire to even learn a real programming language to mod it.
So what I'm really saying is if you want more kids learning programming to eventually become programmers or even video game creators, encourage them to support open source indie games, and to mod them. If you have a perfect vision of your end goal, you're more likely to stick with learning something you previously wrote off as too challenging/boring/uninteresting. Minecraft isn't technically open source and has no modding API yet as far as I know, but it is massively popular and the modding scene is still enormous. There are already many kids on the right path for a potential career in computer programming thanks to this blockbuster title.