Mercurial > malikania
view docs/overview.md @ 115:07cb0d9f92e9
Docs: add development overview
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 11 Sep 2017 16:26:35 +0200 |
parents | |
children | 835c8ee3f9e5 |
line wrap: on
line source
Malikania overview ================== This memo is a simple overview about the Malikania Engine architecture. Dependency overview ------------------- This is the main targets and their dependencies. ````nohighlight +-------------------+ | | +-------------------+ | mlk-client | | | | mlk-map | | mlk-server | | mlk-tileset | | | | | +-------------------+ +-------------------+ +-------------------+ +-------------------+ | | | | | libmlk-server-js | | libmlk-client-js | | | | | +-------------------+ +-------------------+ +-------------------+ +-------------------+ +-------------------+ | | | | | | | libmlk-server | | libmlk-client | | mlk-bcc | | | | | | | +-------------------+ +-------------------+ +-------------------+ +---------------------------------------------------------------+ | | | libmlk-common | | | +---------------------------------------------------------------+ ```` libmlk-common ------------- This library contains many utilities that can be used in both server and client targets. This library does not depend on client or server code at all. libmlk-server ------------- This library contains anything you need to develop a server running your game, it does not depends on anything graphical and can safely be used on headless machine. libmlk-client ------------- This library contains graphical modules to develop a rich client. It depends on a graphical backend (mostly SDL) and all of what is needed to make a whole client (graphics, audio, fonts and such). libmlk-server-js and libmlk-client-js ------------------------------------- These libraries are the official Javascript bindings for their respectives homonyms. mlk-server and mlk-client ------------------------- These executables are written upon libmlk-server-js and libmlk-client-js respectively, they are able to run games written in Javascript. mlk-bcc ------- The `mlk-bcc` tool is a very basic resource compiler, it transforms any input data as C++ byte array. mlk-tileset and mlk-map ----------------------- These two executables are required to transform maps and tileset created with the [tiled][link-tiled] map editor. They are only used by the client. [link-tiled]: http://www.mapeditor.org