What are language/platform-agnostic best practices for a small game development team of intermediate to advanced developers?

High-level strategies (as well as suggestions in terms of frameworks, engines or IDEs which might offer a good ROI) are welcome.


Small team must target "small but beautiful".

  • Be sure of your target. Easy & broad supply is vital.
  • The Game design should be very simple(no rpg but more like some tabletop games or oldies),
  • The art should be minimalistic/2D (or using procedural tech)
  • the tools must be high level: use a established game engine.
  • the Language must be high level also (Python, Lua, C#). You prefer a low dev time over a very speedy program.

But do not sacrifice quality, that the only way to stand out.

| improve this answer | |
  • 3
    \$\begingroup\$ While I love C# and Python, I don't necessarily think that a high-level language is a must. I mean, certainly don't program in C or Assembly, but C++ is high-level enough for many people and if your whole team already knows it, then that's the best language to use. Much more important is the suggestion to use an Engine, or more generically, to make good use of high-level libraries. The more of someone else's good code you can use, the better. \$\endgroup\$ – CodexArcanum Oct 20 '10 at 17:10

Small team + small budget = small games. Never forget that you're on a budget so the team/budget ratio have to define the time you can work on each game.

That said, take time to prototype. You can't afford to make not good enough games.

For the game engine, the current best all-in-one and cross-platform engine affordable for (very) small teams is Unity.

If you think that the games you will make require precise control of the game engine (if it's not an established genre), then you'd better setup a framework made of several specialized libraries (Ogre, FMod, CAudio, RakNet, etc.). That said, it means you'll have to maintain the glue code yourself, so it have a cost. If you can't afford it, take a full engine anyway and try to wrap your game concepts in it.

Frameworks like SFML might be good for you as it provide basic bricks to build game-specific engine on (but it's more oriented to 2D games).

If you want to make a lot of games quickly, you'd better go the Flash way, as it's like some kind of basic game engine platform. There are a lot of game engine built on it and it's cross-platform.

For the tools, use whatever source control that works fine with your team organisation. Ides are relative to the language you want to use, so you'll have to search. Just know that if you work on Windows with C++ or C# then Visual Studio is always the best choice. It seems XCode is the best on Mac. I'm not sure for other unix platforms.

If you want to make a cross-platform game that is not based on an already cross-platform engine, then use C++. If you target only Windows and want to get fast to game programming (and find an adequate game engine like NeoAxis), then use C#. Python, over a cross-platform game engine or framework like SFML, can be a good idea too.

If you have the time, setup a project management tool. If you don't have time, don't bother and just make someone keep track of everyone's tasks. Redmine or TRAC are good candidates for this kind of stuff, but requires that you know how to install them. A quicker alternative might be Mantis that is php only (copy/past in your web hosting ftp). There are a lot of other simple alternatives on the web but don't spend too much time looking for them.

| improve this answer | |

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