Mercurial > projects > mde
view doc/Readme.txt @ 135:bc697a218716
Somewhat unified path lookup between linux and windows and added font paths.
author | Diggory Hardy <diggory.hardy@gmail.com> |
---|---|
date | Fri, 30 Jan 2009 15:51:42 +0000 |
parents | dbf332403c6e |
children |
line wrap: on
line source
Copyright © 2007-2008 Diggory Hardy License: GNU General Public License version 2 or later (see COPYING) --- Some brief info --- -- Platforms -- Linux: My development platform. Windows: Poorly tested; dsss.conf needs some adjusting. -- Dependencies -- Compile-time: tango (at least r3697) derelict (at least r300) Run-time: Sdl FreeType 2.3.5 (2.3.0 might work; older versions probably won't due to the binding not finding some (unneeded) symbols). OpenGL 1.3 or higher Build instructions: dsss build Then run the executable (from the current directory unless you install mde and/or use path options): bin/mde or bin\mde Testing: dsss clean (this is important if a previous build exists!) dsss build -debug -debug=mdeUnitTest -C-unittest bin/mde or bin\mde Credits: Me (Diggory Hardy) for just about everything in mde as of now. Someone (?) for the toDg function in mde.util . Also thanks to: Walter Bright and Digital Mars for D and DMD. The tango team. [derelict] [sdl] [opengl] [freetype] --- Goal --- Mde is an attempt to build a game engine. 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. 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). It is not a library, since: 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. 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. Anyway, anyone wanting to use it as a library need only remove mde/mde.d and compile it. --- FAQ (or just a few questions) --- + How many lines are there? # wc -l $(find . -name "*.d") As of my last count, that was 10227. + Why is the code so DENSE? 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. + What toolkits/external libraries are used? tango derelict (SDL, OpenGL, FreeType 2) + What libraries are planned to be used? OpenAL, if I get around to doing anything with audio.