A downloadable game for Windows, macOS, and Linux

# AdaVenture -- v 1.2.3

## Whats new:

**ver 1.2.5 -- 10jan18**

* Found & fixed the numerics:argument-error causing occasional aborts;
* Newest Blinn-Phong light shaders include gamma correction;
* Adjusted sizes of avatar & chalice;

**ver 1.2.4 -- 5jan18**

* Added new "darkmaze" to chapter 2 adventure on the far side of the labyrinth of the Minotaur that now hides the chalice (modeled after the classic "orange" maze #2);

* Added a mapRoom directory to help lost souls;

* Improved shaders to include full Phong light modeling, with ambient, diffuse, and specular attenuated lighting effects. Added glowing chalice;

**ver 1.2.3 -- 27dec17**

* Updated storyline so chapter 2 is more challenging.
* Repaired mamba;  improved shader coding.
* Replaced hidden maze passages with the classic movable bridge;

**ver 1.2.2 -- 17dec17**

* Significant improvement in maze FOG realism;
* Nice looking low-hanging FOG added to exterior scene, including skybox.
* Added music, more sounds.
* Logic corrections.

**ver 1.2.1 -- 4dec17**

* Updated to SDL v2.0.7 on Linux, Windows.
* Updated to SDL v2.0.7x on OSX.
* Restored the reading of controller settings file using Ada-intrinsic Exists() ftn.
* The green mamba is now even more ominous with a head raised to spit in your eyes.  However, you might survive if you are holding a sword.

* added prebuilt executables for msWindows;
* added working build scripts for msWindows;

* Corrected dragon roar logic on reentry;
* Improved dead dragon visibility;
* Removed unused libraries;

## AdaVenture Game Description
AdaVenture is a kid-friendly retro point & click game, essentially intended to be a minimal extension to 3D of the original 2D Atari game named "Adventure".

Set in ancient Persia, it begins outside the castle of the young King Xerxes, who inherited a golden chalice from his father, Darius the Great. Coveted by Greek foes King Leonidas of Sparta and King Minos of Crete, the chalice has been stolen.

Your quest is to seek and return the royal chalice to its pedestal within the castle of Xerxes...a stealth mission to postpone open hostilities. But, there will be obstacles to overcome. You must find the keys to various realms, defend yourself against dragons and the Minotaur, avoid snakes and pesky bats who steal things only to drop them in random locations, and survive the maze of the green mamba.

## AdaVenture Game Features
* When looking closely at a pickable object, a hand will appear indicating that a click will pick up the object. When holding an object, another click will drop it at the current location. Only one object at a time may be carried.
* Works on PCs or laptops running OS-X or GNU/Linux. And if GNAT is installed you can build it yourself! But first try the delivered binaries.
* Both GNU/Linux and OS-X binaries provided, as well as full source.
* Laptop friendly controls; supports Mac Retina displays in high DPI mode.
* Serves as an example of modern OpenGL programming in Ada or C++ using GLSL 330 and shaders.
* The Ada bindings to OpenGL & SDL2 in this app are usable as a standalone library for most any modern Ada graphics project.
* Currenly, the game has two easy campains: Greece or Crete. So there is not yet any reset capability...you must replay from the beginning if you die. You select the desired campain at the beginning of the game.
* To change the appearance of the avatar, simply download your favorite MineCraft Skin, rename it to "skin.png" and put it into the ./data/ directory. You should probably backup the current skin before you do this, in case of trouble. See http://www.minecraftskins.net/.

## mouse/touchpad/keyboard controls

[You might need to disconnect unused gamecontrollers to prevent spinning!]

Look direction is controlled by touch pad or mouse;

Movement is controlled by the WASD keys or the arrow keys:

(Lt) (Dn) (Rt)

* (esc)-key => exit;
* (space)-key => pick or drop
* mouse-click => pick or drop
* (m)-key or (F1)-key => toggle 1st-person or avatar(3rd-person)

### joystick (optional)
* joystick: attitude
* thumb btn: forward
* trigger btn: backward
* other btns: pick or drop items

### gamecontroller (optional)
* Lpaddle/hat: attitude
* Rpaddle : movement
* btns: pick or drop items

### controller settings
If the need arises, copy the file "default_settings.txt" to "settings.txt". Then you can manually edit the integers that define the controller-button-bindings or the floats that define the sensitivities.


## required for running:

* graphics card with ample memory & updated driver that supports OpenGL version 3.3 or later;
* Windows, GNU/Linux or a Mac running OS-X;
* optional game controller or joystick.
* OS-X: must have OpenAL.framework, which comes on v10.4 and newer

## Running adaventure:

Unzip the archive, open a commandline terminal, and cd to the install directory.

Linux users should  type "adaventure_gnu" to start the game. You may also double click its icon in file manager.

Windows users type "adaventure.exe".  Note the DLLs supplied must be collocated.

Mac users may initiate the game by opening a terminal, navigating to the install_directory and typing "adaventure_osx", or by navigating to the installation directory in Finder and clicking the "adaventure.app" icon named "AdaVenture".

The install_directory should contain a subdirectory named "data". It contains shaders, skyboxes, sound and texture data, as well as the puzzle definitions.

Open source Ada developers are welcome to help improve or extend this game.

Developer or not, send improvements, comments, suggestions or questions to:

## what is special about this project?
Uses the Ada programming language and fully modern OpenGL methods, with textures, shaders and uniforms. Achieves version 3.3 core profile contexts. Compiles and runs on both GNU/Linux and Mac OS-X systems.

Focusing on portability and freedom, no compromises have been made to accomodate proprietary operating systems. This project uses only free open source software: 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).

