View Full Version : Question about programmer salaries
BlackShipsFillt
02-01-2010, 12:49 PM
Hi, just a quick question, how much do programmers in South Africa get paid?
I've never studied programming myself, but somehow I've found myself either being employed as a programmer or employing other programmers. At the moment games companies are in competition with corporate firms for their programmers (what I mean is that right now people study programming and then choose between games and the corporate world) which means that games programming salaries need to be competitive with corporate salaries in order to attract the brightest (and most expensive) talent.
Obviously with games it's not always as simple as that, because games are a creative field there are also the options of royalties or shares... Though these probably will not sway the programmer looking to buy his second BMW. And passion does come into it, some programmers would accept a lower salary to work on games, but unfortunately morgage payments do not work that way.
So what do programmers make? I'm interested in knowing what junior programmers and interns earn as well as what experienced or highly talented ones earn.
I've already looked on a couple sites, but the information seemed based on a small sampling... Any first hand information would be much appreciated.
Fengol
02-01-2010, 01:40 PM
IT Salaries in South Africa
http://mybroadband.co.za/news/General/10186.html
dislekcia
02-01-2010, 02:45 PM
Game Developer Magazine (Gamasutra) has run a game development salary survey for the past few years, most of the info on developer salaries and the like is available if you look for it, starting here: http://www.gamasutra.com/php-bin/news_index.php?story=23264
Generally though, there's no such thing as a standard salary for programmers in SA. The gulf of skills and working environments is too large. You might have a SAP specialist in Sandton pulling in over R40k a month, while a PHP wrangler in Pofadder scrapes by on R4k.
Game-related salaries will always be lower than the top-bound for IT in SA, much like they're lower in the rest of the world. The differentiating factor is that people are working on something creative that they want to work on. Something that keeps cropping up is "Game development is a calling, not a career". That said, revenue share deals shouldn't be discounted in the business of games, when used fairly they can be very lucrative. Just be wary of people with absolutely NO money to pay for work ;)
Insomniac
02-01-2010, 02:56 PM
Fengol's link<edit>and dislekcia's too</edit> should give you a pretty good idea, you can also search on www.careerjunction.co.za to get a basic idea of the current market.
You aren't going to find much directly from people as most companies tend to be secretive with regards to salaries and don't allow employees to publicly post their earnings.
BlackShipsFillt
02-01-2010, 07:48 PM
Thanks guys... I'd been looking on some other sites that made it seem curiously low, these figures are closer to what I expected.
My concern about the salary competitiveness of game programming is as a result of the curiously small response to the job listings I've posted (not just the ones here). It seems the corporates are snapping up all the talent (even programmers that did the game design course at UCT aren't ending up making games) and once these programmers have that mortgage and BMW they're never coming back.
Nandrew
03-01-2010, 04:28 PM
(even programmers that did the game design course at UCT aren't ending up making games)
Sadness. :(
Squid
03-01-2010, 06:10 PM
even programmers that did the game design course at UCT aren't ending up making games
We'll just see about that. They just didn't try hard enough imo.
dislekcia
04-01-2010, 03:21 AM
We'll just see about that. They just didn't try hard enough imo.
Not to give the UCT peeps any flak (I do think what they're doing is cool after all), but the game development students didn't really seem to be doing much game development. We went through to go hang out and give feedback and there wasn't even one playable thing we could look at...
I'm hoping that we can provide an example of what it's like to finish stuff and get it playable during the game jam this year.
BlackShipsFillt
04-01-2010, 10:05 AM
Yeah... I saw the exact same thing, I came across one of the more talented students and the best he had to show was an unfinished OpenGL experiment for Linux. I understand the need for having the theory to tackle a wide range of problems... but no games? (He's doing honours now which apparently does have some serious practical projects)
Beggars can't be choosers (he had the passion to pick up what he didn't know, I would have hired him). But I'm certain there is a monumental amount of "Game Design" you can't learn in theory. Though I am still hoping to see some excellent (and passionate) games programmers come out of it.
Fengol
04-01-2010, 10:12 AM
Hopefully Dislekcia, Aequitas and Squid and instill the "games more important than code" ethics in CT like they did in JHB. Then in a couple of years (when the stars are right) they'll migrate to DBN to do the same there.
dislekcia
04-01-2010, 02:47 PM
I think it's time to go to UCT and start punting the portfolio approach again ;)
xyber
04-01-2010, 03:27 PM
I think it's time to go to UCT and start punting the portfolio approach again ;)
Best thing someone fresh from uni can do since the only thing he would have is some papers stating he know all this theory and maybe some practical xp. I teached at TuT and know what kinda experience some of these guys really have when they come outa uni and it is not the kind I would employ.
BlackShipsFillt
04-01-2010, 05:02 PM
Tricky part is some programmers aren't equipped for the artistic side of games and so they may need to team up with graphic artists, sound engineers and possibly even game designers to produce a decent portfolio piece... and UCT doesn't have the infrastructure to assist them with this (I've never been impressed by UCT's media courses either)
If I get the chance, this year I'd like to also be involved with connecting these people up. Through communities like game.dev, Game Jam or GameExchange events or even workshops. Even if the UCT students were to participate in one Game.Dev competition that would put them on much better footing.
dislekcia
04-01-2010, 05:46 PM
Tricky part is some programmers aren't equipped for the artistic side of games and so they may need to team up with graphic artists, sound engineers and possibly even game designers to produce a decent portfolio piece... and UCT doesn't have the infrastructure to assist them with this (I've never been impressed by UCT's media courses either)
If I get the chance, this year I'd like to also be involved with connecting these people up. Through communities like game.dev, Game Jam or GameExchange events or even workshops. Even if the UCT students were to participate in one Game.Dev competition that would put them on much better footing.
Anything playable, even if it's boxes bumping into each other, is better than a semi-working tech demo.
First off, I was made aware of this thread about 20 minutes ago and had to quickly make an account to fight for my side.
I am one of those UCT gamer students. Having just completed 3rd year and moving into Honours.
There are a few facts that need addressing.
The course is a fairly new brainchild of the department. I think it has only been in existance for 3/4 years now. So naturally there will be bugs with any new venture.
And many of the bugs have been ironed out including a lot of what has been mentioned above has already been fixed. The games of 2008 where made from scratch using openGL and since this is only a half course the so called "Linux experiments" are perfectly justified.
In 2009, (my final games year) we firstly made contact with a known animation school. They were going to make us all the artifacts and textures. Due to bad communication between the institutes the artists dropped the ball. My teammate and I only recieved our visual material two weeks before deadline.
There was also an issue of tampering and miscommunication with regards to the lab we were developing in.
Dislekcia has jumped the gun. The only code he could have reviewed was 2 weeks into our development time. Which was mostly frame work code. Not very visually appealling I must say.
The final games produced were great in the end. Just ask if you require screenshots or vids so I can verify my claims.
And for the record, it is highly recommended that we take part in Game Jam.
This January will be my second Jam.
Peace
BlackShipsFillt
05-01-2010, 12:33 PM
Awesome! would love to see examples of the games.
Sorry if I've seemed overly critical of UCT, I didn't partake of the course myself and the small exposure to it I have had so far has been a little disappointing... The Game Design course at UCT still is the best chance I have for finding Cape Town game programmers, which is why I want so much out of it.
May I ask you Azzy if you know of any graduates planning a career in game programming? (I'm trying to find some)
raxter_
05-01-2010, 12:46 PM
I think it's time to go to UCT and start punting the portfolio approach again ;)
sup all,
Yeah, so like I'm a bit confused.
The 'Linux Experiement' you speak of must be refereing to the game I made for my 3rd year project in 2008. I know it's not a fully fledged game but that was last last year. This (last) year there were 6 or 7 games produced by the 3rd year students at uct, with collaboration from an art school (I was at the final demos, I saw them). So there is a portfolio being built up.
As a side note, the linux experiment included a shaders, a basic physics engine, AI, maps, weapons and such. Not a fun game but all built from scratch with very little time to do so. I would not call myself a game programmer without that sort of knowledge behind me. Though I understand the whole portfolio thing, and that is what is happening now.
The 2nd year course produced a ton of games, about 30 or so. Not all of them great, but this is their first time prgramming games ever.
So basically, if you want portfolio stuff, it's there ;) Not to mention the code jam games created.
Anything playable, even if it's boxes bumping into each other, is better than a semi-working tech demo.
I will check about getting some links up for the 3rd year games made, there were some pics and whatnot around, I can't seem to find them.
raxter_
05-01-2010, 12:50 PM
May I ask you Azzy if you know of any graduates planning a career in game programming? (I'm trying to find some)
Lol, they are all about to do honours :p do you have a link or email address, I can ask around my year for you (most are going into Masters tho).
Got a friend or two working or about to work for Wisdom Games though as well (interesting fun fact :p )
BlackShipsFillt
05-01-2010, 12:56 PM
Doh! Maybe I'm jumping the gun on the game design course... What's after masters though? Super Masters? When do these people graduate?
By the time these guys are employed they'll be putting the rest of us to shame. (quite looking forward to it!)
Hehe ya just give us a year. There are a lot of us that are planning to get into games industry after Honours.
And an even larger group graduating this year.
raxter_
05-01-2010, 01:32 PM
Hehe, no worries, just had to clear up some misunderstandings. Like, I'm not saying we will churn out brilliant game designers year after year or anything. But we are heading in the right direction as far as I can tell (portfolios etc). It's a bit of a challenge to create a proper game within the space of a 1 year course whilst students are just learning this stuff.
After Masters is Doctorate. Masters is usually 2 years. Doctorate is about 2-3 years and you are officially deemed 'too smart to be human' afterwards ^_^. There is usually a core group in every year that are interested in games and they are smart enough that they can use their compsci knowledge with the knowledge from the games courses and experience makeing games to go out to industry and be decent game designers or game programmers or game whateverers.
It depends on the person, of course, but some people are better suited to be straight programmers, I know one or two that are simply hopeless as communicating to artists, but they are brilliant programmers, make code that can do anything, and fast! Some have enough of an art side to be able to communicate and explore ideas with sound people and artists and the like. All depends, but those aspects are tested during the game course, in my opinion anyway.
Most of the people that that did the first first games stream are coming out of Masters in the next year or so. I know at least one guy went overseas to work at some big game company. A couple are interested in mobile games and the potential profits of iPhone games ($$ if you make a popular one). So they ought to start coming out of the woodwork soon methinks :)
raxter_
05-01-2010, 01:40 PM
http://people.cs.uct.ac.za/~fnnste003/ks/
Couple of screenies during development ([ed]none of the final product, unfortunatly). The pictures lower down the page are more recent. All made with XNA. We are working on getting them downloadable, will post when they are.
This is Azzy's game btw, made with his partner, was one best games imo. Will scour for the rest.
I've also got a couple of people in 2nd year that made some pretty stunning 2D top down Crimsonland style games, will get those downloadable and runnable as well. (All in Java using JOGL)
Ultixan
05-01-2010, 01:42 PM
Hey guys,
I would just like to back up what raxter_ has said so far. The games course is very new and has undergone a lot of revamping over the few short years that it has been around. I should know I was in the course the first year it was run and it was a lot rougher back then. One of the biggest changes we suggested after completing the course was that there be more of a focus on the practical side of the course so that students would have a longer time to work on the practical.
The attempt at getting the animation school involved was a good one but from what I hear it had a few hiccups, which is to be expected with a new endeavour. You also have to realize that the number of people you need to create a game means that getting the coordination right for a project like the one the games course offers is difficult, especially with the restricted time frame the course has.
I can't speak to the quality of the games produced because I haven't seen them so you'll just have to take raxter_'s word on them until you can get some links.
Next point:
Not everyone that does the games course plans to go into the games industry. Quite a few of them take the course simply because they think it will be fun. People that are serious about getting into game development will eventually get there. I know I fully intend to try and get into game development when I'm done with my studying (busy doing second year of masters) but that doesn't mean that doing more studying after the initial degree is a bad thing. Most companies in America and Europe require applicants to have done at least a 4 year degree (last time a checked job listings) which means that they have to do an Honours.
As for going further than honours, it doesn't mean that the person isn't going to get into gaming. All of my research at the moment is geared for use in games. It all comes down to what a person is passionate about. If someone does the games course then they likely won't enter the games industry. If they are passionate about it then they likely will try to get there. I know I intend to.
Anyway thats enough from me. Hope to see more people at the Game Jam this year.
- Ulti
BlackShipsFillt
05-01-2010, 02:54 PM
Thanks Raxter and UCT fellows! Azzy's game looks impressive indeed (I feel like should eat my infamous words about "Linux OpenGl Experiments" about now)
Lol, they are all about to do honours :p do you have a link or email address, I can ask around my year for you (most are going into Masters tho).
I've private messaged you Raxter with an email address if anyone you know wants to apply for a games programmer position...
Really excited about seeing you guys participating at Game.Dev
raxter_
05-01-2010, 04:01 PM
Soo, a little off topic still, though I am interested as to starting salaries of potential game developers in SA. Tho this thread has veered waaay of topic anyway.
but:
http://www.facebook.com/event.php?eid=244914306888
It's not the official game jam thing but will serve it well until this year's one starts. Spread the word! (I'm useless at this, any advice as to where I could advertise?)
Fengol
05-01-2010, 04:23 PM
It's a bit of a challenge to create a proper game within the space of a 1 year course whilst students are just learning this stuff.
Just on a note, I work so I'm doing my Masters part time and I've still been able to make a card game (http://www.devmag.org.za/news/270/) which won one community competition and was a finalist in another. Games like Onslaught of the Electric Zombies (http://forums.tidemedia.co.za/nag/showthread.php?t=11460), ArGeeBee (http://forums.tidemedia.co.za/nag/showthread.php?t=12905) and Spectrum Dream (http://forums.tidemedia.co.za/nag/showthread.php?t=12875) were made in less than a month. My current project War Machine (http://forums.tidemedia.co.za/nag/showthread.php?t=12813) has fully working networked multiplayer from 1 day years ago extracting networking code from another game (thanks Dislekcia) and implementing it into my own.
Point is that it doesn't take a year, a whole team and a budget to make a game; and the point Dislekcia is on about is people need to making games, not perfecting frameworks or understanding underlying architectures.
Read about the Experimental Gameplay Project (http://experimentalgameplay.com/blog/about/) by students from Carnegie Mellon University where they commited themselves to making a game every 7 days by only one person. This is what Dislekcia is trying to bring across.
FuzzYspo0N
05-01-2010, 04:32 PM
I agree fengol, but people dont get a job in the industry using game maker. They need understanding far wider (that is no attack on game maker, just common sense). They have to start somewhere, and their point is perfectly valid as well as your points..
Fengol
05-01-2010, 04:39 PM
I've been told elsewhere I'm being attacking and I apologise.
My point is you can also learn a lot from rapid prototyping and not every game you make has to be highly polished, nor do you have to understand every concept before you can implement it.
FuzzYspo0N
05-01-2010, 04:47 PM
Yea, i agree on the prototypes. They definitely help a lot.
I seem to have half arsed my post above (as i often do).
"They need understanding far wider " : This comes from making games, and making tech. While you are learning (and have a game course to complete, assuming with preset goals not set out by you) there are things that wont be straight forward and things you just cant do. You cant spend your time thrashing prototypes if youre goal in the course is to write a framework. If your goal is to write a game "down the line" it makes more sense in context to do the stuff you need to do, first. If that means it took a year to make a simple game hell, i think thats great.
Does this mean not to make quick fun short games in other simpler apps? Nope :) The more games you make the better you get at it. I would suggest making the kinda games that were linked as often as possible. As Fengol said in chat, no need to make a AAA game design just to make a game.
BlackShipsFillt
05-01-2010, 05:39 PM
I see this as a difference between game programming and game design here... building frameworks and engines is vital if you intend doing that as a career... but if you're keen on game design (I refer to Game Design as the art of designing games that are fun and profitable) your time could be spent better elsewhere, like rapidly prototyping many smaller games and honing your design skills. I once went to the trouble of making a game in C++ and OpenGl, but I spent months doing something that would have taken days in GameMaker or Unity or even Flash. I learnt something in the process, but if I had made 4 games in the same time I would have learnt more.
This is just from my point of view, but I don't expect to see many profitable South African games in the near future that build their own engine, these kinds of projects are only reasonable if there are several people working for months or years, and even then you can save yourself a lot of money purchasing a pre-built engine in the first place.
But this doesn't mean programmers don't need to understand the lowish level stuff... I'm just trying to make a distinction between the way one learns design and the way one learns programming. Both disciplines require experience, and you don't get game design experience from coding frameworks.
(Although I'm not 100% certain what the "framework" is, I'm not certain whether it's something I do automatically or something that is done for me)
dislekcia
05-01-2010, 09:33 PM
Dislekcia has jumped the gun. The only code he could have reviewed was 2 weeks into our development time. Which was mostly frame work code. Not very visually appealling I must say.
The final games produced were great in the end. Just ask if you require screenshots or vids so I can verify my claims.
And for the record, it is highly recommended that we take part in Game Jam.
This January will be my second Jam.
Chill :)
Plus we got invited in to talk to people about Xbox game development and there was literally nobody to talk to. Was rather annoyed that we ditched a day from our already crazy dev schedule at the time to come in and just meet people doing interesting stuff. Instead it turned out that the Xboxen hadn't even been used properly at all...
You guys need to get that miscommunication habit sorted out. It's not cool to just say "oh, it was a miscommunication, oh well" and move on. Not that I'm trying to destroy the course, far from it, but being involved as an "outsider" is pretty difficult at the moment. We're the people doing what you want to be doing, right? Don't make it hard for us to talk to you :)
Framework code is something we can give HUGE amounts of advice on. From preventing feature creep while making extending easy, to over-engineering and content pipeline management. Like I said, this is what we DO.
dislekcia
05-01-2010, 09:56 PM
So basically, if you want portfolio stuff, it's there ;) Not to mention the code jam games created.
Where? Post post post! If you guys need thread creation rights to start showcase threads, PM me and I'll organise.
I will check about getting some links up for the 3rd year games made, there were some pics and whatnot around, I can't seem to find them.
Do it! I've been trying to get Patrick to get you guys to sign up here for ages :)
Got a friend or two working or about to work for Wisdom Games though as well (interesting fun fact :p )
Which reminds me to poke Raymond now that I'm in CT properly...
http://people.cs.uct.ac.za/~fnnste003/ks/
Couple of screenies during development ([ed]none of the final product, unfortunatly). The pictures lower down the page are more recent. All made with XNA. We are working on getting them downloadable, will post when they are.
This is Azzy's game btw, made with his partner, was one best games imo. Will scour for the rest.
I've also got a couple of people in 2nd year that made some pretty stunning 2D top down Crimsonland style games, will get those downloadable and runnable as well. (All in Java using JOGL)
Nice. Do I notice the XNA tank there in the early shots? ;) Is it networked at all? Keen to give the final version a play and some feedback.
Hey guys,
I would just like to back up what raxter_ has said so far. The games course is very new and has undergone a lot of revamping over the few short years that it has been around. I should know I was in the course the first year it was run and it was a lot rougher back then. One of the biggest changes we suggested after completing the course was that there be more of a focus on the practical side of the course so that students would have a longer time to work on the practical.
The attempt at getting the animation school involved was a good one but from what I hear it had a few hiccups, which is to be expected with a new endeavour. You also have to realize that the number of people you need to create a game means that getting the coordination right for a project like the one the games course offers is difficult, especially with the restricted time frame the course has.
I can't speak to the quality of the games produced because I haven't seen them so you'll just have to take raxter_'s word on them until you can get some links.
Next point:
Not everyone that does the games course plans to go into the games industry. Quite a few of them take the course simply because they think it will be fun. People that are serious about getting into game development will eventually get there. I know I fully intend to try and get into game development when I'm done with my studying (busy doing second year of masters) but that doesn't mean that doing more studying after the initial degree is a bad thing. Most companies in America and Europe require applicants to have done at least a 4 year degree (last time a checked job listings) which means that they have to do an Honours.
As for going further than honours, it doesn't mean that the person isn't going to get into gaming. All of my research at the moment is geared for use in games. It all comes down to what a person is passionate about. If someone does the games course then they likely won't enter the games industry. If they are passionate about it then they likely will try to get there. I know I intend to.
Anyway thats enough from me. Hope to see more people at the Game Jam this year.
- Ulti
Sorry if we're coming over a bit strong, but we're sorta just annoyed that there's "stuff" going on and nobody's really making a big deal of it. There are a lot of people in this forum who are very interested in the games course at UCT, some because they want to go when they finish school and others because they want to hire talent from the course.
You make a good point that not everyone at a university is going to do a course for only career reasons. I think what people here are trying to say is that we'd really like to see what the course is helping people learn and what it's helping them produce. That's sort of what we care about over here ;)
So I hope you guys stay active here and get other people in the course to post what they're working on as they do it. See you all at the Jam!
Etiko
07-01-2010, 04:04 PM
So what do programmers make? I'm interested in knowing what junior programmers and interns earn as well as what experienced or highly talented ones earn.
I work for one of the biggest corporates in South Africa. 2 years ago the starting salary for a graduate on our IT Graduate Program was around R250 000 P/A CTC.
I have no idea what this year's grads earn, though.
BlackShipsFillt
08-01-2010, 07:20 AM
Thanks Etiko!
And those graduates also received bursaries for their studies I imagine. It's kind of scary as a start-up company trying to compete with that.
Etiko
08-01-2010, 10:58 AM
Thanks Etiko!
And those graduates also received bursaries for their studies I imagine. It's kind of scary as a start-up company trying to compete with that.
No, no bursaries.
It is very hard for a small company to compete with the resources of a corporate. And with SA having such a small number of good programmers, it's even harder for the small companies to lure the good talent out there.
The only way I ever see the SA gaming dev industry from starting is if government implements some sort of TAX exception or subsidy policy for game dev companies.
But come on, SA has bigger things to worry about than that!!
Edit: And to answer your question about more experienced developers' salaries: I see some of the CVs that we get are asking for about R350 000 P/A CTC. And that's for about 3 years worth of Java experience.
What company are you thinking of starting up?
BlackShipsFillt
08-01-2010, 03:16 PM
Right now I'm trying to find a programmer or two for a company I work closely with in Cape Town, they're doing iPhone games in Unity3D... so the programming is pretty easy, but because the projects are relatively short (2-4 months) there is very little room for error.
But as well, in the event that one of the games I'm developing makes a little money, I'd like to hire a programmer to lift some of my workload and maybe tackle some of the more technical problems that I am afraid of. This would also be to do iPhone games as well as some other small indie games and experiments.
I think because games are sold as entertainment and therefore are higher risk than a lot of corporate programming projects there will be a lot of hit and miss in young games companies. There are huge profits to be made, but a lot of South African games companies are going to struggle to break even. However there is no reason that the successful companies won't be able to employ top earning programmers, though I'm not certain that there are any consistently successful South African games companies as yet.
Plus games are more fun and from what I gather there are a lot of young programmers that don't consider corporate programming to be an option (but people like myself still have to wait until they graduate)
Etiko
08-01-2010, 03:44 PM
Plus games are more fun and from what I gather there are a lot of young programmers that don't consider corporate programming to be an option (but people like myself still have to wait until they graduate)
The problem is that game development is very difficult. It is probably one of the most difficult programming fields out there - short of OS programming. Thus you will need some pretty talented people and they don't come cheap. Passion and a love for the job sadly don't put food on your plate.
There is such a great talent pool out there. I talk to lots of young grads and most of them want to go into game dev. The problem is that there is no money for it here in SA.
A big overseas publisher should take a chance and invest in South Africa - our salaries are lower than places like in the UK and US, so in the long run it'll pay off for them.
BlackShipsFillt
08-01-2010, 04:29 PM
A big overseas publisher should take a chance and invest in South Africa - our salaries are lower than places like in the UK and US, so in the long run it'll pay off for them.
This is happening a little bit already, the guys I mentioned in Cape Town are going that route.
Also I'm not that certain games programming is necessarily difficult. Not when you're using third party tools. Programming in Unity3D is no more difficult than Flash. I don't go near any low level device specific code, and game logic is pretty straight forward and reusable. (And I don't think I'm especially talented as a programmer)
Of course games programming can be incredibly complicated... networking, physics, serious optimizations and hardware interfacing are the reason I want to hire a programmer myself, and I'd need a good one to get any of that stuff done right.
xyber
09-01-2010, 12:20 AM
Yeah, long as you stick with an engine it can actually be pretty easy. There will still be the odd challenge but I don't find gamedev that more difficult than business apps. Now creating and optimizing the game engine is a different story.
BlackShipsFillt, I think for someone with some XP in gamedev you are looking at anything from R12k to 25k (per month) for a coder - 25k+ is for some kinda lead guy. Ofcourse it helps if you can find someone who would be willing to settle on a smaller ammount and profit shares.
One of the reasons I am not working for a gamedev company anymore is cause they can't pay me what I want, which is what I could earn doing business apps, BUT I love working on games, I have on many occasions tried the business apps route and its just not for me, so now I am also trying to get my own company going - at least if I'm gonna be payed little I can be doing it on contracts at home while getting my own games done too.
Chippit
09-01-2010, 12:36 AM
If only corporate and business programming was as fun as game development, eh? Then we'd all win. :P
But alas, not all of us can work for Google.
dislekcia
09-01-2010, 02:53 AM
The main thing that a game programmer needs is experience working on games. There's nothing quite like running headlong into problems to help you figure out how to fix them ;) Then again, I assume that someone with a computer science degree can code in anything that has a language reference, so maybe I'm a little optimistic.
Nothing has driven home the gulf between "corporate" rates and game salaries as much as the last non-game contract we did. It's basically funded this entire year. Granted, our salaries aren't great, but they're not crap either - we see it as investing in revenues, which is a major part of QCF's business structure.
I don't think I could ever go back to working for someone else though. The freedoms you get from not having a beurocratic structure to report to are awesome :)
Chippit
09-01-2010, 12:01 PM
The main thing that a game programmer needs is experience working on games. There's nothing quite like running headlong into problems to help you figure out how to fix them ;) Then again, I assume that someone with a computer science degree can code in anything that has a language reference, so maybe I'm a little optimistic.
Yeeeeaaah, er, having seen some of the latest batch of 'someones with a computer science degree', I'm not quite sure. >_>
BlackShipsFillt
09-01-2010, 09:43 PM
I don't think I could ever go back to working for someone else though. The freedoms you get from not having a beurocratic structure to report to are awesome :)
Yeah, feeling that... Though, since I used to web design, programming has been a sweet pay increase so far (Yay). I reckon I can still stomach developing the occasional game for someone else, but corporate work is no longer an option, the unhappiness involved is simply insurmountable.
dislekcia
10-01-2010, 12:33 AM
Yeeeeaaah, er, having seen some of the latest batch of 'someones with a computer science degree', I'm not quite sure. >_>
Ok. A lot optimistic ;) You saying YOU can't code in anything with a language reference?
Yeah, feeling that... Though, since I used to web design, programming has been a sweet pay increase so far (Yay). I reckon I can still stomach developing the occasional game for someone else, but corporate work is no longer an option, the unhappiness involved is simply insurmountable.
Ironically, the lucrative work was web development. We build games for other people all the time, this year would be the first time we've had enough budget to go beyond prototypes of our own games. Looking forward to that!
BlackShipsFillt
10-01-2010, 11:13 AM
Ironically, the lucrative work was web development.
Doh! Maybe I jumped ships at the wrong time :P (Actually I'm pretty happy, this year is going to be first year finishing my own games for me as well)
Chippit
10-01-2010, 11:38 PM
Ok. A lot optimistic ;) You saying YOU can't code in anything with a language reference?
I'm saying the majority of them could hardly code (like, proficient problem solving stuff) in anything, even with a language reference.
dislekcia
11-01-2010, 12:58 PM
I'm saying the majority of them could hardly code (like, proficient problem solving stuff) in anything, even with a language reference.
Yeah, we had the same thing when I graduated. Some people couldn't problem-solve their way out of a paper bag... I guess I should have clarified and said that I expect a worthwhile Bsc CS/IT grad to be able to program in anything at the drop of a hat, they'd have to demonstrate that ability though...
Goraan
11-01-2010, 01:17 PM
I don't actually see what the problem is with the latest batch of "graduated programmers".
I haven't been a programmer for long and hardly had any formal training and I can code in pretty much any language, work with any database and quickly learn and manipulate any framework. I'm a programmer for an ERP company. The only one. The company could not find a programmer with the right skills, and believe me they tried very hard before I went for an interview. "Programmers" with more experience than me couldn't code in more than 2 languages. Couldn't work outside of a managed framework like .FAILNET.
Now imagine they need to, heaven forbid, solve a business problem. "This happens, we want this to happen, we won't give you specs. Fix plox"
"<headsplosion>"
AndrewJ
11-01-2010, 01:24 PM
Now imagine they need to, heaven forbid, solve a business problem. "This happens, we want this to happen, we won't give you specs. Fix plox"Well, one can build a gargantuan library of use cases, code for all of them, and then explain to management why it took so long. Another option is to ask for clarity. Note: ***NOT*** Clarity (http://www.google.com/search?q=Clarity%20database) :-)
Flint
13-01-2010, 12:38 PM
Some people couldn't problem-solve their way out of a paper bag..
Hey, it could be a really complicated paper bag.. :P
I don't think it's necessarily current graduates that are a problem, I remember this sort from my varsity days. It's typically the candidates that do IT because it's "where the money is" and get through courses by having one of the smart coders in their project teams, and 'contributing' by doing the help documentation or fetching coffee and doughnuts.
Just to reinforce what Dis said earlier in the thread, there's simply no substitute for relevant experience. I for one am partial to coders who have 'classical' training as well, having worked with far too many cowboys that do a two week programming course and think they're equipped to write an ERP. A thorough 'academic' understanding of systems to back up coding skill is really valuable.
I'd also put huge weight on the ability to look at an existing system (that includes gamedev middleware), 'get' the thinking behind it and develop in the same mindset. Whether it's game or corporate dev few things are more counterproductive and troublesome than a primadonna programmer that forces their way of thinking onto everything they touch. I still have nightmares about the kinds of disasters I've had to clean up after a company cheaped out on developers and got one of these monkeys.
BlackShipsFillt
13-01-2010, 01:47 PM
If I were to be bluntly honest, I believe in a few years time almost all game development in going to be done in middleware engines. It just doesn't make financial sense to program something that has already been programmed by someone else and is for sale at a fraction of the cost of the time it would take to do it yourself... There will always be a few games that push the boundaries of what games can do and design their own engines... but these will be the exceptions to the rule, and often that engine will end up for sale itself (like Unreal or Crysis)...
I really don't think what can be learnt by building games in lowish level code (like using OpenGl) merits the time that it demands. I see game engine developer as a distinctly different profession from game developer and I expect to see the gap between game programmers and classical programmers grow ever bigger as time progresses. All of this concerns and frustrates me because I think our educational institutions (like UCT) are straddled over that gap, and I simply don't have the resources to train programmers myself.
I know this opinion may be dissonant to some, and I probably would feel a bit differently if I had been through classical training, so I could be entirely wrong. Also I may be overestimating the reach of middleware, but there definitely is a trend towards it.
Chippit
13-01-2010, 02:15 PM
...and 'contributing' by doing the help documentation or fetching coffee and doughnuts.
To be fair, I've always liked those types. They're better than the ones who insist they can help and end up screwing up everything. :P
Plus. Doughnuts! :D
I really don't think what can be learnt by building games in lowish level code (like using OpenGl) merits the time that it demands. I see game engine developer as a distinctly different profession from game developer and I expect to see the gap between game programmers and classical programmers grow ever bigger as time progresses. All of this concerns and frustrates me because I think our educational institutions (like UCT) are straddled over that gap, and I simply don't have the resources to train programmers myself.
Also, I actually fully agree here. These skillsets are very different, but I don't believe that they necessarily have to be mutually exclusive groups. Then again, this can be said of everything, I suppose. You do get programmer-artists, after all, as rare (and valuable!) as they are.
BlackShipsFillt
13-01-2010, 02:22 PM
Yeah... This is true. Having both skillsets is great. The reason for my concern is that I have the impression that UCT students spend the greater proportion of their time on engine development at the cost of game development experience, whereas in the real world these proportions are inverted. Unless the UCT students actually are going into game engine development, which I can confidently say they are not, the priorities of UCT are misplaced.
(Once again I'm sorry for singling out UCT, I'm using it as an example, it is still the best option for training awesome games programmers that I know of)
[edit] Although, after thinking about it some more, perhaps what I am asking for is for UCT to produce programmer-designers... Which maybe isn't the field of interest for a lot of the students, and, in the real world there may be no need for the programmers to be able to design games as there will be a specialist designer who will do that... although, while this may be true elsewhere, I don't think the South African games industry has reached a point where its programmers can afford to be obvious to design (because noone is teaching specialist game design) (when I say design I refer to gameplay, not frameworks, though that comes into it)
dislekcia
13-01-2010, 05:38 PM
My own feelings are that while we'll see a lot more games made with middleware systems and some systems will rise triumphant eventually, I expect people to keep coding their own engines as needed.
The reason is simple: Coding an engine really isn't that hard anymore. Most, if not all, of the problems an engine has to solve are known. We have known algorithms that handle most of the situations an engine for a specific game might have to handle, those algorithms are specialisations of algs from general computer science devised to solve specific classes of problems. These things are not difficult to do, they just take time.
So why code your own engine then? Simply because the game you envisage might require a different order of assembly for the known parts you need to put together. Maybe you need to manage your collision in a shader because you've got a heap of fluid dynamic objects, etc. The reason this might be important comes from the thing that makes games fun to make:
Games are all about creativity. You have to be creative to envisage the idea of the game. You have to be creative when coding the systems that the game needs. You have to be creative when playing the game. It's one big creative endeavor from start to finish, filled with problem solving, reasonably unique implementations of known behavior and general vision to imagine something that simply wasn't there before.
And this is where experience helps: Just as players who are familiar with mouse-look will be more skilled instantly at a new shooter game, no matter how different the core mechanic (Think of a newbie playing Portal and a veteran playing the game); A programmer with "classical" experience has a grounding in terms of the standard ways of solving problems via code, implementing A* isn't hard if it doesn't sound like MAGIC. A programmer with experience in game programming can implement an AI system fast enough to allow valid feedback to inputs AND handling of gameplay states because they have patterns for what these things mean.
And those patterns are HARD to explain! How do I get across what you need to do in order to solve a specific game-related sub-shape of a class of problem that's known in general CS to a programmer that doesn't know how to even recognise the meta-class of the problem in the first place? That's what a BSc should give you, that base to build on.
If I have to talk about a specific problem I want to solve with Aeq, we've got a shared vocabulary that turns that into something easy to do: "Ok, we throw that at a tree and see what bubbles out on top, then we don't have to worry about search-time slowdown" "Good idea, then we can weight it so that powerups emerge on the left all the time as well, so we only have to keep going down an edge to find what effects are currently active!". That's a grounding in computer science, plus the "design" intuition to be able to turn the systems we want the game to present to the player into systems that a computer can understand. That's what I mean when I say that a game programmer needs a hefty dose of creative problem solving and insight... These things come with actual exposure to making games and the rigors that "having to get something out" forces you through. I look at what SAGD is doing and it doesn't make any sense to me: Why isn't someone just implementing ROAM for their terrain engine? What do they mean they're NOT mipmapping textures? WTH?
The only thing I can conclude is that the problems of trying to get something to display on screen seem sexy and shiny and entertaining, which is why people get stuck focusing only on solving those (relatively trivial) issues. They should rather be focusing on the whole picture, which would mean they'd still learn how to do the sexy, shiny display stuff, but they'd ALSO have enough vision of the rest of the things they need to learn to be able to pace themselves and not waste months and months going over the same ground in slightly different ways. Trust me, trying to figure out what's going on in a complex object structure, deep inside a currently playing game and diagnosing a gameplay bug is WAY harder than squirting correctly formatted data at a graphics card... And the point is that the gameplay logic is always going to change from game to game, so you've always got this big complex code loading ON TOP of any middleware you're using anyway.
BlackShipsFillt
13-01-2010, 06:07 PM
hmmmm... I think you have insight into SAGD that I am missing... Discussions about the programming and the technological side of game development sometimes go over my head (like a number of the problem/solution examples you gave). My primary concern about SAGD is getting people enough experience making games so that the games they make are fun, which is why it makes little sense to me not to use middleware. While I still personally see teaching people to make fun games as the primary goal in SAGD, there is actually a lot more to game development that I sometimes overlook.
dislekcia
13-01-2010, 07:00 PM
Oh, I mean SAGD the website, not here or the general community of people interested in game development. I referenced them as the perfect example of people distracted by the sexy problems of displaying stuff instead of people engaged in the real problems that come from trying to make a computer do something fun.
I agree with you: Making fun games is the important part of game development, it's the bit that we need to turn into a South African "skill" if we ever want to grow our own industry locally - We need to be the game design wizards, always churning out awesomely enjoyable stuff. So far, it appears to be working as a general philosophy...
Flint
14-01-2010, 08:09 AM
Using middleware is already the route taken by a really large proportion (the majority?) of developers to get the job done, but even so there are always problems that an engine doesn't solve for you. If every problem could be solved by an off-the-shelf engine, every game would be identical-or at least there would be a really tiny set of possible differences between games.
I agree though that these days a game programmer needs to be comfortable using middleware (hence my comment above about 'getting' and 'getting into' a middleware product's way of doing things) but they still require that core problem solving skill. Also, don't kid yourself into thinking these middleware products are perfect, very often a large amount of time gets wasted trying to figure out how the middleware is screwing up because of your particular use of it (@dis RW + streaming = garrr!)-having an understanding of the way the underlying technology works is a massive help here. If you don't have a basic understanding of a rendering pipeline, how can you troubleshoot when someone else's pipeline is borking on you?
herman.tulleken
14-01-2010, 09:55 AM
The thing that drives me totally nuts (and I mean this quite literally - ask Dale at Luma ;-) is when the engine development is all about the sexy problem of displaying stuff on screen (and sometimes a bit of physics), but not about the actual problem of making a production tool - something that makes everyone's job on the team easier. Nowadays, when I evaulate an engine, I hardly look at the graphics / physics features, I only look at organisation, integration with SVN and other tools, debugging features, how easy it is to work together, GUI framework, and above all, how information between entities are shared. The last point is what makes it possible or impossible to implement a specific game elegantly.
Engine development is an interesting problem to solve, and a worthy one to pursue, especially as a hobbyist (because it is fun!) But most engine developers [I mean mostly here non-professionals, although there are several "professional" low-end engines in the same boat] miss the point entirely. So what if you have this or that cool feature, but you cannot let your AI monster know where the player is?
To be honest, for most projects I can't see how rolling out your own middle ware can be better than using off-the-shelf stuff... even when they are buggy or missing key features [except of course if you have massive resources].
Well, that's IM!HO.
BlackShipsFillt
14-01-2010, 10:49 AM
Yeah, I just don't have the resources... and, in my case the training to go too far outside of the tools that I use (without an intense amount of wasted time)... I envy devs like dislekcia who could. But this isn't a limit on my creativity, just on my range, and with current generation middleware there isn't a lot that I can't do...
However someday I do hope to have the resources (and a lead programmer) to tackle innovative code problems that allows for unique (and impressive) gameplay tricks (like what they did in Narbacular Drop).
xyber
14-01-2010, 10:57 AM
Oh, I mean SAGD the website, not here or the general community of people interested in game development. I referenced them as the perfect example of people distracted by the sexy problems of displaying stuff instead of people engaged in the real problems that come from trying to make a computer do something fun.
....
wow.. putting a whole community under a banner like that. I know of one guy working on engine tech, bunch of guys that don't do anything gamedev related, and some guys working on games. Not everyone over at SAGD work on engines.
BlackShipsFillt
14-01-2010, 11:33 AM
hehehe! Community war! I hadn't visited SAGD in a while... actually looks like there is some awesome stuff going on there... only 1 out of the 8 recent journals is by someone who seems to be doing games the hard way... I remember about a year ago it seemed like everyone was involved in some sexy engine problem...
dislekcia
14-01-2010, 01:10 PM
@Flint: I think the core point is that game development is more about the TYPE of people you have doing it than anything else. A programmer could start in middleware and gain experience by diagnosing the sorts of problems you've talked about, or they could start from a classical degree and "get into" the correct mindset for the middleware they're using. Either way, if they're the right sort of person, they'll become the problem solving, creative programmer that games need. (Also, you didn't see the issues with RW + streaming on the PSP, or did Luke talk to you about that? Buffer size discrepancies FTL, he had to write a whole async replacement)
@herman: That is a damn good point sir! The real saving in middleware is their tool pipeline and integration. Features that artists can't use without also being hardcore programmers are dead features. Ditto for elements of code that can only operate in isolation. Personally, I love systems that just let me get on with making the fun stuff work. If I can't iterate, I'm not sold ;)
wow.. putting a whole community under a banner like that. I know of one guy working on engine tech, bunch of guys that don't do anything gamedev related, and some guys working on games. Not everyone over at SAGD work on engines.
hehehe! Community war! I hadn't visited SAGD in a while... actually looks like there is some awesome stuff going on there... only 1 out of the 8 recent journals is by someone who seems to be doing games the hard way... I remember about a year ago it seemed like everyone was involved in some sexy engine problem...
Nah, nothing of the sort. I'm just calling it like I see it :)
Flint
18-01-2010, 01:41 PM
A programmer could start in middleware and gain experience by diagnosing the sorts of problems you've talked about, or they could start from a classical degree and "get into" the correct mindset for the middleware they're using.
See, now that's where I disagree with a lot of people. You simply don't amass the amount of useful theoretical knowledge working your way up the practical coding ladder that you do spending three years studying the ins and outs of computer science. I'm really not being snobbish here or anything, but speaking from experience with developers of varying levels of qualification and expertise. I have dealt with many programmers that have years of experience behind them and even after all that time applying the trade, the degree'd/diploma'd ones definitely stand out for their breadth and depth of understanding of programming problems and solutions. They also have more of a tendency to 'get' the bigger picture.
dislekcia
19-01-2010, 04:33 AM
See, now that's where I disagree with a lot of people. You simply don't amass the amount of useful theoretical knowledge working your way up the practical coding ladder that you do spending three years studying the ins and outs of computer science. I'm really not being snobbish here or anything, but speaking from experience with developers of varying levels of qualification and expertise. I have dealt with many programmers that have years of experience behind them and even after all that time applying the trade, the degree'd/diploma'd ones definitely stand out for their breadth and depth of understanding of programming problems and solutions. They also have more of a tendency to 'get' the bigger picture.
The thing is, you're already pre-selecting for programmers that have come through a degree system and retained stuff. Hordes of people emerge on the other end of their university careers clutching a CS or IT qualification that belies their actual ability. That's just the way it is: You have to be the right type of programmer to really cut it.
There are many different ways of creating that type of programmer: Maybe the broader-focused degree process is a very good way, but it usually only works with people that have been messing with PCs for ages on their own and have a real hankering to understand how people do all the "cool stuff" that they haven't been able/willing to recreate on their own. Programmers that come from a fully self-taught background can become just as skilled if they're given the same sort of exposure (and maybe the freedom to do essentially nothing but explore CS theory for 2 years)... Sure, they'll fail if they're tested in the vocabulary of university CS, but given logic problems they'll do much better than most people with a degree.
And the real test of a good programmer (a good anyone, in my personal philosophy, tbh) is what they're able to learn when challenged. My point is simply that the process for selecting those superstar programmers is more complex than only sifting through those that have a degree behind them.
Flint
19-01-2010, 08:25 AM
Oh absolutely, I'm definitely not saying that having a degree or diploma guarantees a decent coder, chances are better though. Natural talent isn't the only thing that matters, every team needs it's workhorses as well as it's rockstars and those that don't fly through varsity because of natural nack have to work to get through it, and that dedication and ability to do what needs to be done is also a very desirable quality. What I am saying is that looking at two candidates with equivalent experience, the degreed/diploma'd ones typically have a better understanding of underlying concepts, as well as better learning and problem solving skills.
BlackShipsFillt
19-01-2010, 10:55 AM
Okay. But what about making games?
My objection has never been which is the best way to teach programming... My objection is that if you're giving all the programmers the right skills to hit the corporate sector, and only some of the skills to enter the gaming sector, and the corporate sector pays better and offers bursaries to top students, where's the incentive?
And if universities don't teach practical skills there's a much bigger challenge for graduates who wish to start their own gaming companies, which right now this industry needs. A course solely devoted to actually making games would solve this, but I agree the programmers coming out of it wouldn't be as programmery.
My point is: good programmers != more SA games.
Although, to be fair, most of the students of the programming course at UCT have not graduated yet, so I may be proven completely wrong.
AndrewJ
19-01-2010, 02:37 PM
My objection is that if you're giving all the programmers the right skills to hit the corporate sector, and only some of the skills to enter the gaming sector...So what is different about the two skill sets? What are the similarities? Learning to work with many rows of data? Possible ways to tackle different programming problems? UI principles (note that I didn't say design)? Exposure to/experience with various static and run-time analysis tools? Heck, how about some DBA-by-Accident goodness just to round it off? ;-) (Hmmm... I wonder what kind of game could make good use of a small little database that's packaged with it? And would things like indices, statistics and general maintenance on those tiny tables be worth doing? No, serious question guys!)
While I don't use linear algebra in my everyday programming job, I think that learning it might open up some different avenues of thinking for me about programming and everyday life.
Etiko
19-01-2010, 03:28 PM
Getting the right skills looks like it's going to be harder in the future: http://www.itweb.co.za/index.php?option=com_content&view=article&id=29133:sa-faces-dire-ict-skills-shortage&catid=69:business
BlackShipsFillt
16-06-2010, 01:18 PM
I know this is an old thread, but thought I might add this update...
I've been working for a week and a bit with two of the students from the UCT game course, and, although they didn't know Unity at all when they walked in, they've picked it up incredibly quickly and are already producing solid gameplay.
In fact they're also passing along nuggets of knowledge to me (because I never studied programming and so my algorithms are really weak)
I'm not suggesting everything they have been learning is vital for the game development industry (they do a lot of work in Linux), but my experience of the calibre of the students there leads me to believe that the UCT course is an excellent launching pad for a career of game programming.
(I know I've been a bit derisive of it in the past so I'm correcting myself)
dislekcia
17-06-2010, 04:51 AM
Ah, but what are their personal games like? That would be the real question for your previous view, yes? ;)
Loved the crack about Linux not being game-related, bwahahaha!
BlackShipsFillt
17-06-2010, 04:33 PM
Ah true, yes, most of the games I've seen have been tech demos (2D, sometimes 3D topdown sandbox shooters occasionally with physics or networking), with very simple gameplay mechanics and programmer artwork.
Though despite this the students I'm woking with have been surprisingly clued up on gameplay (though admittedly they are busy with a shooter for which they have ample experience).
Was my previous view that the name of the course, ie "Game Design", was a misnomer? Because I still stand by the assertion that it is not really about "Game Design" but more about "Game Engine Design".
Still, I've been impressed with aptitude of those who have studied it.
Powered by vBulletin® Version 4.2.4 Copyright © 2019 vBulletin Solutions, Inc. All rights reserved.