Abstract video-game development language https://darkdimension.org/avdl.html
|Tom Tsagk b328426445 Fix error with missing function argument||1 month ago|
|doc||1 year ago|
|engines||2 months ago|
|include||2 months ago|
|manual||6 months ago|
|samples||2 months ago|
|src||1 month ago|
|vim||1 year ago|
|.gitignore||2 months ago|
|LICENSE||1 year ago|
|README.md||2 months ago|
|makefile||2 months ago|
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.
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:
.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.
These are games made by me, using
avdl, to get an idea of what
the language can do.
You can find this project packaged for the following Linux distributions:
Add the Personal Package Archives (PPA) to your system, then update repositories and install:
add-apt-repository ppa:darkdimension/avdl apt-get update apt-get install avdl
Note: These commands require
root permissions, usually aquired with
You can find this project in the Arch User Repository (AUR). Make sure to install the dependencies listed here:
Using the command line, move to an empty directory and run:
git clone https://aur.archlinux.org/avdl.git makepkg pacman -U avdl-<version>-<arch>.pkg.tar.zst
Note: The command
pacman -U needs
root permissions, as it is
used to install packaged from a local file.
This project currently supports only compilation for Linux out of the box. I've managed to compile it manually for Windows, but the process is not automated yet.
To compile this project, you will need the following dependencies:
make- to build the project
gcc- used to compile this project and to aid the compilation process of
freeglut- used for windowing
sdl2_mixer- used for audio
glew- used for advanced opengl functionality
There's a different process to get the dependencies, depending on your operating system. Here's some examples:
On a clean install, you will need to install the following packages to get everything you need:
apt install git make gcc freeglut3-dev libglew-dev libsdl2-dev libsdl2-mixer-dev
Use the following command to get the required packages:
pacman -S freeglut glew sdl2 sdl2_mixer make gcc
On a linux system, simply execute the following lines from the terminal, while you are at the project root directory:
make make install
The default install location is
/usr/local. To change that, apply a custom
value like below:
make prefix=/usr make prefix=/usr install
There is a new tutorial that explains the basics here: https://darkdimension.org/avdl.html
For how to use
avdl through the command line, together
with arguments, see the man page at
manual/avdl.1. You can do
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
As this project is becoming more stable, the documentation there will
become more up to date.