Advertisement

The life of a game developer. My future or not?

Started by October 25, 2009 01:39 PM
17 comments, last by Satharis 15 years, 1 month ago
If you like maths then you should give programming a go. Maybe do a 6 month short course in game programming then decide if you like it.

It's defiantly something you need a passion for and you wont know you have it till you try.

Game programming is very rewarding in that you can spend hours coding away at some cool new technology then you see it all working on your screen in the end. It's certainly addictive, all coders have experienced the old "Oh I really should go to bed...but iv'e almost got it working" Then before you know it its 6 in the morning and time to get ready for work

You can specialize in MANY areas including:
- Graphics
- Shaders
- AI
- Physics
- Engine dev
- Networking
- Game play
- Tools - The stuff that artist use and take for granted including max and maya...

A job coding in the games industry is tough. If the programmer sucks then the game will most likely suck too, then you loose your job. At crunch time (when the release date is close) prepare for many late nights and early mornings.

If you want lots of money then go get a job in public service or something cause you wont get paid a hell of alot as a programmer in the games industry.

But with that said a public service job is boring as hell. A job in the games industry will be ALOT more fun, and you always have a new challenge to work on in a ever expanding discipline. And the work environments are usually lots of fun too.

So some of it sounds a bit bleak but thats how it is. Its tough but hugely rewarding in terms of having a fun job that you enjoy and the constant challenges.

Theres my two cents
Quote: Original post by twintwix
Well that is me, I can solve problem after problem, day after day. I once made math excercices all day long non stop. Like 12 hours, to meet a deadline like you said. Its no problem for me. I'm simply good at it. But what do I do as a programmer really? It seems all little details and unimportant stuff. I simply don't understand what programmers really make. instructions for computer? I was thinking about making beautiful graphics, or making robots or maybe even artificial intelligence. Do programmers create those or do they just program the ALLREADY created things into the computer?

On a game development team, everybody creates. The difference is how visible your creation is. An artist or musician can tell you to look or listen and you immediately see or hear what they made. A level designer has it a bit more difficult, as you will have to play the game to appreciate the thought that went into what they created. An abstract designer who makes systems will find it more difficult still, as you might not appreciate their work without having levelled up 30 times, or participated in several boss fights, or found yourself continually going back for 'one last go'. But the programmer facilitated all of that, typically with a combination of both their own creativity and a lot of maths and logic, and breathed life into all these things.

The music doesn't play unless the programmer plays it. The art doesn't appear on the screens unless the programmer renders it. You can't move through the map and fight monsters unless the programmer has made the movement system and combat system. The other guys did the stuff that you can easily see, but the programmer puts it all together. How much creative freedom they get will vary from company to company, but it's certainly not just about following rules. If there were rules for software development then making programs would be easy.

And I'm sorry to say that in the offices I've worked in, designers spend just as long behind a computer as programmers do. That's the nature of high-tech work these days.
Advertisement
I've never been a big believer in the 8/8/8 day for a few reasons. First, if you are one of the few people who land their dream job, chances are good you wake up and read your industry news, maybe do a little research on something, then work. And you don't keep an eye on the clock waiting for it to strike 5 so you can run out the door, you generally get lost in your project and look up and realize it's 5AM, the next day, jump up, call your wife and apologize like hell. Also, sleep is for pussies!

Game programmers make everything happen. If you want to get creative and make earth's gravitational pull reject you and push you away, you'll need to program that. If you want trees in your game, you need to program them and give them properties. Want them to catch on fire when you shoot them? Program it. Programming games is definitely not a 8/8/8 job because if you treat it like one, you won't get a job in the industry.

Give it a shot before you sign anything.
I kind of regard programming as the most creative part of game development. I can turn my hand (in an amateur fashion) to art, music, sound, level design, game design and programming, but while I enjoy all of the more 'traditionally' creative aspects of game development I'm usually at my happiest when doing the programming that ties them all together. I've had to think harder about algorithm design than any other aspect of the games I've made, and I've had to try more permutations of design options in writing the code than in any art or other game asset.

In my experience the programming is by far the hardest and most rewarding part. To be a games programmer you need patience, and you almost need to enjoy the process of tracking down bugs and fixing them. You sometimes need some serious and creative intelligence to work out what the hell is going wrong with your perfectly thought-out code!
Quote: Original post by twintwix
If I had to put the most important question in one sentence: What do programmers do (in the deep sense not the surface level) when they work.

Solve problems and execute solutions. The execution of the solutions requires a lot of coding.

-- Tom Sloper -- sloperama.com

*Ahem* We just made a forum for this! Moved.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Advertisement
Quote: Original post by twintwix
Well that is me, I can solve problem after problem, day after day. I once made math excercices all day long non stop. Like 12 hours, to meet a deadline like you said. Its no problem for me. I'm simply good at it. But what do I do as a programmer really? It seems all little details and unimportant stuff. I simply don't understand what programmers really make. instructions for computer? I was thinking about making beautiful graphics, or making robots or maybe even artificial intelligence. Do programmers create those or do they just program the ALLREADY created things into the computer?