The Ada bindings are thin, so the relationship to C++ methodology is transparent. Developers should note that these Ada bindings can be used for any OpenGL Ada project.

For the C++ programmer the code should be easy to comprehend; and for the experienced Ada programmer there are many potential improvements to be made. Suggestions are welcomed, as are coding or design improvements. If you make improvements, please send then to fastrgv@gmail.com

## Legal Mumbo Jumbo:

AdaVenture itself is covered by the GNU GPL v3 as indicated in the sources:

Copyright (C) 2016 fastrgv@gmail.com

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You may read the full text of the GNU General Public License
at <http://www.gnu.org/licenses/>.

## Media Files:

### General Note
The particular choices of sound, image, and fragment shader files [x.fs] delivered are not essential to the function of the game and are easily replaced.

### SoundFiles
Many sounds are from freesound.org and are covered by the Creative Commons Attribution noncommercial license documented in the accompanying file ccnc3_license.txt. see also: (http://creativecommons.org/licenses/by-nc/3.0/lega...)

Some original Atari sounds were also used.

Credit and thanks to the Godfather of Exotica, Korla Pandit, for the excellent renditions of Turkish Dance and Miserlou...a song so old that its origins are vague, yet was known to have been popular in ancient Persia and the middle-east, as well as to all us fans of Dick Dale!

### ImageFiles
* the GPL2.0/GPL3.0-only section of OpenGameArt.Org.
* http://www.mayang.com/textures. See mayang_license.txt.
* pixabay.com with a CC0 license.
* http://all-free-download.com/free-photos/.

### ShaderFiles
Several fragment shader files used were downloaded from http://glslsandbox.com/ and put under ./data/. All frag. shaders from glslsandbox are under the MIT license (see mit_license.txt). Existing comments or any identifying information was retained.

In order to make these usable, I had to modernize them to glsl version 330 specifications, and adapt them to utilize some programatic uniforms for input.

### SkyBoxes

* www.custommapmakers.org/skyboxes.php
* www.OpenGameArt.org
* Some beautiful hi-res skyboxes used [from OpenGameArt.org] are the work of Heiko Irrgang <hi@93-interactive.com> and licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit (http://creativecommons.org/licenses/by-sa/3.0/) or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA. See also the accompanying file ccsa3_license.txt.</hi@93-interactive.com>

## Best Download Sites for my games:




## Tags

Published Sep 09, 2016
PlatformsWindows, macOS, Linux
Tags3D, atari, Cult Classic, Dragons, Medieval, Retro

Install instructions

## Running adaventure:

Unzip the archive.

Windows users may see some error messages pertaining to directory links.  These can be ignored.

Open a commandline terminal, and cd to the install directory.

Linux users should type "adaventure_gnu" to start the game.  You may also double click its icon in file manager.

Similarly Windows users type "adaventure.exe".

Mac users type "adaventure_osx" or...

Mac users may initiate the game by navigating to the installation directory in Finder and clicking the "adaventure.app" icon named "AdaVenture".

The install_directory should contain Windows DLLs, and a subdirectory named "data". It contains shaders, skyboxes, sound and texture data, as well as the puzzle definitions.


av10jan18.tar.gz 162 MB

Leave a comment

Log in with your itch.io account to leave a comment.