Dawn of the Era (dote for short). A fantasy, turn based, tactical game.

cage 1c30626015 - added GAWK dependency; 1 week ago
data 436973a9b8 - fixed animation of credits text. 3 weeks ago
doc 7b1ce04722 - reworked layout of widgets in windows; 5 months ago
m4 d860f8c293 initial commit 3 years ago
po f72dc6705f - fixed rules in makefile (cleaning and binary building); 2 weeks ago
src 277aeaf8a6 - remove exp points after a character is created an placed on map. 2 weeks ago
.gitignore 4aa7c3e62e - added a script to install quicklisp and lisp libraries; 4 weeks ago
COPYING d860f8c293 initial commit 3 years ago
ChangeLog d860f8c293 initial commit 3 years ago
LICENSES.org c5219333b2 - added end credits (just template); 3 weeks ago
Makefile.am f72dc6705f - fixed rules in makefile (cleaning and binary building); 2 weeks ago
NOTES d860f8c293 initial commit 3 years ago
README.org 1c30626015 - added GAWK dependency; 1 week ago
README.txt 1c30626015 - added GAWK dependency; 1 week ago
TODO.org d860f8c293 initial commit 3 years ago
compare_version.awk 1c30626015 - added GAWK dependency; 1 week ago
config.rpath d860f8c293 initial commit 3 years ago
configure.ac 1c30626015 - added GAWK dependency; 1 week ago
dote.asd c5219333b2 - added end credits (just template); 3 weeks ago
quick_quicklisp.sh.in 1c30626015 - added GAWK dependency; 1 week ago

README.org

Introduction

Dawn of the Era (dote for short) will be a fantasy, turn based, tactical game.

Features

  • procedural generation of:
  • levels;
  • terrains;
  • trees;
  • labyrinths;
  • combat units;
  • game object (potions, weapons, etc..);
  • spells;
  • most of the textures.
  • supported mesh in obj and MD2 file format, tags supported for the
  • latter;
  • simple caching system for levels;
  • OpenGL GUI (minimal).

Current status

The game is playable but full of bugs and many things are missing (most of the audio and video). Please send me an email if you want to help.

Building

A primitive building method using autotools is supported.

  1. run
  2. #+BEGIN_SRC sh ./configure #+END_SRC this script will check all the system dependency (compiler, C libraries etc.) are met (see [[C libraries]], [[External programs]]). And, if not, will print an error.
  1. if configure passed in the previous step run:
  2. #+BEGIN_SRC sh bash quick_quicklisp.sh #+END_SRC

this command will download quicklisp, check the signature and install all the lisp dependencies.

  1. finally:
  2. #+BEGIN_SRC sh make && make install #+END_SRC

You should be now able to run the game typing dote on the terminal.

If you plan to contribute to the development of this game

  1. edit the file src/config.lisp and modify the constants
  2. =+sys-data-dir+= and =+catalog-dir+= to match the path where the sources are.

For example:

#+BEGIN_SRC common-lisp (alexandria:define-constant +sys-data-dir+ "/home/username/lisp/dote/data/" :test #'string=)

(alexandria:define-constant +catalog-dir+ "/home/username/lisp/dote/po" :test #'string=)

#+END_SRC

  1. edit the file dote.asd
  2. and uncomment the line: #+BEGIN_SRC common-lisp ;;(pushnew :debug-mode *features*) #+END_SRC
  3. open emacs and slime, load dote and finally, on the REPL type
  4. (main-window::main-debug).

Hardware requisite

  • 8 Gb of RAM;
  • Accelerated GPU. Tested only with Mesa library with Intel(R) HD
  • Graphics 2500 GPU.

Dependency

Of course a Common lisp compiler is mandatory, the compilation has been tested only with SBCL version 1.4.10 on Debian GNU/Linux (testing).

Lisp libraries

    dote depends on the following lisp libraries:
  • uiop (bundled with ASDF3);
  • swank;
  • clunit2;
  • alexandria;
  • lparallel;
  • parse-number;
  • ieee-floats;
  • flexi-streams;
  • cl-ppcre-unicode;
  • osicat;
  • babel;
  • trivial-garbage;
  • xmls;
  • cl-i18n;
  • marshal;
  • log4cl;
  • sb-cga;
  • cl-opengl;
  • sdl2kit;
  • cl-sd2-mixer;
  • s-dot2;
  • cl-kanren.

C libraries

There are others native (in C) libraries used, the configure script will warn if some of them are missing:

  • libsdl2;
  • sdl2-mixer;
  • An OpenGL implementation (>= 3.3).

on my system (debian testing) the packages names are:

  • libsdl2-dev;
  • libsdl2-mixer-dev;
  • libgl1-mesa-dev.

External programs

Issues

  • bash;
  • curl.
  • gpg;
  • GNU AWK (gawk);
  • sbcl (lisp compiler).

I strongly recommend you to compile and run the demo in a testing environment as it is unstable (i. e. frequently crash), remember also that there is NO WARRANTY.

BUGS

Please send bug report to cage-dev at twistfold dot it or point your browser to the notabug repository.

License

This program is released under GNU General Public license version 3 or later (see COPYING file).

The program use data and code from other sources, please see LICENSES.org for credits.

Altough any efforts has been put to make the list of credits exaustive, errors are always possible. Please send correction to cage-dev at twistfold dot it.

Contributing

Any help is appreciated. artists, translators and coders are needed. If you intend to contribute please send a message to cage-dev at twistfold dot it or, alternatively, point your browser to the issue tracker.

NO WARRANTY

Dawn of the era: a tactical game. Copyright (C) 2015, 2016, 2017, 2018 cage

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Thanks

  • All the peoples listed in LICENSES.org file;
  • Salvatore di Martino for the name "Dawn of the era";
  • Opengameart.org for the great work;
  • ufoai.org for inspiration and documentation on MD2 model.