AdaGate
AdaGate is a kid-friendly 3D dungeon escape game within a Stargate fantasy setting for Windows, OSX & most Linux distros. A tribute to Narbacular Drop with mind bending spacial interconnections.
Install / Use
/learn @fastrgv/AdaGateREADME

Shaders project vertices from a cubical shell onto a spherical shell to avoid singularities. Then a coherent 3D noise function is used to define radial perturbations whose magnitudes index into a 1D colormap with black, red, orange, yellow, and white.

Dynamic Cubemapped Environment

Triple-plane palm tree.



Metallic textures.
Where is the source code? Developers read this:
https://github.com/fastrgv/AdaGate/blob/master/sourceCode.txt
AdaGate
AdaGate is a first-person 3D sokoban puzzle game within a Stargate / Portal fantasy setting that runs on Windows, Mac OS-X and GNU Linux.
Click on the most recent large 7z file under releases to download all source & binaries (Win/Mac/Linux), or try this link:
https://github.com/fastrgv/AdaGate/releases/download/v7.5.0/ag11feb26.7z
Type "7z x filename.7z" to extract the archive.
- On OSX, Keka works well for 7Z files. The command-line for Keka is:
- /Applications/Keka.app/Contents/MacOS/Keka --cli 7z x (filename.7z)
Note to github downloaders: Please ignore the "Source code" zip & tar.gz files. (They are auto-generated by GitHub). Click on the large 7z file under releases to download all source & binaries (Windows & Linux). Type "7z x filename" to extract the archive. Then you can compile your own binaries, or use the pre-built ones provided.
newest kawoosh video: https://youtu.be/Wm-x_6W1fXI
SokobanDuke Video: https://youtu.be/qgY8vF-bb8A
FireBall Video: https://github.com/fastrgv/AdaGate/blob/master/fireball.flv
Duke&ZPM Video: https://youtu.be/rIen-9oAQ2I
LavaPool Video: https://youtu.be/FnUv9EW4bZs
Shark/Snake/Kawhoosh: https://youtu.be/88Y4yvdixY4
Alternate Permalink: https://sourceforge.net/projects/adagate/files/latest/download
AdaGate
a 3D OpenGL Portal game using GLFW & OpenAL
Recent Changes
ver 7.5.0 -- 11feb2026
- Improved island fog effects including skybox fog.
- Minor change to level 5 sokoban puzzle set.
ver 7.4.9 -- 10jan2026
- Improved sokoban puzzle set used.
- Created awesome moving-cloud skyboxes on the atoll using shaders only.
- Eliminated need for MSVC-redistributables installation on M.S. Windows 10, 11.
- Added a way to restart ZPM puzzles when stuck.
- q-key now quiets music, if needed, while solving ZPM puzzles.
More change-history at end of file.
AdaGate Brief Game Description
AdaGate is a strategy game with escape rooms in a Stargate fantasy setting. It is an elaborate example of modern OpenGL programming using the Ada language; and a tribute to Narbacular Drop, and Amelia Earhart.
Each room has a barrier that must be circumvented using portals. The barriers include water with piranha, molten magma, and walls.
Runs on Windows, OSX, and GNU/Linux. The linux binary now runs on many linux distros! Includes all source code, build scripts & resources.
Featuring
* no installation
* no dependencies
* simply unzip in your Downloads directory, and run;
* or unzip onto a USB flash drive [w/same file format] and run.
AdaGate Detailed Introduction
While searching a remote south-seas atoll for remnants of a lost American heroine, you find a nearly operational stargate. If you can get it working, you will be transported into an off-world temple with multiple chambers. You'll need to power up the exit gates & portal systems in those chambers by rolling ZPM power cells onto their sockets. Simple, right? In order to do that you must solve a sokoban puzzle, which means there is a correct sequence and a correct pairing of ZPMs to sockets (and many wrong ones). When all the ZPMs are all engaged they will light up and a portal gun will appear. Use it to create portals that bypass the obstacles so you can reach the exit stargate.
Caution: solvability of the powercell puzzles is guaranteed only when jumping in on the "@" symbol. Moreover, cheating by jumping out is impossible because of a gravity lock.
Escape all four chambers to ascend...and catch a glimpse of Amelia; whence the level of difficulty is increased for your next game.
AdaGate Game Features
-
Works on PCs or laptops running Windows, OSX, or GNU/Linux. And if Ada is installed you can rebuild it yourself! But first try the binaries that are delivered for all platforms.
-
Windows, OSX & Linux binaries provided, as well as full source.
-
Laptop friendly controls; supports HiDpi displays.
-
A 3D Sokoban puzzle game that uses the intersection of two cylinders as a puzzle piece that rolls in two perpendicular directions.
-
Stargate dial-home-device [DHD] allows non-linear play; see the island setting evolve from sun to fog to evening to night.
-
Roll the ZPM power cells to empower the portals and escape thru a wormhole
-
Four rooms and five degrees of difficulty for a total of 20 challenging puzzles. And solutions are available in the file ./data/solns.sok.
-
Serves as a blueprint for modern OpenGL programming in Ada or C++ using GLSL 330, shaders, uniforms and textures.
-
Note that Sangwine's PNG-IO library, and the Ada bindings to OpenAL, OpenGL & GLFW3 in this app constitute a complete, yet easily extendable Ada library that could be used for most any modern OpenGL project including games, animations, simulations, modeling, or engineering.
-
The sound system enables a build with surprising portability across various linux distros, as well as across various platforms.
mouse/touchpad/keyboard controls
[You might need to disconnect unused gamecontrollers to prevent spinning!]
Look direction is controlled by touch pad or mouse; The mouse wheel controls camera zoom. On laptops, a 2-finger swipe simulates the mouse wheel; Zoom can also be controlled with keys n, f, z [Nearer,Further,default];
Movement is controlled by the WASD keys or the arrow keys:
(Up)
(Lt) (Dn) (Rt)
Shoot the two portal guns using: l-key r-key, or (if you have two) the two mouse buttons.
-
(space)-key => jump up/over short walls
-
(esc)-key => exit;
-
m-key or (F1)-key => toggle between mouse-view (1st-person) or avatar(3rd-person)
-
q-key => Quiet...stop the music
-
h-key => show Help screen
If a tricky ZPM puzzle has trapped you, it is now possible to reset it. Typically you need to jump up and out of the sokoban grid, then reset, then jump in @ proper place. These 2 new [experimental] key combos help to reset a ZPM puzzle that has trapped you:
- (ctrl)-l => release the gravity Lock
- (ctrl)-r => Reset ZPM puzzle
...otherwise simply restart the game and go back to the dungeon where you will encounter a re-initialized puzzle.
In case of control problems with the game, or if you want to easily inspect something, use 1st-person mode.
joystick
- joystick : attitude
- center thumb btn: forward
- trigger btn: backward
- Ltop/Rtop btns: select/shoot
- 1st base btn: jump
gamecontroller
- Lpaddle/Lhat : attitude
- Rpaddle : movement
- L/R Shoulder btns: select/shoot
- 1st Dpad-down btn: jump
controller settings
If the need arises, copy the file "docs/default_settings.txt" to "data/settings.txt". Then you can manually edit the floats that define the sensitivity for mouse, keyboard, gamepad & joystick, as well as forward speed of the avatar. EG: Forward speed was recently increased by 25%; if you prefer the old speed, change the first value from 1.0 to 0.75.
If you ever get stuck, try to jump up + forward or back.
System requirements for running delivered executables:
- graphics card with ample memory & updated driver that supports OpenGL version 3.3 or later.
- Windows, Mac OSX(>=10.13), GNU/Linux;
- optional game controller or joystick.
Note on Intel embedded graphics
- Such hardware uses system RAM; 8Gb is enough to run but the drivers I've experienced exhibit annoying flaws, although the game is still playable.
Setup & Running Adagate:
The application's main directory [./agate/] contains files for deployment on 2 platforms: 1)windows, 2)linux, in addition to source code. If you are NOT running windows, you do not need .dll files.
Windows users see also: "windows-setup.txt"
Unzip the archive.
- On Linux & Windows, 7z [www.7-zip.org] works well for this. The proper command to extract the archive and maintain the directory structure is "7z x
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
