Mocha

A 2D game library written in C++ for Linux and Windows
Download

Mocha Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL v3
  • Price:
  • FREE
  • Publisher Name:
  • Sean Olson
  • Publisher web site:
  • https://launchpad.net/~olson-sean-k

Mocha Tags


Mocha Description

A 2D game library written in C++ for Linux and Windows Mocha is a C++ library for developing 2D games for both Windows and Linux platforms. It attempts to provide the basic framework for creating games while building easy to use tools atop its lower level APIs.Originally, Mocha used a plugin-based system that loaded the library's core implementation at runtime. This approach has recently been abandoned since the costs were greater than the gains. Plugins will still be an important part of the library, but will instead primarily provide support for handling varied resources, such as loading certain image file formats or shader languages. This is similar to Clanlib's concept of providers, but less static.For flexibility, Mocha provides a set of interfaces that allow for replacing its core implementation. This is entirely static. The default implementation, which is designed to be cross platform, is called Barista. Barista is primarily implemented with OpenGL and SDL. Using the provided core interfaces, it should be possible to write an alternate implementation without modifying core code. This allows, for example, to leverage platform specific libraries or porting the code to platform that is not supported by OpenGL or SDL (therefore not supporting Barista).BuildingMocha can be relatively easily compiled at present on Linux platforms using bjam (Boost Jam). Of course, the appropriate development libraries must be installed. Take a look at the site configuration file to see what libraries are needed. There are currently no tools to automatically find dependencies. There is no autotools support (yet).To attempt compiling the latest available revision, try...$ bjam /core...to compile only the core library, including Barista (since it is the default implementation).Plugins included in the project can be built with...$ bjam /pluginsNo plugins will be included for some time, most likely. Here are some key features of "Mocha": Hardware accelerated 2D graphics: · Fast, arbitrary, real time transformations (allowing for hierarchical scene graphs, etc.) · Simple loading of image and texture data · Support for multiple image formats, including alpha channels · Text rendering with bitmap and TrueType font support Audio playback: · Simple panning and fading effects · Support for multiple music and sound formats · Sequenced music support, including Impulse Tracker and Fast Tracker formats · Cue points for arranging and timing music Input devices: · Joystick and gamepad support Networking: · Simple, highly abstracted networking layer Event system: · A mostly synchronous system featuring an event queue/pump · Signals and slots (these are analogs to events in the event queue) Plugin framework: · Robust, language agnostic (C or C++) plugin system for extending Mocha


Mocha Related Software