Alright, this seems to be the crux of your misunderstanding.

The computer, formalized with the concept of the Turing machine by Alan Turing in 1936, is a machine which applies a series of instructions, one after the other, upon a set of data - usually with the intention of producing information as output. A computer could be built to solve a physics problem, for instance, determining when two objects would collide* - taking data about the shape of the objects, their locations, velocities et al, and spitting out the time of collision; or to determine how many times the letter "a" appears in a string of text, such as this entire paragraph (42 times**, by the way). In essence, it is the idea of relegating the series of steps you would follow in solving a problem, to a machine to do instead.

Now, to save us from having to build a new gadget every time we wanted to relegate a known series of problem-solving steps to a machine, luckily Turing had another idea: the Universal Turing machine. This breed of computer (we'll call it U) takes the series of instructions that make up another computer in data form (we'll call this computer represented by data M), as well as the data that M is called upon to process, as input. U, by following its own series of instructions, interprets M's series of instructions and applies them to the data that needs to be processed, to produce the output of M.

U is akin to what we think of as a computer today, the hardware; M is what we call a "program". Programmers build M, hence the name "programmer".
On that note, M could be anything these days: an operating system, a text editor, a web browser, another U (heard of an emulator?), and indeed, a game. Programmers build all of these things.

Anyway, if you're interested in delving further into the world of programming, Steve Heller's book C++: A Dialog would be a very good place to start.
C++ - you may've heard the name before - is a programming language. Programming languages are used to define the entire series of instructions that make up the programs which computers interpret, or execute. Like most of this post, this is a simplified explanation, but it will suffice for now.

This should be enough information to get you to a point where you can determine whether or not programming is your "thing", and may also imbue you with many of the skills required required as a programmer.


*And you will spend restless nights developing the series of steps to solve this problem if you do become a game programmer.
**43 if you count the domain name appearing next to the Turing Machine link.
Just chiming in to echo the sentiments of earlier posters such as dudeman21 and Tom Sloper.

From your first post, it did not sound like you should be a programmer at all. Free time does not come in abundance. You will get really lucky to land a job where you're in and out for eight hour days. Most game devs enjoy going out to lunch so you'll probably spend an hour there. If you get lucky and live close to work you'll spend anywhere from 15 - 30 minutes in commute. So you end up at work for 10 hours. Awesome.

Now if you want to move up in the ranks, you'll have to put in some time reading up on industry news, check out some game development or software engineering blogs, or read a few pages from a book. Staying current, staying nimble. These are the only ways to keep up with the game industry. We always need the latest technology, the fastest algorithms, what have you.

Your second and third posts make it seem like you could definitely be a programmer. You enjoy creative problem solving and are a very logical person. This is sometimes the entirety of game programming. You will have a problem, even if it is as simple as two blocks must collide. (Your physics analogy was perfect.) You can picture it in your mind, write some interfaces / psuedo-code, and then get to work. It's very rewarding to watch a solution come together. First you compile, run and see two blocks moving towards each other. They go right through each other, but whatever. Those were your two boxes sliding around screen. (Or maybe they were models the artists made, but you can't help but feel you own them since you're the one who got them on screen.) Next you type feverishly until you think you've got them colliding and when you run, it works. Mostly. So the boxes respond incorrectly, but you know you're hot on the trail. Finally, after finding the response logic and tweaking it a bit you run the program and watch two boxes crash into each other and slide off into opposite directions. Pay day! Rewarding pay day! (Now it's time to clean up the code and make it work for everyone. :D)

So, you get the idea, yes?
It all goes down to a few things really.

1. Do you REALLY want that job, getting a game development job is generally a blood and sweat thing, you have to really like what you do, and do it in your free time to have a shot at a good job.

2. Time, you wrote about free time, thing is game developers end up short on that alot to be honest. You'll have to be ready to work an 8 hour day one day and a 14 hour day the next, and that applies to any job on the team really. 'Crunch time' as it is most commonly known, can come in waves on teams, you can't really plan your day around how much work the team will need from you when deadlines draw near.

3. Let's say you do manage to snag a game development job, what position will you be? You don't even seem to know that yet, and that would be the crucial thing, the whole reason you got that job in the first place. Being an artist, programmer, designer, musician, anything really comes down to that you have to like what you do or it will drive you mad. Do you like to draw? What about composing? Try different things and figure out what path you want to walk, including programming. Programming is as much an art form as design, music, or traditional art is.

Overall be prepared to do alot of research, work, and self-teaching no matter what you do. If you KNOW you have a passion for games and are willing to sacrifice alot of your free time to make games, thats a good start.

Keep in mind alot of this advice applies to any team, large and small professional teams, or even indy. Being a developer requires dedication.

This topic is closed to new replies.

Advertisement