GitHub - namgyaaal/avoxelgame: Voxel Game written in Dyalog APL and SDL3 · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
namgyaaal
avoxelgame
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star<br>23
main
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>124 Commits<br>124 Commits
assets
assets
avg
avg
images
images
lse
lse
saves
saves
sdl3_consts
sdl3_consts
shaders
shaders
.gitattributes
.gitattributes
LICENSE
LICENSE
README.md
README.md
compile_shaders.sh
compile_shaders.sh
main.apls
main.apls
View all files
Repository files navigation
A Voxel Game
This started off as a bet with myself that APL notation would provide an easier way to make a voxel game.
This is highly experimental and buggy.
Controls
W-A-S-D to move
Space to jump
Mouse to move the camera
Q to quit
I to toggle render information
F for fast noclip mode
L to lock and unlock the mouse while in-game
1-5 to select different blocks to place
Requirements
Dyalog APL 20.0
A C Compiler
CMake
Vulkan, DirectX12 or Metal graphics are required. For more information, check here
sdl3, sdl3_ttf and sdl3_image (MacOS with brew)
Instructions
Running on MacOS or Linux
After installing dependencies and cloning, make sure you build and install LSE.<br>e.g.,
cd lse<br>mkdir build<br>cd build<br>cmake ..<br>make<br>make install
This should install libLSE.dylib on macOS and libLSE.so on Linux in ./libs/ alongside the relevant SDL3 library files.
After that you should be able to run with ./main.apls
Some Linux users may have dyalogscript located in a different directory. If that's the case, the shebang in main.apls should be replaced with the path specified by which dyalogscript
Running on Windows
Compiling everything on Windows is a bit more tricky and is best done with finding the SDL3 dev libraries provided on libsdl3 releases with cmake-gui.
.dlls are provided as a release here which can be placed in a folder ./libs on the directory this repository.
Afterwards, the game can be played through a Dyalog session like so:
]link.create # ./avg<br>Run<br>state.Play">]cd ROOT DIRECTORY><br>]link.create # ./avg<br>Run<br>state.Play
Compiling Shaders
Source code that gets compiled to different shader formats is in ./shaders/glsl
Shaders come bundled with this repo. However, if you want to modify them, edit the glsl shaders and run ./compile_shaders.sh
Note that this requires the DirectX Shader Compiler, glslc and spirv-cross.
Known Issues
There are significant performance regressions on Windows being worked on.
DirectX12 backend is currently not supported on Windows.
You currently can't play multiple times in the same session.
Known to syserror 999 !
There's probably memory leaks somewhere !
Credits
Textures by Madeline Vergani (@RubenVerg)
About
Voxel Game written in Dyalog APL and SDL3
Topics
voxel
apl
voxel-game
dyalog-apl
sdl3
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
23<br>stars
Watchers
watching
Forks
fork
Report repository
Releases
AVG win32-x64 .dlls
Latest
May 25, 2026
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
APL<br>83.3%
11.4%
GLSL<br>2.4%
Shell<br>1.7%
CMake<br>1.2%
You can’t perform that action at this time.