Mercurial > malikania
changeset 115:07cb0d9f92e9
Docs: add development overview
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 11 Sep 2017 16:26:35 +0200 |
parents | e3b45368fd19 |
children | d7025649d85c |
files | docs/overview.md |
diffstat | 1 files changed, 87 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docs/overview.md Mon Sep 11 16:26:35 2017 +0200 @@ -0,0 +1,87 @@ +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