Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

A few questions on the site have mentioned the need for more open source projects. I agree and wonder what frameworks should be developed.

I'll start the list.

  • A geometry kernel, including serialization (JSON, binary, compressed binary), tailored for OpenGL/DirectX
  • Gesture recognition
share|improve this question

closed as not constructive by Nicol Bolas, bummzack, Le Comte du Merde-fou, Sean Middleditch, Josh Petrie Apr 7 '13 at 23:00

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Not a real question. – pate Sep 10 '10 at 13:43
@FreshCode: Hence the "Community Wiki" flag. While this site doesn't have exact guidelines for community wikis yet, this falls well within the boundaries of the flag on other SE sites, e.g. MathOverflow ( – user744 Sep 10 '10 at 16:10
If you are starting a list question it would be better if your answers are in an answer instead of the question so they can be voted on separately. – Tetrad Sep 11 '10 at 22:04

11 Answers 11

I've already complained about this in another question, but having open digital distribution systems would be glorious. This encompasses both patching systems and end-user marketplace type things. Steam handles a lot of this, but is far from an open platform. Even if it wasn't a single shared marketplace like Steam is (or how phone marketplaces are going), having a solution you could easily rebrand and deploy for yourself would be a huge step forward (assuming people actually did things like submit patches upstream and all that FOSS goodness).

share|improve this answer
+1 That's a great idea I had never thought of. – Jonathan Fischoff Aug 3 '10 at 5:17
I've spent the last two years here working on our in-house system, so I'm probably a bit biased. – coderanger Aug 3 '10 at 17:36
To be fair, this would be exceptional valuable even outside of the gaming domain! – Stewart Aug 6 '10 at 8:01
@Coderanger Open to what end? I am working on some tools like this for my website, and I would love to pick your brain. – Noctrine Aug 7 '10 at 18:44
@Noctrine My email is noah@<my website>, feel free to drop me a line :-) – coderanger Aug 7 '10 at 18:57

Not a software project, but a documentation one:

A game technical quality checklist (like trcs or tcrs)

Many a time the design of a production game has been affected by these quite important documents. Indie games need them as much as professional games developers do, as it's at least a simple assurance that you've done a reasonable job.


There couldn't be a certifying body, but it could be a self certifying thing to start with.

If the checklist was concise, it could more easily become a generally agreed upon checklist. Once agreed upon, it might then become reasonable for distributors to allow peer review to confirm or deny claims whereupon the information becomes part of the distributors basic information package about items in its store.


Why not start one on the game dev wiki... ?

