Note: This website is archived. For up-to-date information about D projects and development, please visit wiki.dlang.org.

The 2D Game Arcade Library is 2D game engine backend. It is not designed to be a full fledged 2D game engine, as that would immediately limit its use for only a single genre of games. Arc is more geared towards complex 'action' games, but card games can be accomplished as well.

The scope of Arc came to my mind as Arc matures, as what the library should and should not be, as a high quality library needs some focus, and ArcLib currently has none. So here it goes.

Arc is a cross platform way to ...

  • Handle window and input
  • Render 2D graphics using OpenGL (scenegraph, particles, gui, frames, animations, freetype fonts)
  • Load media (.wav, .ogg, .bmp, .gif, .jped, .png, .tga, .tiff)
  • Play sounds (using OpenAL, so pitch changing and positional sound are possible)
  • Provide advanced 2D physics through Erin Catto's Box2D

Arc is not a ...

  • Networking library: I've thought about coupling a networking library with Arc, but the problems with networking are complex and this is probably best left to another library at the users discretion.
  • A Tile Map renderer or other aspects dealing with engine specific features: Such engine specific features will most likely have a custom solution for each game, providing one in Arc would be a waste of time as the user is likely to write their own.