• Forum
  • Lounge
  • Anyone into Game Programming as a profes

 
Anyone into Game Programming as a profession?

Pages: 12
closed account (L0Shb7Xj)
I intend to take it up as a profession, and would like some advice. Eg: These universities are the best, this is what it's like to work on a game, etc.

Thank you, in advance
Just take up being an indie game programmer. I graduated almost 3 years ago from a game development/programming specific degree and have yet to catch a break in regards to getting hired. It has got to the point where I actually gave up on working professionally (for an existing company) and have no focused on working on projects as an indie developer (should have done this to begin with as it doesn't require a degree to be an indie developer).

Pay may be good, or not, but the hours as a pro at a well known developer are terrible compared to the flexible hours you have as an indie developer.
closed account (L0Shb7Xj)
Thanks, dude. That is a really good idea. Will consider it.

Well, sorry for the short reply, but that doesn't mean I'm not thankful...
It's not an easy way out though. Get damn good at programming, remember to learn how to make reasonable graphics and make the best games you can. You won't make a living out of it if you make rubbish games.

Edit: This is what it is like to work on your own game.

-Think of the idea
-Make up the first basic graphics
-Make up the environment of the game - The player(s), physics, scores etc
-Fix all the problems with the environment (bug fixing)
-Start making the first level
-Fix further bugs with the environment that you discover at this stage
-Probably make a few more graphics at this stage
-Make a few more levels
-Fix more bugs
-Test the levels
-Hassle your friends to test the levels
-Fix the problem/bugs that your friends find
-Make the menu graphics
-Make the menu
-Make any other menus
-Make more levels
-Spend ages playing levels over & over and balancing them
-Encourage your friends to continue playing the game
-Eventually get the thing balanced.
-Put in some variables to collect stats. Maybe put in some achievements too.
-You're done!
-Now start another game...
Last edited on
@Mats +1
Very useful ideas!
From what I've heard, pay for senior game developers is very good, but not so good for low-level workers. Also, pretty much everyone works ridiculously long hours in the game industry, moreso than most other areas of software development. On the plus side, when you do finally get a game finished, it's probably very rewarding. Probably.
What chrisname said... Starting pay will very likely be lower than starting pay at most other places. The industry is inherently very volatile (how many studios have died in the last 5 years?), and you'll be expected to work crazy hours. I've heard several studios having a "100 Club" for people who work over 100 hours in a week.

A few years ago, I thought this sounded great. But now that I'm looking to start a family, this doesn't sound so awesome.
On 3D game development.

First of all, if you have done no 2d game development first, do some 2d game development first. For this, you could use SFML or SDL (or other things).

When it comes to 3D, you have many options. You could use a 3D rendering library such as OGRE, Lightfeather or Irrlicht and make a game engine. You could use a library such as SDL (for game handling) in conjunction with OpenGL (to make 3D graphics). There are also game engines out there that have 3D functionality built in, such as the UDK. You should note that by searching online you will have to go through 20-30 tutorials about any one of these things to get a grip on starting to use it. This is the kind of complexity 3D games have.

http://www.opengl.org/
http://www.ogre3d.org/
http://irrlicht.sourceforge.net/
http://sourceforge.net/projects/lightfeather/
http://www.unrealengine.com/udk/

Now, if you are thinking that you're going to sit at home and code 3D games on your own, you are probably wrong and you are going to be disappointed. Make some 2D games first so you can appreciate the difficulty. Once you have done this, consider again if you want to make 3D games.

Once that is reconsidered, if you still want to make 3D games, you will probably find that a 3D game project will require:
-A team
-Six months or more set aside to work on the project
-At least double the amount of time you set aside
-Good maths skills (matrices, algebra, trigonometry)
-A lot of hardwork and heartache.


I've made a few 2D games and intend on moving into 3D at some point, perhaps late next year, so I've done a bit of research already. Just so you know, this info is purely from my research, and is not from a seasoned 3D game programmer. That said, I think it's fairly accurate advice.
Last edited on
@chrisname
Well if finishing a game isn't rewarding nothing else would be very rewarding. Between the different disciplines, at its core programming is the same, so if finishing a game has no reward, finishing a project for another company would also not be rewarding.

@ResidentBiscuit
I hear that a lot. I have a wife and son. My wife supports me in my programming and my son thinks it is cool that Daddy is a game programmer. It just depends on the kind of person you ultimately fall in love with. Only problem is, even though people will blindly argue that you can, truth is you can't help who you fall in love with. Starting a family is be far the biggest accomplishment a person can ever have, spouse, kids, truly nothing better.
Great! Thank you Mats, that is quite helpful.
People who work in the game industry as a asm/c/c++ programmer with a BS/MS are stupid if they work for peanuts and work 100 hour weeks. Thats like being a doctor in the programming community and working for tips when you could be working to pay off the debt you accumulated getting an engineering degree. People who are willing to work for basically less than what effort they put in learning the language are short changing themselves and the job market. Only reason why game companies or any company keeps doing it is because of job demand, (too many people want to make games for a living). If the people who actually got hired actually knew how rare it was to have some of their skills, the market would be a lot better. That is, until 2050 when everyone in a developed nation will have experienced some form of programming, via a script, or drag and drop, and the internet. I would like to work in the game industry but not at all at the expense of all the hard work I put in of my personal time, learning the math, the theory, and so on.
Last edited on
closed account (N36fSL3A)
Would Game Engine Programming be acceptable?
@Lumpkin

Would Game Engine Programming be acceptable?


Acceptability is irrelevant. One should do what satisfies them and ideally doesn't hurt others. It depends on what you mean by a game engine. A game engine can be a lose set of components that make a game or it can be a giant framework of tools. This forum really needs a sticky for game development:

I've put some stuff here:
http://www.cplusplus.com/forum/general/95245/

From Scientific Ninja
http://scientificninja.com/blog/write-games-not-engines

While the guy from the above website makes some good points. You will however have to do some kind of design if you don't want to stay at a plateau with your software library. So the general standard process goes:
1. Make a plan
2. Implement the plan
3. Test the plan (binary)
4. release it
5. repeat until finished

So to get any desired output your code must follow some kind of design, whether implicit (you don't see it *intuitive) or explicit (it was planned an clearly visible).

for example (Demoscene):
bisqwit:
http://www.youtube.com/watch?v=vkUwT9U1GzA

and someone...
Designing a game, slowly but surely:
http://www.youtube.com/watch?v=LRsHzjox_yw

AND to be honest, I'd be more happy writing code for a machine that will have a direct role in helping someone over making games, if the pay is right. Because overall, it doesn't matter how good you are at programming on the console side, because nobody at this current state of the industry can make a *AAA title (with hi-res,graphics, physics, sound, gui, artwork) alone. It boils down to luck, ability, and who you know that gets you things in this life.
Last edited on
closed account (N36fSL3A)
From Scientific Ninja
http://scientificninja.com/blog/write-games-not-engines
Maybe I want to write an Engine?
Whether or not you call it an "engine", it will perform the same purpose. It will be a set of components used to make a game, comprise a game. The point is that the term "Engine" can be too broad and ambiguous to define succinctly.

If you go in with the intent of writing an engine, without defining exactly what an Engine is composed of, then you will hit a roadblock. Whether you implicitly know what the "engine" is or not, the end goal you want is the same. But knowing exactly what you want to do and how you want to do it will make your goals more realistic to achieve in a reasonable amount of time.
Last edited on
closed account (N36fSL3A)
By engine I mean a massive framework. It includes image loading, a resource manager, map manager, model support, audio support, networking, physics, etc.
@Lumpkin
Then make an engine. The point of the article and phrase is that too many beginner programmers want to make games, but stress over the engine and tools to make the game rather than just making the game and learning what it takes and then clumping the reusable chunks into a library or tools that you work on and make after learning some game programming.

I was guilty of this at one time.
closed account (N36fSL3A)
I guess we all were guilty at one point. Thanks for clearing this up for me.
If you want to make 3D games fast without much experience then I'd have to reluctantly recommend Unity (I'm not a fan).
I was at a talk at GCAP the other week, one of the talkers was a teacher at some university or academy, he said one of the most common conversations he'd have with new programmers would start off with them telling him of a great game idea they had, with interesting mechanics and gameplay. He'd then ask them how far they had come along with making said game and they'd reply something along the lines of "Well I've just started building my own engine".
I can't say I'm for starting from scratch making an engine, I think if you want to make a game you should make a game, use OpenFrameworks or Cinder or UDK or a Halflife mod or (heaven forbid) get into using Unity and make a god damn game, no-one that plays it will be any more impressed by your efforts, and if you make a crap engine then they will likely be less impressed.
Also if you plan on going indie, keep in mind that your first paycheck is going to be on the horizon for a long time. You're going to need a healthy bank balance and a lot of time.
@BHXSpecter
I still do it even after having read that article. The difference is that I only write classes when I know I'm going to need them.
Pages: 12