share|improve this answer
Obviously there can't really be a certifying body, nor are some of the TCRs from major platform holders relevant, but this is a really interesting idea. Do you know if anyone's done work on something like this? – user744 Sep 9 '10 at 16:06
There is the evil checklist for XBLIG games (and a corresponding not so evil checklist). – coderanger Sep 9 '10 at 16:33
The not-so-evil checklist ( looks much more useful outside the world of XBLIG. – user744 Sep 9 '10 at 19:35

Graphics driver develpers. Without working graphics drivers other game-related projects are irrelevant.

AMD and NVIDIA actually do make usable drivers, but I'm talking about open-source drivers. Mesa only supports OpenGL 2.1.

edit: This answer is only applicable to GNU/Linux.

share|improve this answer
Why is it so important for Linux to have open source drivers, if the proprietary drivers are usable? Putting the ideology aside, what relevance does it have to games? – Kylotan Sep 10 '10 at 15:44
@Kylotan: not all GPUs have proprietary drivers available. Intel is one of them, and their hardware, while not very fast, is fast enough to play many games. Gamers would enjoy faster/less buggy drivers. Reporting bugs is not enough, Mesa/Intel need more developers. To get them, they need better documentation. – SurvivalMachine Sep 10 '10 at 19:02
@Kylotan The proprietary drivers are a huge joke at best. The performance and OpenGL support is terrible and spotty, especially in ATI's drivers. It seems like their Linux drivers were only created because somebody twisted their arm. – Bob Somers Sep 13 '10 at 17:46
@Kylotan: Because you could have a savvy community bettering the drivers, instead of being at the mercy of ATI/NVidia's ebb and flow feelings vis-a-vis the Linux community. Their focus, with good reason, is to support the Windows platform. Linux is, at best, secondary. – alphadogg Nov 19 '10 at 17:02
It will never happen. The corporate line is that they believe allowing the open-source community to build drivers exposes too many secrets to competitors. – alphadogg Nov 19 '10 at 17:03

A generic, cross-platform game editing tool that allows you to edit game content (2D and 3D) for any game engine. It can be supplemented by editing & export plugins for a specific game engine, or for a specific game genre's editing needs (eg. 3D platform game editor, 2D user interface editor, 3D tilemap editor, etc).

Rationale: most open source game engines do not provide editing tools. Most existing game editing tools are proprietary and only work with the vendor's game engine (Torque, Unity, Shiva, etc.), or have a limited use (2D Tilemap editing). If you switch engines or platforms, you usually have to leave whichever tools you were working with behind and either learn or even write a new tool, or work without any tools at all.

What do you think of this idea? Do you think it's desireable? And would it be feasible?

share|improve this answer
It's feasible. And it exists. It's called 3ds Max (or XSI, or Blender, or...). – Neverender Sep 13 '10 at 4:47
Those are 3D modellers, not game content editors. They have been, shall I say, abused for editing some games but other than throwing something together real quick they are a pain to make actual game levels/worlds with. – LearnCocos2D Sep 13 '10 at 10:25
Okay, try Syntensity, Tiled, etc. There are other, more specialized editors. If you are looking for something as easy as the editor in Spore or ModNation, then you are looking at something that tends to be too one-game specific. – alphadogg Nov 26 '10 at 15:00

A Geometry kernel also begs for an Animation Kernel, including blending.

share|improve this answer

A good Flash player, since Adobe seems uninterested / underfunded in really working on theirs on non-Windows OSs, and the existing implementations are lacking (even e.g. ScaleForm has significant problems being "proper Flash" as designers/artists expect).

share|improve this answer

I guess that open service for custom avatar sprites would be useful especially with the growth of online and mobile HTML5-based games. I described the idea here.

share|improve this answer

EA STL (or equivalent).

share|improve this answer
Just wondering, why? The basic approach of EASTL is detailed more than enough in the paper to copy the parts you need; the particular implementation details of EASTL are now several years old and there are probably better ways to do it on newer C++ compilers; and many of the extensions they talk about are available in Boost (e.g. boost::intrusive::list) or tr1 (e.g. standard unordered_map). There are a few useful things left in it, but I'd never say it's the most needed open source project. – user744 Sep 11 '10 at 14:01
Why duplicate the effort? Why not benefit from peer review? Boost and TR1 do nothing to improve the brain-damaged allocator design, for one. Many of the proposed changes could be adopted by the STL and the STL would be better for it. But that will never happen. – Neverender Sep 11 '10 at 22:18
Well, it looks like your dream came true! – user744 Oct 19 '10 at 20:00

An stl-like collection of templated datastructures often used in games:

  • [hierarchical] state machines
  • quad-/octrees
  • bsp trees
  • sphere trees
  • kd trees
  • [any other useful spatial datastructure not listed]
  • resource managers
  • linear/pool/other allocators
  • timers
  • decision trees

It would be really nice to have theese available in an easy to use form that's known to be well tested and stable.

While open source implementations of some of the data structures listed exist, they're often not templated to use any data type (e.g. you're often forced to use yet another matrix/vector structure), not in a usable state, dead or lack peer review and testing.

share|improve this answer


For starters, a good system for NAT (Network Address Traversal) and routing, to combat any woes with firewalls and proxies. PC gamers should never have to deal with forwarding ports or anything similar.

Even better: An open-source, distributed multiplayer game network (eg., Xbox Live, PSN...). This would essentially be a protocol that anyone can implement, and anyone can run a server - they just communicate with each other to pass around information about who can be found where. Similar to distributed social networks (eg. Diaspora), this keeps any one party from having control, whilst allowing any indie game to seamlessly integrate into it.

Imagine if you could just add your friends as 'friends', and then any game you ever played you could just invite them straight away, no ip addresses, no id lookups, you just take them with you. Basically what do already, but open and free for all!

share|improve this answer
Your second suggestion is a pretty trivial layer over XMPP, the problem isn't getting it made, it's getting everyone to support it. – user744 Nov 19 '10 at 17:30

A real MMO platform, ie. one that supplies the middleware, lobby functions, etc, into which you can plug in your engine.

share|improve this answer
-1, there is no way this is the most needed project, given that nearly every other project suggested here is a prerequisite of it. – user744 Nov 19 '10 at 17:33
Every? There are lots of decent open networking libraries (you don't need a distributed version), open modellers exist already (Blender), I don't see the need for EA STL, game engines exist, etc. The only viable competitor project IMO is the digital distribution which would be cool. I can understand not voting for it, but downvote? Much of gaming is happening online, yet there is not even anything close to a viable, open platform for the ecosystem around an MMO. – alphadogg Nov 19 '10 at 19:50
Yes, nearly every. You'd need a patcher, a content editor, and geometry and animation kernels. You'd need some kind of social features for your network. You'd also need a standard library that works for games; EA STL is one such beast, though you could find another or write your own. – user744 Nov 26 '10 at 11:01
Content editor: Blender, Tiled, Syntensity. Kernels: not sure exactly what you mean here. Kernel is an overloaded term. Game dev "standard library": Lots of different languages and different game types. One library to handle them all? Really? Lastly, "social features" is exactly what I am proposing as part of a platform for online gaming. – alphadogg Nov 26 '10 at 15:07

Not the answer you're looking for? Browse other questions tagged or ask your own question.