diff docs/overview.md @ 182:3107ce017c3a

Misc: switch back to SDL Qt Quick and QML was an exciting experiment but it's definitely not enough flexible and easy to use for game development. Using SDL2 will let us focusing on our own drawing functions without any kind of overhead. While here, start massive cleanup.
author David Demelier <markand@malikania.fr>
date Fri, 19 Oct 2018 20:18:19 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docs/overview.md	Fri Oct 19 20:18:19 2018 +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