Axure HQ is back with another game to add to our “Fun with Random” series! You may remember playing recent hits such as Going to Boston, Whack-Emoji , Proto-typer!, Roulette, or AxZee!, but don’t forget about all time classics such as Grub Guess, Axure Quest VIII, Spot the Difference , Rock, Paper, Scissors, Lizard, Spock , or A Game of Cards! Today’s addition to that awesome lineup is a Dungeons and Dragons inspired Choose your Own Adventure typing game: Axure RP-G!
For this game, you will play the role of a Mighty Wizard who has been tasked with clearing an abandoned castle of its evil inhabitants. To complete this quest, you will have to choose between options in a variety of scenarios. Be careful though, your choices can easily lead to certain doom! When encountering difficult situations or enemies to defeat, you will have to utilize your powerful spells. In order to cast a spell, you will have to quickly recite (or in this case type) strange incantations that will randomly change depending on the situation. You will only have a small amount of time to recite these incantations, so be ready to type!
(Hint: Check the Try Again screen for help if you are having trouble completing the game!)
Are you prepared to accept this dangerous quest? Then, See It Live!
I set out to create the game entirely within one page using Dynamic Panel states to control the flow of the game. This was important to me in order to prevent the player from simply pressing the back button if they made a wrong choice and died (as I used to do as a kid reading Choose Your Own Adventure books and saving my last page before making a risky choice). The Dynamic Panel states are mainly broken down to Spell Panes (where players need to type out a spell to progress) and Choice Panes (where players need to decide on an option to progress).
The random-ness of the game mainly comes into play when interacting with a Spell Pane. There is a Repeater on each of these panes containing a table of small phrases to act as spells. The phrases were created from mixing together popular “magic” phrases as well as taking some inspiration from various fantasy media sources. Each time the page is loaded, the Repeater will set 1 Page of the Table to show and run the following function to create a Random Variable Value:
[[Math.floor(Math.random() * (24)+1)]]
This function takes the max possible range of phrases contained in the Repeater (24) and adds a minimum value (1). The random component of the function will decide a number including or between those two points and sets this value to the Random variable. This Random variable value is then passed to the Repeater to show the Page corresponding with that number from the Table. This function occurs on each Spell Pane where a random phrase will be chosen from the repeater for the player to type:
Once the text field in a Spell Pane has been enabled, it will look for the value of the repeater phrase that has been chosen (or for a cheat code built into the game). This will allow the player to advance to the next pane, but the field will also be waiting for 7.5 seconds to cause a move event triggering the player’s death if they have not already progressed to the next pane:
I wanted the Spell Typing portion to seem rushed and intense as if you were actually yelling out the incantation in the heat of a battle. I feel that it offers a bit of a challenge with the time limit of seven and a half seconds (the “boss fight” difficulty is raised to 6 and a half seconds) and difficult phrases that may take some getting used to. (The word “cheater” can be used in place of a spell if you are stuck.)
There are also some Random interactions built in concerning Gold that players can optionally find during their quest. Certain Spell Panes contain Text Field Interactions that have been customized to create a random value for the GoldRandom variable between 30 and 49 using the following equation:
[[Math.floor(Math.random() * (20)+30)]]
This randomly generated amount of Gold will be displayed on screen and can be added to the value of the PlayerGold Variable in order to increase and save the amount of Gold a player has found on a play through:
The rest of the Interactions used in the game mainly involve Set Panel State options to advance the player with a few extra tricks thrown in. The hourglass that displays while a spell is being cast was also created from scratch. The Game Outline page in the project contains a Flow Diagram I utilized to keep track of the flow of the Game and plan out encounters, as well as keep track of testing and implementation of each pane. This Diagram was an invaluable resource to keeping the game development organized, and I would recommend you utilize the same in any similar projects you may take on.
The .rp file for my game is available below. Please reach out with any questions or comments you may have on the development of this game, and thank you for taking the time to enjoy Axure RP-G!
(The file will need to be downloaded from DropBox as it was unable to be attached directly)