AGS Edit

bic: Edit


  • very thorough, friendly and up to date documentation (easily browsable + examples)


  • currently, bus factor of 1

qptain Nemo: Edit


  • if you want to make a 1:1 clone of Sierra or LucasArts games it's pretty much the tool to use
  • relatively easy to learn
  • a big community and a lot of references
  • the engine itself has ports to different platforms
  • free & open source


  • no Linux editor
  • the scripting language is limited, quirky and there is an endless amount of surprise quirks. the moment you step out of making 1:1 clone of Sierra / Lucas games you enter a land of endless nasty hacks
  • outdated software rendering pipeline unsuitable for high resolutions and high performance

syrupbuttle: Edit

Suitability for oldschool adventure games ★★★★★: You like oldschool adventures and creating them? You will like AGS, it is an amazing tool for that.

Suitability for other genres ★☆☆☆☆: You like something else? Don't use AGS, use a better general purpose engine. (or a suited niche engine for the given area, e.g. RPG Maker for RPGs and so on) AGS has a rather narrow focus, you CAN create other game genres with it but it's not really a good idea or convenient to do (and you'll probably hit problematic limitations sooner or later).

Twine Edit

qptain Nemo: Edit


  • really easy to get started, I mean, really really easy
  • works in the browser. on any platform
  • perfect for making simple CYOAs and prototyping narrative-driven work


  • works in the browser
  • you're limited to text-based games
  • I found scripting and the whole thing in general a bit awkward and uncomfortable for doing nontrivial things despite its simplicity

Panda3D Edit

syrupbuttle Edit

What is it/purpose: generic purpose 3d gaming engine.

Has *everything* required to build a game (physics, sound, ...) without additional stuff, and it can do all the 3d genres you could think of. You can also use it for 2d, but that's like using a big car to slam a nail into the wall - I recommend using some simpler 2d engines like love2d for that instead.

Features ★★★★☆: it has less features than some commercial stuff like Unity or Unreal 4, but more than most other fully open-source engines.

It has all you'd need from a gaming engine including a working blender -> exporter -> engine pipeline, capable sound and networking and physics built-in and such. The only obvious shortcoming is no editor, so you need to use e.g. blender, 3dsmax, ... to make your levels or write your own (which is generally ok for large projects, but a bit of a problem for quick prototyping of small games with non-trivial level areas). In comparison to Ogre3D or Irrlicht, it is a lot easier to get all the stuff working and it is a more complete package. It's definitely not just a "framework" or graphics-only engine, but a full-blown game engine. It's a bit less complete than Unity or Unreal 4 due to the editor thing.

Beginner friendliness ★★★☆☆: more work and slightly harder than Unity, still wayyy easier and comfortable than most C/C++ stuff like Ogre3D, irrlicht, ... But if you can't handle something like Unity easily, you might be initially quite lost.

Some basic programming knowledge is required. Panda3D uses Python which is easy to learn if you have basic some programming skill to start with, similar in difficulty to Unity/C#. However, something like AGS is still notably easier (but also notably more limited). The Panda3D documentation is quite good with a really extensive manual with lots of practical examples. However, Panda3d doesn't come with an easy editor or IDE, so you gotta get used to the tools a bit the "manual" way with your own choice of code editor, doing your levels in blender or something similar and getting the panda3d exporter working, and so on.

Therefore, it requires a bit more coding and fiddling to initially get something to run compared to Unity or probably Unreal 4 with their editors with easy drop-objects-in-and-play support. From there, it's usually quite easy to use though.

Performance ★★★★☆: more than good enough if you're not building Crysis 4.

Panda3D uses Python for game code which is notorious for being *cough* not that quick, but the core is C++ so the main management is fast. Still, Ogre3D probably beats all other open-source engines including Panda3D in speed - but unless you're doing the graphics extravaganza of an AAA game with a $200m budget, it'll be quick enough to run your cute indie 3d platformer with acceptable performance on all machines except those owned by bicilotti, unless you're doing stupid things in your game code that slow things down.

Productivity ★★★★☆: very easy to code with and expand, after learning the API a bit more in-depth you'll easily add new things. However, coding a suitable level editor or searching one might initially hold you back a bit.

It is very easy to use once you got started (see difficulty section), but before you can take off with larger areas of gameplay and actual content, you'll probably invest some time to figure out how/whether to create your levels in blender (which is notably more work than an editor meant for level editing only), some other level editor or how to generate a nice world procedurally. Once you figured out how to create your non-trivial amount of world to make your game take place in (or maybe you were lucky enough to choose a genre which doesn't require much level space), you should be advancing quickly.

Community content is available under CC-BY-SA unless otherwise noted.