Difference between revisions of "AdaGate"

From Free Software Directory
Jump to: navigation, search
m
 
(24 intermediate revisions by 5 users not shown)
Line 2: Line 2:
 
|Name=AdaGate
 
|Name=AdaGate
 
|Short description=combination of Sokoban and Portal
 
|Short description=combination of Sokoban and Portal
|Full description=A combination of Portal and Sokoban, AdaGate is a great example of OpenGL programming using the Ada language.  It is F.O.S., of course.
+
|Full description=From fastrgv, a combination of Portal and Sokoban, AdaGate is a great example of OpenGL programming using the Ada language.
  
While exploring a remote south-seas island you make a startling historical discovery. But before you can report your findings, an operational stargate transports you into a curious sequence of dungeons. Your escape will require the logical rearrangement of weird power cells, called Zero Point Modules (ZPMs), that can roll in only two directions.
+
While exploring a remote south-seas island you make a startling historical discovery. But before you can report your findings, an operational stargate transports you into a curious sequence of dungeons. Your escape will require the logical rearrangement of Zero Point Modules (ZPMs), that can roll in only two directions.
 
 
You can shoot your portal guns at the dungeon walls to define a wormhole. But, in order to activate it, all of the ZPMs must be bumped into their sockets. Now, you can only PUSH the ZPMs. That means you will fail if you roll one into a corner or against a wall.
 
  
 
Escape each level and find your way back to a beautiful lake on the surface.
 
Escape each level and find your way back to a beautiful lake on the surface.
  
The degree of difficulty is now selectable.  Each game resumes at the beach but progress from previous games is tracked.  Complete all 4 levels to access the lake epilog and reset the game.
+
Uses fully modern OpenGL methods in Ada using textures, shaders and uniforms that achieves version 3.3 core profile contexts in a way that is sufficiently mainstream that it easily compiles and runs on Windows, GNU/Linux and Mac OS-X systems.  This project serves as a testbed for learning the complexities of modern OpenGL and GLSL.
 
 
Uses fully modern OpenGL methods in Ada using textures, shaders and uniforms that achieves version 3.3 core profile contexts in a way that is sufficiently mainstream that it easily compiles and runs on both GNU/Linux and Mac OS-X systems.  This project serves as a testbed for learning the complexities of modern OpenGL and GLSL.
 
 
 
Absolutely no coding efforts or compromises have been made to accomodate proprietary operating systems except for learning how to compile on OS-X.  It relies on a thin SDL2 binding from Dan Vazquez, a thin OpenGL binding from "Lumen", a PNG reader by Stephen Sanguine, and SFML-Audio.
 
 
 
If one defines "modern" OpenGL to mean version 3.3 or beyond, then this may be the most functionally advanced demonstration of "modern" OpenGL using Ada to be found.  The code itself is far from elegant, but serves as a working example, with focus on learning OpenGL.  The Ada bindings used are thin, so the relationship to C++ methodology is quite transparent.  Developers should note that these Ada bindings are usable as a standalone library for most any OpenGL project.
 
  
Media Files Note: The particular choices of sound, image, and shader files (*.fs) delivered are not essential to the function of the game and are easily replaced. This software is primarily intended as a tutorial example of modern OpenGL game assembly methods. The only requirements are that sounds be in WAV format, images be in PNG format, and shaders be updated to GLSL 330 specifications.
+
Please read "sourceCode.txt", then download the 7Z file at https://sourceforge.net/projects/adagate/ for all source and runtime files. Simply unzip in your ./Downloads/ directory and run. No installation required.
|Homepage URL=https://github.com/fastrgv?tab=repositories
+
|Homepage URL=https://sourceforge.net/projects/adagate/
|User level=beginner
+
|Version download=https://sourceforge.net/projects/adagate/files/30sep2022/
 +
|Is High Priority Project=No
 
|Computer languages=Ada
 
|Computer languages=Ada
 
|Documentation note=Focusing on portability and freedom, no coding effort or compromise has been made to accomodate proprietary operating systems.  It relies on a thin SDL2 binding from Dan Vazquez, a thin OpenGL binding from "Lumen", a PNG reader by Stephen Sanguine, and SFML-Audio (because of its elegant audio interface).
 
|Documentation note=Focusing on portability and freedom, no coding effort or compromise has been made to accomodate proprietary operating systems.  It relies on a thin SDL2 binding from Dan Vazquez, a thin OpenGL binding from "Lumen", a PNG reader by Stephen Sanguine, and SFML-Audio (because of its elegant audio interface).
 
+
|Decommissioned/Obsolete=No
 
|Keywords=OpenGL, Ada, Game, Puzzle, Ada Bindings
 
|Keywords=OpenGL, Ada, Game, Puzzle, Ada Bindings
|Version identifier=5.8
+
|Version identifier=6.0.5
|Version date=2016/03/20
+
|Version date=2016/07/03
 
|Version status=stable
 
