Abstract video-game development language

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

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.