Sign in to follow this  

Professional Source Code

This topic is 4677 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Has anybody got a link to some free profesional source code, so I can get a picture of what the professionals do over at electronic arts or codemasters etc. I'm dying to know how complex their code is, and if I can ever get that far. Oh ... Do some of those major game companies use the stuff that nehe teaches in that tutorial, or is there stuff way out of this planet?

Share this post


Link to post
Share on other sites
Here is a list of proffesional games who are now free (to play): http://liberatedgames.com/gamelisting.php . The source are not always included so you'll have to dig a bit to find all the sources.

Beware professional code != good code. Have a look at http://thedailywtf.com/ if you want to be convinced.

Share this post


Link to post
Share on other sites
Unfortunately, seeing professional source code is usually not a major eye opening experience that shows you the beauty of perfect software engineering. It's generally pretty bad, and sometimes you wonder how such an incredibly awesome game can have code that is that bad.

Share this post


Link to post
Share on other sites
Thanks for the replies. I downloaded a few of the games as the first guy said, and tryed compiling them with VC++ 6.0, and none of them worked.

...But they where still good to look at, withough compiling. I got a fair idea.

Share this post


Link to post
Share on other sites
I looked at QuakeII source when I was trying to figure how to organise my code.... and just went WTF

didn't get much of it. Figured I'd be better off cooking my own solutions.
Lots of files though.
Lots.

I'll know if thats really necessary when my project is done =)

Share this post


Link to post
Share on other sites
I have taken a look at the Quake 2 source and i was also lik OMG!!!!

To be honest if i ever get into the industry as planned my code will probably end up being bodges simply because of deadlines etc.

ace

Share this post


Link to post
Share on other sites
This is one of the great things about Open Source.

I cannot understand why hobby programmers insist on not giving out their source code with their games. When comparing what some guy in his bedroom has written compared to the offering of a professional company it does sound kind of absurd.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Yeah, that quake II source code is like ... :o ... And so are the rest of the games there. I think I'l just work on my own code. I can't see myself ever interpreting there code as sence - I'm not 1337 enough yet.

...Oneday...Oneday.

Share this post


Link to post
Share on other sites
A good place to learn techniques used in professional games is the IOCCC. Take a look at some of the entries and try to decipher them and figure out what they do, then run it and see if your guess was right.

This essay/article/book is also very important if you ever plan on programming professionally. (You can also learn from it by *not* doing what it says)

Share this post


Link to post
Share on other sites
I'm making a flight sim using the Freespace 2 source code. There are some very ugly things going on it there. Unless I want to rewrite major parts of the code I just have to go with it and do what they do.

Share this post


Link to post
Share on other sites
The Quake series is terrible for explaining how to write good good, great games? Sure. Great code? Ehhhhhh.
If you're looking for some generally very well done code, I'd check out some stuff by Paul Nettle on his Fluid Studios webpage. Note that he's using some odd HTML trickery on that page, the stuff you want's on the Source Code page. That's what I see as "production quality" code.

Share this post


Link to post
Share on other sites
Quote:
Original post by Sijmen
Hmm, how about Quake 3? It seems like the source has already been released (look at this page), but the downloads don't work for me. Any mirrors or such?

Ahh, mad. Im gunna check out that source. Hopefully I can actually compile it :/

Share this post


Link to post
Share on other sites
After working on a professional project I can honestly say that some of the stuff is out of this world and mind boggling. That does not go without saying that well commented code and seeing syntax that I am used to made the code easy to understand and modify.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
dude that is the **game** source not the **engine** source.
It compiles to like game.dll. Not the actual Q3A engine...

Share this post


Link to post
Share on other sites
Most commercial apps are driven by time-to-market and artificial deadlines like needing to release in time for Christmas. These sorts of pressures do not encourage high-quality code, especially in games where you have a relatively short shelf-life and little or no long-term maintenance requirement.

Share this post


Link to post
Share on other sites
Quote:

Most commercial apps are driven by time-to-market and artificial deadlines like needing to release in time for Christmas. These sorts of pressures do not encourage high-quality code, especially in games where you have a relatively short shelf-life and little or no long-term maintenance requirement.


Perhaps, but that doesn't make it a good thing. I'm not convinced that deadline pressure is a good excuse for poor code -- it may very well come back and bite you later on (in the same project) and you'll lose more time in the long run than you would have if you wrote better code in the first place.

This is definately a trend I would like to see vanish from the industry, and I think that with the rising popularity of middleware and such, we may just see this happen.

Share this post


Link to post
Share on other sites
I dont work in the games industry, but jpetrie, whilst I agree with you, when it comes down to your bonus on any IT project, and your PM or teamleader says you have 3 days, and you know you can do it in 3 days if its 'down and dirty', then 9.5 times out of 10 thats how it happens on any commercial project.

Producers, PM's and managers will push you to take the easy solution, and then if it doesnt work, will find a way of not taking the hit.

Thats just life, dont forget, depsite all the best intentions, these places are businesses, and as such will take commmercial risks that a project will be fine and on time, over a 10% chance that a rewrite will make it late

Its not right, it sucks, but its business, these game comapnies may say they are run by gamers, but the owners have multi million pound budgets and bankers to please before they can be aesthetic :-/

Bp

Share this post


Link to post
Share on other sites
Game developers have to hack code originally written as a prototype of tech demo into a whole game. Because of deadlines, rewriting something properly from scratch when some functionality already exists will not be approved by the boss!
And since game code gets resued between games, a bodge required for one game will still be there when the next game is written, possibly requiring the bodge to be bodged!
I'd recommend looking at professional application software, where some software engineering and QC has ever taken place!
But the code used in games is no different to yours, just bigger!

Share this post


Link to post
Share on other sites

This topic is 4677 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this