| 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. |
|---|