Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

How should I become a games programmer?

Options
  • 09-12-2009 12:07am
    #1
    Registered Users Posts: 156 ✭✭


    Hi, I'm in 2nd year of college at the moment doing physics/maths. But anyway, I just decided I want to do games programming. Really got into computers in the last few months and got loads of books on programming, games programming and computers in general and stuff. So anyway I'm just wondering what woul be the best way to get into that sort of thing professionally.

    I looked at some jobs and stuff that accept physics or maths degrees people. Some jobs require computer science degree 'or equivalent' (dont really get what qualifies). Also I'm just fantasizing a bit but if I just dropped out and started programming loads and stuff, would there be any good jobs availabilities? Don't really know what I should do...

    I'll probably finish my degree and see what to do then but just trying to see my options. Any thoughts or opinions appreciiated, thanks!!


Comments

  • Registered Users Posts: 515 ✭✭✭NeverSayDie


    "Also I'm just fantasizing a bit but if I just dropped out and started programming loads and stuff, would there be any good jobs availabilities?"

    There most likely wouldn't, unless you got particularly lucky.

    I'd strongly recommend you stick with the course - a degree of any sort is well worth having, and a maths degree is pretty useful. For software development in general, it's probably one of the next best things after a computer science degree, and in software areas involving modelling, statistics, engineering tools, scientific processes, cryptography, etc it could be an advantage.

    In terms of games development, it's also likely to be useful. Some maths background is good for software development in general as it lends itself to the field - some affinity and aptitude for mathematics usually crosses over with good software development skills - problem solving, logical and structured thinking, etc. But in general software development for business purposes, web apps, embedded development, etc, you won't often have to use actual mathematical techniques and theory beyond the basics. Games development however, often involves some fairly full-on mathematics - rendering, physics, animation, and AI all involve plenty of maths, a lot of which the developer will have to get stuck into directly. So I couldn't see it doing any harm there, and for some roles, it could well end up being a job requirement (in physics and animation middleware for instance).

    For more game development specific info, the forums on GameDev.net are excellent, a good few professionals use the place, and there's regular threads there advising folks on how to go about getting into the games business (it's pretty tough, by all accounts).
    www.gamedev.net

    The main thing is to keep up the game development as a sideline along with your degree. A portfolio of stuff you've worked on and can demo (not to mention the skills you'll pick up doing that) would be pretty essential to land game dev jobs, from what I gather. Learn to develop code if you haven't already, then start working on game related stuff. Once you start getting into it, you could look at setting up/get involved in a project to build a game or game mod, and so on. There's a pretty big hobbyist community out there for this sort of thing. That appears to be how anyone successful gets into the business (or hobby, it may be a while before you land a job in the area). That's my understanding of it anyway - check GameDev above for advice from folks with experience in the business.

    In order to start working on your own game projects, if you haven't come across it already, Microsoft's XNA platform should be useful;
    http://creators.xna.com/en-US/downloads
    (Though do bear in mind good C++ skills are likely to be essential for most game development roles - C# seems to be mainly used right now in indie/casual game development and for things like tool development - majority of modern AAA games are built using C++, far as I can gather. XNA would be a good way to start learning game development however.)


  • Closed Accounts Posts: 7,145 ✭✭✭DonkeyStyle \o/


    Don't drop out, a degree will stand to you and give you more options.
    Also be sure that you're not romanticising the idea of game programming. Either way it's just sitting there, bleary-eyed, staring at code. I'd imagine someone who enjoys programming would be as satisfied working on a comparatively boring business app, getting the same kick out of coming up with a neat approach to a problem.

    I only program occasionally for my own amusement and when I need to, but a lot of the time I find the experience is more "zoomed in"... to the point where you really don't care what the program is. It turns into a series of mini-problems.
    I think the question has to be "How much do you enjoy programming?".
    I'm guessing you enjoy the whole problem solving process if you're studying maths, but make sure you know what you're getting into.
    I enjoy programming, but I don't know if I'd want to do it for a living full-time.

    Definitely don't drop out of college on a flight of fancy, having no professional qualifications and no commercial experience (because you can't even get a foot in the door) isn't a nice place to be.
    And you may find a year down the road that you're not really that arsed with it anyway.


  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    There's some home grown games companies in Dublin like Havok who write commercial physics engine for Half Life 2 I believe.
    Math is always good to have for 3D graphics.

    Re: programming

    Start off in 2D to get the basics down first eg.
    - rotations, scaling, matrix operations, clipping
    - scrolling, tiling, clipping, windowing

    Game programming is typically much more demanding than standard programming. Frame rate versus image quality have to be balanced.
    Also, games companies work to a strict schedule typically trying to release for Christmas. Games can be hit and miss too.
    So my perception of games companies is that there's more pressure, more working late, millions ploughed into a game which might fail etc.

    What area of games are you interested in ?
    You could start off by developing games for mobile phones.
    Nice and simple 2D stuff, which can be demoed at an interview for bonus points.

    Physics is the next big thing in games... with graphics cards having on board physics support in some cases.

    Two simple games I think at great showcases of simple physics are "Crayon Physics" and "The world of goo". You can download demos of them.


  • Registered Users Posts: 40 Gybe


    As most people have said here do not drop out of your degree. Start looking at masters degrees that specialise in games development. Specifically I would recommend Abertay University. Friends of mine have gone through their masters programme and are now working in the industry. Abertay is one of the best because they bring in speakers from the industry (builds contacts and keeps topics current) and they get their students involved in the dare to be digital competition. Basically they make teams from the different games dev oriented streams so artists/modellers/designers/programmers all end up on a team and make very good games in the end. In fact one friend won this competition one year and was invited by EA for an interview and ended up developing one of the harry potter games for the PSP.


    For now however if your C++ skills are not up to scratch start looking at XNA to get started with game dev. Ideally I would recommend progressing to OpenGL and DirectX where C++ is essential. If your degree programme has any physics options take them! Also vector & matrix math would be very useful however the math itself is not that difficult so it's not too hard to teach yourself.

    Start building up a portfolio of games you have created on your own time, this more than anything speaks volumes about your commitment and passion for game development. You will hear often times that companies in the industry will pay more attention to this aspect more than any other qualifications. While I may be contradicting myself here a bit, the degree's get your foot in the door as with any job interview.

    The indie games development scene is exploding at the moment. EPIC Games released their unreal 3 engine for free for non-profit games and a very reasonable deal for those who wish to sell their creations. There is more support than ever for would be game devs.

    I'll finish this rant on a word to the wise. Game dev can be bloody difficult especially when you start hitting some of the more advanced aspects. Also note that coding is not the be all and end all of game dev. Very few people actually make it as game programmers partly due to the difficulty but mostly due to the fact that it does not take that many people to write the core engine. Most of the time investment in a game is dedicated to art/design/mapping/scripting to name but a few aspects. So just know that there are many aspects to game dev, explore them all and see what appeals most.


  • Registered Users Posts: 6,465 ✭✭✭MOH


    I think there's a masters in game development in Trinity, but I don't know how good it is (I've also a vague idea it's XNA related, which seems a bit one track).

    Abertay is the one you always hear about when it comes to games development.

    You should definitely keep on the course, it's certainly going to stand to you.
    Aside from working on small projects of your own, maybe look at doing some modding too.


  • Advertisement
  • Registered Users Posts: 2,449 ✭✭✭artful_codger


    Dundalk IT have a games development course.


  • Registered Users Posts: 267 ✭✭Tears in Rain


    MOH wrote: »
    I think there's a masters in game development in Trinity, but I don't know how good it is (I've also a vague idea it's XNA related, which seems a bit one track).

    Abertay is the one you always hear about when it comes to games development.

    You should definitely keep on the course, it's certainly going to stand to you.
    Aside from working on small projects of your own, maybe look at doing some modding too.

    I've heard nothing but good things about the IET (Interactive Entertainment Technology, i.e. 'games') Masters in Trinity. OP, I would seriously consider it if you wish to enter the games industry, though with a non-computer undergraduate degree, I would make sure to have enough demonstrable programming experience to ensure a place. (Demonstrable means just have a few personal projects you can whip out, no need to take a year out and get a job as a programmer or transfer into CS.)

    I don't know too much about the XNA focus, but like any good course, the chosen technologies are merely the media through which theories and concepts are applied. Don't worry about having the right acronyms down on your CV, if you are serious about getting a job developing games, it's far more important to know the principles your field is based on (and this is probably what you'll be asked in an interview, instead of 'what does XYZ technology stand for').


  • Registered Users Posts: 2,598 ✭✭✭Saint_Mel


    Dundalk IT have a games development course.

    As do Athlone IT


  • Registered Users Posts: 2,082 ✭✭✭Tobias Greeshman


    Saint_Mel wrote: »
    As do Athlone IT
    Carlow IT have one too, think it's a degree. I've no idea how good it is, but I know there's a 6 month placement and it's some-way affiliated with Microsoft.


  • Registered Users Posts: 7,182 ✭✭✭Genghiz Cohen


    Carlow IT have one too, think it's a degree. I've no idea how good it is, but I know there's a 6 month placement and it's some-way affiliated with Microsoft.

    The course content has been Ok'd by Microsoft.

    In the second half of 3rd year the college tries to find a 6 month placement for you. This doesn't always happen but it isn't the end of the world.
    The course is very hard, a degree in Maths/Physics will really stand to you, it's one of the top reasons for failure.
    At the end you get a BSc Hons.


  • Advertisement
  • Registered Users Posts: 1,481 ✭✭✭satchmo


    Whatever you do, don't drop out. Besides a computer science degree, physics/maths is probably the best thing you can do if you want to become a game programmer. You may be able to learn just as much on your own, but a good degree will go a long way to getting that first crucial interview which is in some respects the hardest part of getting your first job. We have programmers with physics & maths degrees here at Radical and they're very good at what they do.

    As people have already said, just program as much as you can. Do your own projects, read whatever you can get your hands on (I've posted some links in the resources sticky at the top of this board) and start making games!


  • Closed Accounts Posts: 2 flatliners


    The course content has been Ok'd by Microsoft.

    In the second half of 3rd year the college tries to find a 6 month placement for you. This doesn't always happen but it isn't the end of the world.
    The course is very hard, a degree in Maths/Physics will really stand to you, it's one of the top reasons for failure.
    At the end you get a BSc Hons.

    I am a first year on the Carlow IT Games Development course.
    Its a brilliant course, although really should be called hardcore programming course. As the pace and the amount of programming done in this course is very high. Unlucky for me, I been programming for about 3 years now so it quite simply,. Though the maths is some what difficult and the 8086 Assemble language is just plan rotten.


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    I haven't read through the entire thread except for the masters suggestion which gets a +1. I would suggest sticking to your current course - having taught a software development course last year it was immediately obvious that all the younger students on the course wanted to be 'games programmers' or 'games designers'.

    I don't want to sound patronising but its a common theme with young guys as this is mostly what they use computers for. A physics/maths course, to me, sounds way cooler and combining that with a graduate diploma in software dev or even a masters could see you working anywhere in the world on some seriously cool stuff.


  • Registered Users Posts: 18,272 ✭✭✭✭Atomic Pineapple


    Evil Phil wrote: »
    I haven't read through the entire thread except for the masters suggestion which gets a +1. I would suggest sticking to your current course - having taught a software development course last year it was immediately obvious that all the younger students on the course wanted to be 'games programmers' or 'games designers'.

    I don't want to sound patronising but its a common theme with young guys as this is mostly what they use computers for. A physics/maths course, to me, sounds way cooler and combining that with a graduate diploma in software dev or even a masters could see you working anywhere in the world on some seriously cool stuff.

    +1

    From the small bit of graphics stuff I done on my Software Dev course (not games orientated) knowledge in physics and maths would be a massive advantage when creating graphics.


  • Closed Accounts Posts: 4,564 ✭✭✭Naikon


    You will also need a pretty good knowledge of the DirectX API when it comes to most gaming companies.
    OpenGL is good too, but it's not designed just games, except for a few notable exceptions. OpenGL games
    also require use the of third party libraries for handling input, sound and the like. Revision control is a must.

    DirectX for all it's complaints is a tight package that contains nearly everything to get to work. OpenGL would
    have a bigger learning curve for working with games. DirectX is not cross platform which will cause trouble
    when porting to other OS's. Assuming none of the other libs are not closed and locked to Windows.

    I would be weary of any corporate sponsored third level course(not a microsoft thing just to note). I reckon you should
    get a traditional Computer Science degree, then move to a masters in games programming if you can. The CS degree
    would leave you open to more options. "Games programming" is not really a long established area as such.


  • Closed Accounts Posts: 4,564 ✭✭✭Naikon


    flatliners wrote: »
    Though the maths is some what difficult and the 8086 Assemble language is just plan rotten.

    I thought the assembly I done in college was actually pretty cool. Really enjoyed that class because it gives you a nice
    insight into how the compiled code actually interfaces with the machine. Essential stuff to know when dealing with
    embedded systems, or to just appreciate the "under the hood". Programmers should know the basics at least.

    I can't say I will ever code massive projects in assembly but it does give you an important insight into the machine.
    I think every course should have an assembly introduction. Using ARM over x86 would probably make things easier
    though... This is a great book for assembly: http://www.duntemann.com/assembly.htm(latest edition)

    Older books cover Dos and Linux side by side, but the newest is pure GNU/Linux. Linux assembly tends to be a
    bit easier to read and maintain, even on x86: http://www.cin.ufpe.br/~if817/arquivos/asmtut/quickstart.html

    OT i know.


  • Registered Users Posts: 1,481 ✭✭✭satchmo


    Naikon wrote: »
    You will also need a pretty good knowledge of the DirectX API when it comes to most gaming companies.
    That's only true if you're working with graphics, input or sound - the majority of game programmers never go anywhere near the DirectX API, nor do they need to. But don't even worry about knowing a particular API inside-out, they're all fairly interchangable as long as you understand what's going on in the hardware.

    I definitely agree that you should at least know how to read assembly. You'll rarely (if ever) need to write it, but debugging particularly obscure problems sometimes calls for the dissassembly window, and then you'll be glad for what you know. It also helps you understand things like the instruction pipeline, profiling, and general optimization issues. As always, the more you understand what's going on down at the metal the better.


  • Closed Accounts Posts: 5,082 ✭✭✭Pygmalion


    The "Maths is very useful even without Comp. Sci." aspect has been covered before, but just to stress it further I've taught myself programming, have been doing it (rarely, never done any large projects but have had a couple of patches accepted in Open-source projects) for 3-4 years now.
    3D graphics programming is the only thing I've consistently failed to learn due to the maths involved, and I have a fairly good head for maths (A1 in honours in Leaving Cert. with little effort), I'm in no position to make any kind of a judgement but I'd trust someone with a Maths degree more than someone with a Programming one when it comes to this field.


  • Registered Users Posts: 4,276 ✭✭✭damnyanks


    MoogPoo wrote: »
    Hi, I'm in 2nd year of college at the moment doing physics/maths. But anyway, I just decided I want to do games programming. Really got into computers in the last few months and got loads of books on programming, games programming and computers in general and stuff. So anyway I'm just wondering what woul be the best way to get into that sort of thing professionally.

    I looked at some jobs and stuff that accept physics or maths degrees people. Some jobs require computer science degree 'or equivalent' (dont really get what qualifies). Also I'm just fantasizing a bit but if I just dropped out and started programming loads and stuff, would there be any good jobs availabilities? Don't really know what I should do...

    I'll probably finish my degree and see what to do then but just trying to see my options. Any thoughts or opinions appreciiated, thanks!!

    Which college are you in? What you should do is check out all the games companies and start applying for a summer internship. You'll need to apply months in advance.

    Find out what kind of area in games you like the most, find an open source games project or ideally game engine and contribute to it by fixing bugs.


Advertisement