comparison 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
comparison
equal deleted inserted replaced
114:e3b45368fd19 115:07cb0d9f92e9
1 Malikania overview
2 ==================
3
4 This memo is a simple overview about the Malikania Engine architecture.
5
6 Dependency overview
7 -------------------
8
9 This is the main targets and their dependencies.
10
11 ````nohighlight
12 +-------------------+
13 | |
14 +-------------------+ | mlk-client |
15 | | | mlk-map |
16 | mlk-server | | mlk-tileset |
17 | | | |
18 +-------------------+ +-------------------+
19
20 +-------------------+ +-------------------+
21 | | | |
22 | libmlk-server-js | | libmlk-client-js |
23 | | | |
24 +-------------------+ +-------------------+
25
26 +-------------------+ +-------------------+ +-------------------+
27 | | | | | |
28 | libmlk-server | | libmlk-client | | mlk-bcc |
29 | | | | | |
30 +-------------------+ +-------------------+ +-------------------+
31
32 +---------------------------------------------------------------+
33 | |
34 | libmlk-common |
35 | |
36 +---------------------------------------------------------------+
37 ````
38
39 libmlk-common
40 -------------
41
42 This library contains many utilities that can be used in both server and client
43 targets.
44
45 This library does not depend on client or server code at all.
46
47 libmlk-server
48 -------------
49
50 This library contains anything you need to develop a server running your game,
51 it does not depends on anything graphical and can safely be used on headless
52 machine.
53
54 libmlk-client
55 -------------
56
57 This library contains graphical modules to develop a rich client. It depends on
58 a graphical backend (mostly SDL) and all of what is needed to make a whole
59 client (graphics, audio, fonts and such).
60
61 libmlk-server-js and libmlk-client-js
62 -------------------------------------
63
64 These libraries are the official Javascript bindings for their respectives
65 homonyms.
66
67 mlk-server and mlk-client
68 -------------------------
69
70 These executables are written upon libmlk-server-js and libmlk-client-js
71 respectively, they are able to run games written in Javascript.
72
73 mlk-bcc
74 -------
75
76 The `mlk-bcc` tool is a very basic resource compiler, it transforms any input
77 data as C++ byte array.
78
79 mlk-tileset and mlk-map
80 -----------------------
81
82 These two executables are required to transform maps and tileset created with
83 the [tiled][link-tiled] map editor.
84
85 They are only used by the client.
86
87 [link-tiled]: http://www.mapeditor.org