root/doc/Readme.txt

Revision 96:dbf332403c6e, 3.0 kB (checked in by Diggory Hardy <diggory.hardy@gmail.com>, 2 months ago)

Improvements to FloatingAreaWidget?: positioning, passing click events and draw order.

Line 
1 Copyright © 2007-2008 Diggory Hardy
2 License: GNU General Public License version 2 or later (see COPYING)
3
4 --- Some brief info ---
5
6 -- Platforms --
7 Linux: My development platform.
8 Windows: Poorly tested; dsss.conf needs some adjusting.
9
10 -- Dependencies --
11 Compile-time:
12 tango (at least r3697)
13 derelict (at least r300)
14
15 Run-time:
16 Sdl
17 FreeType 2.3.5 (2.3.0 might work; older versions probably won't due to the binding not finding some (unneeded) symbols).
18 OpenGL 1.3 or higher
19
20
21 Build instructions:
22 dsss build
23 Then run the executable (from the current directory unless you install mde and/or use path options):
24 bin/mde or bin\mde
25
26 Testing:
27 dsss clean      (this is important if a previous build exists!)
28 dsss build -debug -debug=mdeUnitTest -C-unittest
29 bin/mde or bin\mde
30
31 Credits:
32 Me (Diggory Hardy) for just about everything in mde as of now.
33 Someone (?) for the toDg function in mde.util .
34
35 Also thanks to:
36 Walter Bright and Digital Mars for D and DMD.
37 The tango team.
38 [derelict]
39 [sdl]
40 [opengl]
41 [freetype]
42
43
44
45 --- Goal ---
46
47 Mde is an attempt to build a game engine.
48
49 It is my second serious attempt at a game engine, following on from ge118 (http://diggory.hardy.googlepages.com/ge118). GE118 was written in C++, starting from some basic OpenGL and SDL tests and some of my early ideas about implementing an engine, and was heavily revised over time as I learned more about programming.
50
51 Mde − a Modular D (game-oriented) Engine − was started after I discovered D, and decided I wanted to make a clean start. The acronym starts "modular" because, from experience working on ge118, I had discovered that tightly-related module dependancies (and worse, circular dependancies) caused many difficulties while programming and prevented good designs of components; thus I wanted to separate each part of the project in order to enable better design and facilitate developing a replacement for a part of the program (in case someone would wish to do so).
52
53 It is not a library, since:
54 a)  IMO, different games using the same engine should, where possible (which should be the case with an open source engine) share the same executable and only use config/command line arguments to select the different game.
55 b)  The source is tied together so tightly and is only designed to be used in one way; thus there seems little point organising it as a library and example app.
56 Anyway, anyone wanting to use it as a library need only remove mde/mde.d and compile it.
57
58
59 --- FAQ (or just a few questions) ---
60
61 + How many lines are there?
62 # wc -l $(find . -name "*.d")
63 As of my last count, that was 10227.
64
65 + Why is the code so DENSE?
66 That's just my coding style (I still mostly stick to the D style guide). I like code to look neat, but I don't like spacing it out a lot because then it takes more room (more scrolling) and IMO it becomes harder to visualise what goes on.
67
68 + What toolkits/external libraries are used?
69     tango
70     derelict (SDL, OpenGL, FreeType 2)
71
72 + What libraries are planned to be used?
73     OpenAL, if I get around to doing anything with audio.
Note: See TracBrowser for help on using the browser.