Any open source game that is a paragon of good programming?

Started by
19 comments, last by Roots 12 years, 11 months ago
Totally agree. IMO the trick to be a computer programmer and keep the sanity is to stay as far away from maintaining what other people wrote as possible. And if you can stay away from what YOU wrote after making money from it, the better! :)
[size="2"]I like the Walrus best.
Advertisement
Believe me, I always try to do that. Its one reason why I work as a contractor now. I'm hoping between different short-term jobs at different companies, trying to find one that has good development practices and isn't going to force me to digest someone else's code 90% of the time I'm working there. Haven't found any yet... :unsure:

Hero of Allacrost - A free, open-source 2D RPG in development.
Latest release June, 2015 - GameDev annoucement

Me neither. The salaries for application support have tripled or more the last 10 years here in Argentina and people to fill those positions are very solicited. Maybe to some extent that's evidence of how bad labor it is... Personally, having experienced both jobs, if I'm given the choice between the two for the same salary I'd pick being waiter before being code-monkey.
[size="2"]I like the Walrus best.
I'm rather cynical about the state of "professional" software products, given that I've actually seen the code that goes into these things. They are so unstable and inefficient. I can't think of any other industry where you could get away with selling a product that is this shitty on the inside.[/quote]

College CS degrees, by year:

Year 1: OH MY GOD I AM GOING TO MAKE VIDEOGAMES IT'LL BE PRETTY SWEET.

Year 2: Well um... Databases are nice too, I guess. And hey, you can do some pretty neat things with Java! Maybe I won't be the next Sid Meier but programming's still pretty fun.

Year 3: "90% of software projects are shipped over budget, late, an non-functional. Have fun working 80 hours a week in a sweatshop trying to fix this."

Year 4: This is the part where you just cry yourself to sleep every night.

MeshGearFox... that's such a fitting description of my personal experience, it's quite eery ^_^
The key point mentioned above is that a game engine and a properly engineered software product are not the same thing; different rules apply. Yes, Quake's source code could make grown men weep and grown women faint, but it ran at playable framerates on a p60 with 8MB of RAM. That's the whole point of game code: extracting the absolute highest performance possible out of limited hardware resources. Sometimes that means you have to resort to deep magic to achieve this. If a spaghetti mess of gotos, globals, lookup tables, etc gets you the performance needed whereas a neat and elegant class tree doesn't, then which are you going to use? (Hint: the one that enables you to put a roof over your head and food in your belly.)

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

I'm curious to hear from people who commented here about why they believe the Quake engine is so bad in their opinion. I certainly hope your objection isn't simply "It's written in C". The constraints today are different, but do you honestly believe that it is a bad example within its category? I remember the code to be quite pleasant to work with, and would consider it a good example within its category. Admittedly it's been a long time since I really worked with it, but if you were to write an engine for the constraints of those day today, would you really do things that differently? I suppose you would use object oriented syntactic sugar in quite a lot of places, but as long as you don't consider that to be changing the fundamentals of the software design, what is it that you would really do differently?
Widelands - laid back, free software strategy
Yeah, I've seen the code for several shipped commercial games (including the Quake3 engine). Q3 was by-far the cleanest and best organized of all of them.
Hmm I've not browsed too many open source games code bases. Most are pretty messy.. I've seen alittle of Quake years ago, standard arch for a C program at the time, not scalable enough for these days, has the basics. If your trying to learn how to make modern games I suggest taking a look at the Golgotha source code from Crack.com. I knew the guys, very competent programmers.

Golgotha Source Code


It's like a textbook implementation of a modern game arch (non-MMO). Has multi-threading, streaming, script based core, cross platform support, etc.. amazing since it was written in the early 1990s..

Enjoy!

-ddn
Hey, thanks for all the replies. I've been busy with a new job these few days. I'll definitively check out your game Roots this weekend

P. S. I should have precised that the Quake Engine was badly written from a learner's point of view. And thanks ddn3, I'll take a look at that one too.

P. P. S. I just looked at a youtube video of HoA. Seems like that tile set is quite popular. I got it from Lost Garden.

This topic is closed to new replies.

Advertisement