HN
Today

A 3D voxel game engine written in APL

A developer embarked on an ambitious personal challenge to construct a 3D voxel game engine using the highly array-oriented Dyalog APL programming language. This experimental project showcases APL's unconventional notation applied to real-time graphics, offering a unique perspective on game development paradigms. Hacker News gravitates towards such deep technical explorations that push the boundaries of programming language utility into unexpected domains.

17
Score
0
Comments
#1
Highest Rank
10h
on Front Page
First Seen
Jun 21, 8:00 AM
Last Seen
Jun 21, 5:00 PM
Rank Over Time
12212557712

The Lowdown

The GitHub repository 'avoxelgame' unveils an experimental 3D voxel game engine, remarkably implemented using Dyalog APL. This intriguing project stems from the author's personal challenge to determine if APL's concise, array-centric notation could offer a more straightforward path to creating a voxel game.

  • Experimental Status: The project is openly described as highly experimental and buggy, emphasizing its proof-of-concept nature over a polished, production-ready game.
  • Technical Stack: It leverages Dyalog APL 20.0 and relies on SDL3 for graphics rendering, requiring support for Vulkan, DirectX12, or Metal APIs.
  • Dependencies: Core requirements include a C compiler, CMake, and specific SDL3 libraries (sdl3, sdl3_ttf, sdl3_image).
  • Build & Run: Comprehensive instructions are provided for setting up and running the game on macOS/Linux and Windows, detailing the compilation of a custom library (LSE) and shader assets.
  • Basic Controls: Users can move with W-A-S-D, jump with Space, control the camera with the mouse, quit with Q, toggle render information with I, enable fast noclip with F, lock/unlock the mouse with L, and select blocks with 1-5.
  • Known Limitations: The project acknowledges significant performance issues on Windows, current lack of DirectX12 backend support, and problems with re-entering gameplay in the same session, including potential memory leaks.
  • Acknowledgements: Textures used in the game are credited to Madeline Vergani. This 'avoxelgame' serves as an innovative demonstration of APL's capabilities in an unconventional context, inviting fascination from those interested in diverse programming approaches to complex tasks.