|Version status=stable
|Version download=https://github.com/fastrgv?tab=repositories
+
|Last review by=Alejandroindependiente
|Version comment=* This release is an attempt to alleviate and better explain some lingering deficiencies with the portability of ./gnulibs/ and the prebuilt AdaGate executable for linux.  Linux has so many variants that it is difficult to generate an executable or build script that works on all of them.  Most of the recent troubles with AdaGate for linux seem to be centered on the new SFML library, with its manifold dependencies: FLAC, ogg, vorbis, freetype, jpeg, & openal.  The current build is compiled on OpenSUSE v13.2, so that, and similar platforms, should have no problems executing.
+
|Last review date=2016/09/20
 
 
* The prebuilt AdaGate executable for GNU/Linux uses GLIBC 2.14.  This generally means that if your linux distro uses glibc v2.14 or newer, then the prebuilt binary should probably run on your system, assuming you can get SFML libraries into place [/usr/local/] that do not cause a runtime loader error.
 
 
 
* If the precompiled linux executable for AdaGate does not run on your distro., and you think it's because of SFML, then try the following.  ( We linux people are all hackers, right ; )
 
 
 
* First and easiest, try a system update for your particular linux distribution of "libsfml-devel". 
 
* Second, if for some reason that is not possible, you can try downloading the precompiled libraries from SFML.  You can either copy them into the usual place, per the installation tutorial, or you can copy them into ./gnulibs/.  They just might work for you;  but they did not work on my system.
 
* Last, you can attempt to build the SFML libraries from source on your own machine.  That solution requires Cmake, and is more complex because you typically need all the dependencies first.  On the other hand, you might be able to use the .so files that come with AdaGate, under ./gnulibs/.
 
 
 
* Then retry the precompiled executable for AdaGate.  If it runs, great.  If not...
 
 
 
* Finally, try recompiling with the script provided.  You need to download and install the Ada Libre compiler from AdaCore in order to do this (very easy and simple to do).
 
 
 
* AdaGate also uses SDL2, but that library seems a bit more self contained, and less problematic.  Moreover, its static version, libSDL2.a, is usable, too.
 
 
 
* Note that the OS-X build system is now reasonably stable and portable.
 
 
 
 
 
|Last review by=Jgay
 
|Last review date=2015/06/03
 
|Submitted by=fastrgv
 
 
|Submitted date=2015/01/10
 
|Submitted date=2015/01/10
|Status=
+
|User level=beginner
 +
|Accepts cryptocurrency donations=No
 +
|Test entry=No
 
|Is GNU=No
 
|Is GNU=No
 
}}
 
}}
Line 73: Line 47:
 
--
 
--
 
|License verified by=Jgay
 
|License verified by=Jgay
|License verified date=2015/06/03
+
|License verified date=2015-06-03
 
}}
 
}}
 
{{Software category
 
{{Software category
Line 80: Line 54:
 
|Graphics=3d
 
|Graphics=3d
 
|Interface=command-line
 
|Interface=command-line
|Runs-on=OS X, GNU/Linux
+
|Runs-on=Windows, OS X, GNU/Linux
 
|Software-development=game-development
 
|Software-development=game-development
 
|Use=gameplaying, playing, software-development
 
|Use=gameplaying, playing, software-development
 +
}}
 +
{{EntryGNU
 +
|Is GNU=No
 +
}}
 +
{{Software prerequisite
 +
|Prerequisite kind=Required to use
 +
|Prerequisite description=linux, macOsx, windows
 +
}}
 +
{{Software prerequisite
 +
|Prerequisite kind=Required to build
 +
|Prerequisite description=linux, MacOsx, Windows
 +
}}
 +
{{EntryDetails
 +
|Is High Priority Project=No
 +
|Decommissioned or Obsolete=No
 +
|Accepts cryptocurrency donations=No
 +
|Test entry=No
 
}}
 
}}
 
{{Featured}}
 
{{Featured}}

Latest revision as of 08:35, 27 September 2022


[edit]

AdaGate

https://sourceforge.net/projects/adagate/
combination of Sokoban and Portal

From fastrgv, a combination of Portal and Sokoban, AdaGate is a great example of OpenGL programming using the Ada language.

While exploring a remote south-seas island you make a startling historical discovery. But before you can report your findings, an operational stargate transports you into a curious sequence of dungeons. Your escape will require the logical rearrangement of Zero Point Modules (ZPMs), that can roll in only two directions.

Escape each level and find your way back to a beautiful lake on the surface.

Uses fully modern OpenGL methods in Ada using textures, shaders and uniforms that achieves version 3.3 core profile contexts in a way that is sufficiently mainstream that it easily compiles and runs on Windows, GNU/Linux and Mac OS-X systems. This project serves as a testbed for learning the complexities of modern OpenGL and GLSL.

Please read "sourceCode.txt", then download the 7Z file at https://sourceforge.net/projects/adagate/ for all source and runtime files. Simply unzip in your ./Downloads/ directory and run. No installation required.





Licensing

License

Verified by

Verified on

Notes

Verified by

Jgay

Verified on

3 June 2015




Leaders and contributors

Resources and communication

Software prerequisites

KindDescription
Required to buildlinux, MacOsx, Windows
Required to uselinux, macOsx, windows




Entry













Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. "{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.








Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.