Abstract video-game development language

Tom Tsagk a6a9d7007c Add custom install location when compiling, for more flexible compiled results 3 年之前
doc f2ecc018d6 Change name to avdl 4 年之前
engines a6a9d7007c Add custom install location when compiling, for more flexible compiled results 3 年之前
include 4534d38d6b Add back `extern` variables, add better control for arrays, references and passing them around 3 年之前
manual 288d1e5871 Minor cleanup of unused code 3 年之前
samples 288d1e5871 Minor cleanup of unused code 3 年之前
src a6a9d7007c Add custom install location when compiling, for more flexible compiled results 3 年之前
vim b90722b826 Add headers on vim syntax detect 4 年之前
.gitignore 85dd2f7ebf Update `.gitignore` to treat makefiles better 3 年之前
LICENSE 98f807068e Add GPLv3 license 5 年之前
README.md 288d1e5871 Minor cleanup of unused code 3 年之前
configure 9a6908d7bb Organize install directories a bit, disable documentation for now 3 年之前
makefile.in a6a9d7007c Add custom install location when compiling, for more flexible compiled results 3 年之前

README.md

avdl - Abstract video-game development language

This is a high level programming language for making video games.

The idea behind it, is that a game is described using the language in an abstract way, similar to how an image file describes the pixels of an image. Then it's the compiler's responsibility of compiling that into an actual executable game for specific platforms.

The current plan for the license, is to keep the compiler itself and all modifications to it free and open-source, but any game made with it will be completely owned by the user that made it, and it's their choice to monetize it or not.

Platforms

avdl currently can only be compiled for Linux. However it is possible to compile for Windows using Linux-emulated tools (like Cygwin).

Games made with this language can currently be compiled for:

  • Linux (Not handling dependencies at the moment)

Platforms planned:

  • Windows (It's possible to currently cross-compile to it, but it's not straightforward)
  • Android (It's possible to compile an .apk, but there are a few steps that haven't been automated yet)

As the language is still growing, it can currently transpile source files to the C programming language, which can then be manually compiled for the desired platform. This is mostly for advanced users that know what they are doing.

Games made with this language

These are games made by me, using avdl. Their purpose were mainly to show what this language can do.

How to install

On a linux system, simply execute the following lines from the terminal, while you are at the project root directory:

./configure
make
make install

For the last line make install, the default location is /usr which can be changed during the ./configure step by using the following:

./configure --install-loc ./mylocaldirectory

You can then go to the samples/ and try to compile any using the following:

avdl file.ags

Which should produce an executable game file, which when run will display the sample project.

Documentation

For how to use avdl through the command line, together with arguments, see the man page at manual/avdl.1. You can do so with man manual/avdl.1 from the project's root directory, or if you have the project installed, you can run man avdl instead.

About the language's syntax, there is currently some documentation in doc/avdl.texi which when installed can be viewed with info avdl. As this project is becoming more stable, the documentation there will become more up to date.