Open source games?

Hello everyone, this is just something that I’ve been brooding on for a while and just wanted some input.

So basically I know that there are a lot of people who are always interested in making a colossal game that is simply unreasonable to accomplish. WoW and Elder Scroll clones come to mind immediately. Thing is, I was wondering if these projects might fare better if they were approached as an open source project.

I’m not saying a game that has a mess of mods, no one likes wadding through the oceans of crap to find one gem. No, I mean have the tools available to make content but then have it all filter through a moderator that determines what makes it into the game and then has the game auto-update the new content regularly.

Question is: has this been done before and if so how did it pan out? And is this something that is unreasonable for me to plan to do in the future?

All comments and suggestions are appreciated, even if it’s “You’re an idiot”.

Darn I can’t find a pic of House with a label saying “You are an idiot!”

But seriously, there are legal issues with open source. For you to be able to sell your own game you may be able to make the open source project under the BSD license, that allows you to do anything you want with it commercially (so you can make money.) The problem is, anyone working on it may be able to do the same even if you stop the BSD licensing once the project is complete (a possible thing but not retroactive, anyone that had code under BSD can still do anything they want, including redistributing the code under BSD for others to do the same.)

The other legal issue is copyrights. If you do an open source that is not BSD (giving the members no right over the code) you better be paying them or they own the contributions and can block you from selling it.

There is more and all are reasons why you don’t see [that I know off] commercial open source products.

There is another level of open source that can be pursued. Not all Open Source accepts contributions. You can make your game, release it and then toss it out in the open as open source, under a license that says anyone can do anything with it as long as they don’t redistribute… let’s say the art. This stops anyone from reselling your game, but gets you bonus points with the Open Source community and that in turn may get you some free publicity. You still may get people here and there trying to sell the thing, but you have legal grounds to have stores (like the App Store) to take the thing down because it’s yours.

If what you are looking for is the team help, in my opinion, it would be better off just finding a team and give them a percentage of ownership or royalties as payment. If what you want is the karma, then release your code at launch, but as you noted, the organizational nightmare of accepting and rejecting open source alone may not be worth the benefits. Add on top the legal implications of ownership and it does not seem like a good approach.

You’r an…oh wait, this is actually a great question :slight_smile:

I think open source games are hard to do because

What do you mean, I don’t get a say on feature X?
What do you mean, I put 300 hours in and don’t get paid -anything-?
What do you mean, I’m antisocial?
What do you mean, my code/art/music/mouth style doesn’t fit the project?
What do you mean, we can’t have unicorns? We -have- to have unicorns.
What do you mean, that’s how we are doing the inventory system? It sucks. I wouldn’t want to play a game with that inventory system, so why would I want to develop on it?

Honestly…I think the game programming community would be better served if people would share their approaches and how they went about solving various challenges and systems, instead of straight code. For example: I’ve worked on a minecraft-clone style project, called MinePackage. My intent was to make it an open source framework.

I’d have done the community more of a favor if I had done this:

  1. Pick a major system in the game, like generating a procedural terrain mesh from noise.
  2. Document the idea behind it, and the ideas behind it. Diagrams, etc. The point is NOT to slap down a bunch of code, but to clearly, thoroughly explain WHY and how this was done, the approach. Pseudocode.
  3. Then, show the code that actually does it.

To me…the important thing is not to have the code, unless you don’t care about learning anything. The important thing was understanding WHY, and HOW. Again, not how as in OMG what code do I type, but how as in I don’t get it…how do I get from A to B? What concepts do I need to understand, how will things work together, etc.

That way…heck, regardless of whether you use XNA, Unity, UDK, or whatever…you can create the same results. Learning Unity is easy.

@ Tharsman: Wow, honestly I never really even considered legal issues. I just sort of assumed I could cover all angles with the user agreement and the moderation. Also, making money is never really a priority for me. I’m in it for the fun of making something really.

Thank you, that is something I’ll need to research.

@ jc_lvngstn: Well of COURSE the game is going to have unicorns. What else are you supposed to hunt in the magic forest of wonder. Seriously though, I was thinking that I would have the skeleton put together (the RPG engine, GUI, inventory, AI scripts, and so on) but rely on the community for things like maps, dungeons, new enemies, quests, models, items, and so on. Seems that this would eliminate most concerns that you’ve mentioned.

But payment and daily workings of the project are things things that I need to address. Thank you for the suggestion of documentation, truth be told I am a sloppy coder and really need to develop a better system of documentation.

If you plan to going all free, and the project in question will be forever free, then there is little to worry about legal issues, just stamp a BSD or GPL license on it and you are fine.

Big difference between those two licenses is:

With BSD, the recipient can do anything they want to do. They can sell it, they can branch it, they can base their entire new product on it. It allows anyone to just snatch the code, do their own thing, make money off it and not contribute anything to the community, something some open source communities criticizes. However that also means it’s more flexible, and people that get the code can always contribute with some other stuff if they so choose.

With GPL no one can redistribute the final app without making the code available AND they can’t restrict others from redistributing the app they gave out. That has been an issue with the Apple App Store as the App Store automatically stamps a DRM on everything, making it sort of incompatible with GPL. It’s a bit restrictive but it’s proponents claim it makes sure no one benefits from the code without contributing back. Problem is you are forced to contribute with everything you do. If you use 5 lines of GPL code in your 1 million lines of code, GPL demands you make the 1 million lines available for free.

So both source bases have their ups and down. I am personally fonder of the BSD license.

am I missing something here? I’m pretty sure open source just means that the source code is open for others to use, you described it as some sort of Steam Workshop branched off from the main game…

However I’m assuming that it is just a type of a community all-for-one game. I see this very difficult if someone is not in a team. Unless you know exactly what you’re doing…

edit: what Tharsman said

Open Source Software is not a license. It’s a whole category of licenses.

The restrictions go something like this: Public Domain → MIT → BSD. Those essentially say - DO WHATEVER YOU WANT!

Then you have LGPL and GPL. GPL is sometimes called ‘viral’ because if you use the pieces of GPL code in any way, it ‘infects’ your product and makes it GPL too. LGPL is similar, but stops when you leave the library. This is how we released the Delta3D Open Source Game Engine (www.delta3d.org). LGPL allows commercialization and people built lots of proprietary stuff with it (military simulation stuff, not commercial games).

OSS Licensing is complicated, but can be successful: Linux, Open Office, and Apache.

Licensing is not the reason what you suggest won’t work… but that’s another story altogether.

Gigi.

Only problem I see with open source is you’re doing other people’s work for them and aren’t really in a position(unless you’re already rich) to patrol illegal uses of your work (people copy it and sell it and have money to fight any suit you bring).

If they don’t flat out copy it, wrap their code around it and sell it, you’ve at least done the design work for them. A simple rewrite of some functions(optimizations) and swap in some graphics for a sweet ROI.

I’ve wondered about a crowd-sourced game/framework, where contributors got shares which were voted on by other members to determine how many shares each contribution was worth.