AD 1.8.1 Variables Test Map Pack

sock

Active member
Feb 24, 2022
59
213
33
sock submitted a new resource:

AD 1.8.1 Variables Test Map Pack - A small collection of test map showing how map variables in Arcane Dimensions 1.8+ work

The zip file contains working (BSP/LIT) examples of each map and source files. These maps are designed to work with 1.8 ONLY. They don't work in vanilla Quake or other mods. Textures used are from the AD prototype texture set that is included in this zip fle. WAD file = ad_prototype.wad
Read more about this resource...
 
Last edited:
Map progress is saved in global variables called parm1-16 which are used for storing the inventory (ammo/weapons) and the top 6 (parm11-16) are not used for anything. AD turns the top 'parm' variables into 132 binary (0/1) switches that can be used in any map for internal logic or variables which can be passed between multiple maps. Level designers can access any of the map variables with new entities that can query, toggle or change values.

This is probably the most underwhelming system in AD because I imagine most people don't see what it is useful for. If someone has never fought with map hacking variable systems then its hard to see what the fuss is all about having simple access to map variables.

hack_variables.png


At the heart of map variable hacks is the fire/damage trigger setup. A map event triggers a "target_shooter" (pink) which then fires in a certain direction (can use angle field as well) using a "info_notnull" (green) that hits a "func_door" entity to create a yes/no answer. The front "func_door" is moved to create a certain state value or variable result (storing a value).

The AD map variable system gets rid of the shooter/bmodel setup and just uses a single entity instead. Map values can be saved or checked and even carried over between maps with a good example being the AD hub maps keeping track of player progress.

map_variables.png


With so many map variables to play with (6 banks of 22 values = 132 variables), what can be done with them!?! Well probably the first use that comes to mind is puzzles, but creating engaging and intuitive puzzles is more tricky than it sounds. After a year of prototyping I created The Edge of Forever which got discussed at Func_Msgboard and it did not go (excuse my defensive replies) as planned. I found out that puzzle design requires consistent visuals and lots of testing to get right.

mapvar_prisms.png


To get the ball rolling on puzzle design and AD map variable examples the first map in this pack is "test_mapvar_prism" which was an idea developed for Imhotep's Legacy by Heresy. I originally thought of the Lara Croft style rotating mirrors and light puzzle setup, but in this example its laser beams being reflected between points to unlock an objective. As the blue blocks (variables) are moved up/down the red beam is extended or blocked based on the state of variables. Probably should be introduced as a single blue block and red beam so that players can understand what is going on and reduce the random button mashing!

mapvar_rotation.png


The second puzzle example is using func_rotating objects for a 3 barrel lock. The player has to rotate (shoot at them) the cubes with colour surfaces and match the colours to the one's over the door. Once the symbols are correct, the floor opens and the player gets the key to the door. Each rotating block is stored as a variable and when all 3 are the correct value, then the key is unlocked. This should probably be presented as a single rotator first so that the player understands the mechanic of shoot/rotate and matching colours to door frames.

Quake maps are typically heavily combat focused or into exploration and rarely do players have many encounters with puzzles, but with the AD map variable system players' progress can be stored and more interactive puzzles can be developed.
 
Some gifs to show off the puzzle test maps in action ...

ad_mapvar_puzzle1b.gif


ad_mapvar_puzzle2b.gif