• Register

Hi I am a developer of video games and apps for Android and windows, hopefully soon for mac as well, I've been making video games for fun for about 14 years, and in February 2015 decided to get serious and started Roadhammer Gaming, a company aimed at producing video games and software for a fair amount of platforms. Future plans are to open a unique 3d immersed gaming facility, set up kind of like laser tag or paintball crossed with startrek's Holodeck to be open for business based on a set fee for a set amount of game play time. I am currently the owner and sole employee of my company. In my spare time I like hiking, motorsports, the beach, horror movies, sci fi movies and rpg style video games.

RSS My Blogs  (0 - 10 of 19)

The Mana Well is now under development, targeting windows and android.

You can see all dev logs for this project here from first dev log posted to the most recent:
Devlogs

1. Roadhammergaming.itch.io
2. Roadhammergaming.itch.io
3. Roadhammergaming.itch.io
4. Roadhammergaming.itch.io
5. Roadhammergaming.itch.io
6. Roadhammergaming.itch.io
7. Roadhammergaming.itch.io
8. Roadhammergaming.itch.io
9. Roadhammergaming.itch.io
Please visit The Manna Well Homepage on itch.io
This game is an illusional fantasy action rpg / visual novel about the player getting sucked into a book and becoming the playing character.
In the world of Garnas there has never been any record of magic use, but your unexplained arrival there heralds in a new era, one of magic, and you are unknowingly paving the way.

The game is now, after 7 months, finally nearing completion, possibly 1 or 2 more months to go!!

The game has controller support and you can
download The Manna Well for Android
download The Manna Well for Windows 8+
download The Manna Well for Windows 98,
or download either one directly from
The Manna Well page on itch.io.
You can also visit the
The Manna Well homepage on my website

Controls:
Arrow keys, W, A, S, D keys / D pad - move player, navigate menus, adjust volume + on screen game pad alpha
Z key / A button - Attack, select for things in menus
X key / X button - Use equipped magic
V key / B button - Use equipped item
C key / Y button - bring up the menu

Any feedback on the game is welcome

So it's been 6 months and 0 downloads, so I got curious, I looked up my google play link and it says "This app is not compatible with any of your devices" which is a load of crap seeing as how I made the app in android studio and tested it on my device, and then installed it on my device and it works great, so my question here and now is, are all of you who may have been interested in this app getting that same message? please post a comment with your thoughts, have any of you run into a similar problem after publishing a game or app? If so, what did you do to fix it? thanks.

K9 Remote homepage:
Roadhammergaming.blogspot.com

GM Android Audio Modder can be used in GMS 1.4+, GMS 2x .
Project minimum SDK is 14 or higher, recomended target sdk & build tools is 26. This extension is also compatible with Android OS 6 and up's permissions rules and regulations.

Screenshot 20171201 112955

Screenshot 20171201 113101

splash3

Features:
- Find music on Android device
- Move music files to public folder
- Set any music file to ringtone
- Make your own public game folders
- Get file extension type for audio files found
- Get the path address to audio files found
- Move music files and any file type recognized by GMS'S from the Included files folder of your game to a public folder
- Alert the Android operating system that a new file is available
- Record audio and save as .wav, .raw, .mp3 or set to ringtone
- Set any audio found or recorded as Android Device's default ringtone

Testing is easy, All the test code is in a script called tester. The 2 buttons to the right of the stereo are used to cycle through all the
things you can test in the new part of the extension. The important object to test this demo game is object ctrlr in the Android music
folder in the resource tree of the project. You can find the test controlls in the left pressed and left released events, and all the related
working/modifiable code is in the script called tester.if recording only or transfering files from your game's included files you don't have
to press Y to bring up the music player. (to test functions 5 and 7 you still must bring up the music player with the Y button to load the
music from the user's device of course) When the app opens simply tap the 8ball, name your folder and press ok. When the game
starts press Y to start the player and test the functions by pressing the up/down arrose to the right of the stereo. Depending on the test,
tap or hold the stereo to perform the test.
The testable functions: ** see below for TEST PROJECT TECHNICAL INFO on the test aspect of this project
Test # 0 = record as wav and save to new folder, hold down on stereo while recording, release to stop recording.
Test # 1 = record as raw and save to new folder, hold down on stereo while recording, release to stop recording.
Test # 2 = record as wave and set as ringtone and save to ringtone folder, hold down on stereo while recording, release to stop recording.
Test # 3 = record as mp3 and save to new folder, hold down on stereo while recording, release to stop recording.
Test # 4 = Copy audio from device to new folder - music player must be open
Test # 5 = Copy audio from device and set as ringtone - music player must be open
Test # 6 = Copy audio from game to new folder
Test # 7 = get file extension of tracks found on device, usefull to import music for game to play that has to be of the .ogg format for example -
music player must be open
Details:
Other important objects:
obj_main: draws all the info text.
controller: sets up the permissions and all global variables, names folder on gamestart.
obj_controller: make another/more folder(s).
The functions:
TrackAdress(int); Returns absolute path of selected track number
StartRec(string,int); Name the file, select recorder type, example: "name.ext", 0 = wav, raw or ringtone. 1 = mp3. (mp3 recorder is different from
wav/raw recorder)
StopRec(int); Save the file, 0 is for .wav, 1 is for .mp3, 2 is for set as ringtone and 3 is for .raw
GetFileExt(The trasck number); is to get the file extension of any file, so for example if you have .ogg music files on your android device you can
use this function with gms' audio_create_stream function to get and mod the music in-game.
SaveFromAs(string, string, string, int); This function has several uses, with it you can save music found on the device to a new folder, save files from
your games included files to a new folder, set music from the device or your game's included files as the default ringtone for the device, so the format
for using this function has 2 different setups and here are the examples:
if you are moving music found on the device to a new folder or setting one as a ringtone:
SaveFromAs(string, string, string, int); Input path, output path, file name, 0 or 1: 0 is move the audio file, 1 is move the file to the ringtones directory
and set as the default ringtone
If you are moving files from the included files of your game to new folder:
SaveFromAs(string, string, string, int); bytes data string,output path,file name,size in bytes
To use it you must create a buffer with the file stored in it and encode the data to string using the buffer_base64 gms function, full example:
fname = "starter.wav";//Other included files to try: "startup.ogg" "test50.txt" "Saveimg.png"
if(file_exists(fname)){
file = file_bin_open(fname,0);
size = file_bin_size(file);
gameTransfer = buffer_create(1024, buffer_grow, 1);
for(var i=0;i<size;i++;){
buffer_write(gameTransfer, buffer_u8, file_bin_read_byte(file));
}
file_bin_close(file);}
var dataString = buffer_base64_encode(gameTransfer, 0, buffer_get_size(gameTransfer));
SaveFromAs(dataString,global.myFolder,fname,size);
} else {
show_debug_message("file open failed");
}
Note that only files recognized by GMS can be used, for example you CANNOT use .mp3 files because gms's buffers do not recognize them
because .mp3 is coppywrite protected. Recognizable files include .wav, .raw, .ogg, .txt, .png and other image files
GetFldr(string); "Folder_Name/More_floder_names" This function is used to get the output path to a public folder, you supply the name, and to
make folders inside of folders just use the / character followed by the next folder's name
OsUpdt(string); Folder address/file_name.ext This function updates the android os of a new file so other apps on the device can find and use them.
exitTheApp(); This is a bug fix for GMS 1.4.1804 that allows you to close your app/game in code by simply calling this function.
FUNCTIONS FOR GM Android Music part of extension:
PauseMusic() - pauses the music if playing
MusicStopped() - use to check if music is stopped
NumberOfTracks() - use to find number of tracks
ResumeMusic() - plays music if paused
PlayMusic(Track_Number) - play a particular song
GetCurrentSongName() - gets the currently playing song name
GetCurrentArtistName() - gets the currently playing artist name
MusicPlaying() - use to check if music is playing
NextTrack() - play the next song
PreviousTrack() - play the previous song
GMASInit() - Call at game start, automatically requests permissions * see IMPORTANT note
GetSongName(Track_Number) - get the name of a particular song
GetArtistName(Track_Number) - get the name of a particular artist
MusicPaused() - use to check if the music is paused
StopMusic() - stop the music
GoToTrack(Track_Number) - go to a particular track, simillar to PlayMusic()
Final() - end all music and music player processes
GetSongLength(Track_Number) - gets the length in milliseconds of a requested song
GetCurrentSongLength(Track_Number) - gets the song length in milliseconds of the song currently playing
GoToSeek(Time_In_Milliseconds) - go to any position in the song by inputting the milliseconds
GetElapsedTime() - gets the time the song has been playing in milliseconds
* IMPORTANT!! If your app isn't going to allow user to change their ringtone, DO NOT ask for WRITE_SETTINGS permissions group,
Remove these permissions in the manufest: WRITE_SETTINGS, CHANGE_CONFIGURATION and MODIFY_AUDIO_SETTINGS
(double click extension and select android tab to view/change) The reason for this is as follows as per the new google play rules and
regulations stating that no app shall request permissions it doesn't use and/or need.
** TEST PROJECT TECHNICAL INFO:
//arguments, set testtype variable to trigger desired argument (0-6 only!) in create event of object ctrlr:
//0=record as wav
//1=record as raw
//2=record as wave and set as ringtone
//3= record as mp3
//4= Copy audio from device to new folder
//5= Copy audiofrom device and set as ringtone
//6= Copy audio from game to new folder
//7= get file extension of tracks found on device, usefull to import music for game to play that has to be of the .ogg format for example
//8-11 stop recording and process, triggered automatically in left released event of object ctrlr
//left mouse pressed
if argument0=0 StartRec("newWav.wav",0);
if argument0=1 StartRec("newRaw.raw",0);
if argument0=2 StartRec("newRing.wav",0);
if argument0=3 StartRec("NewMp3.mp3",1);
if argument0=4 SaveFromAs(TrackAdress(3),global.myFolder,"coppied",0);
if argument0=5 SaveFromAs(TrackAdress(3),global.myFolder,"newRingtone",1);
if(argument0=6)
{fname = "starter.wav";
if(file_exists(fname))
{file = file_bin_open(fname,0);
size = file_bin_size(file);
gameTransfer = buffer_create(1024, buffer_grow, 1);
for(var i=0;i<size;i+=1;){var byte=file_bin_read_byte(file);buffer_write(gameTransfer,buffer_u8,byte);}
var buffaddress = buffer_get_address(gameTransfer);
SaveFromAs(buffaddress,global.myFolder,"starter.wav",size);
file_bin_close(file);}
if !file_exists(fname) show_debug_message("file_open_bin has failed to open the file");
}
if(argument0 = 7)
{var ext="";
var k=0;
global.nOfOggs= -1;//reset variable
repeat(global.tracknum){
ext=GetFileExt(k);
if(ext= ".ogg" || ext= ".OGG") {
global.nOfOggs+=1;
global.audioadd[global.nOfOggs] = audio_create_stream(string(TrackAdress(k)));
}
k+=1;
}
if global.nOfOggs> -1 newplay=1;//catch in step event to play all found .ogg sounds in game as playlist
}
//Left mouse released
if argument0=8 StopRec(0);
if argument0=9 StopRec(1);
if argument0=10 StopRec(2);
if argument0=11 StopRec(3);

Oracle of Megalopolis

The Oracle of Megalopolis is about an alien race living in a megastructure built around it's host star Tabby, and it's inevitable demise from the materialization of a wormhole.
For millions of years an overpopulated race of beings in the Tabby star system have avoided the extinction of their species on several occasions, first their home planet of Damar became overpopulated and it's resources stripped until they had the technology to mine the vast resources from their asteroid belt, but then their planet eventually warmed as it's star grew older and they had to colonize the next further out planet Sethrol, but life was miserable there due to vicious creatures and deadly bacteria and viruses which almost wiped them out again. So after that they returned to the asteroid belt and instead of mining and removing resources they linked all the asteroids together and formed an enclosed megastructure encircling their star and called their new home Megalopolis. They controlled the temperature by adjusted solar venting voids in the megastructure and collected all the power they needed from great arrays of star facing solar panels and sustained the lives of 420 quadrillion citizens. All was well. Until one day...

Available for download on
itch.io
or
Game Jolt
And the Android version is also released on
Google play



Controlls:

WINDOWS KEYBOARD:
Arrow keys: Move player/highlight menu options.
Z key: Action/select menu item.
X key: Talk/messages.
C key: Pause/unpause, Open/close menu.
Left mouse/mouse wheel: Manipulate some objects.
ENTER key: Start game, take snapshot for log book.
ESC key: Quit the game WITHOUT saving.

WINDOWS GAMEPAD (xbox 360 style, button layout may be different if using other game pads)
Dpad, right stick: Move player/highlight menu options.
A button: Action/select menu item.
X button: Talk/messages.
Y button: Pause/unpause, Open/close menu.
Left stick: Manipulate some objects.
B button: Start game, take snapshot for log book.
Use ESC key on keyboard to quit the game WITHOUT saving.

ANDROID
Dpad: Move player/highlight menu options.
A button: Action/select menu item.
X button: Talk/messages.
Y button: Pause/unpause, Open/close menu.
Single tap/double tap/tap-n-drag: Manipulate some objects.
B button: Start game, take snapshot for log book.
Use device's back button to quit the game WITHOUT saving.

MENU

Save button- There are 3 save slots, press the up or down arrows to change which slot you want to save to.
Load button- There are 3 load slots, press the up or down arrows to change which slot you want to load from.
Info button- Shows game info, press ENTER(windows) or B(android or gamepad) to show the log book, press up or down to turn the book's pages.
Quit button- Quits the game WITHOUT saving.

GAMEPLAY

In this game you must help the citizens of Megalopolis escape from their apocalypse brought on by the materialization of a wormhole that starts devouring their host star. There are several missions for you to complete, some of which involve having to use math or remember coordinates that scientists give you in the meeting scene on planet Frozania. The first mission is independent on the other missions, but the next 3 depend on weather you complete the missions successfully, and the last mission can only be reached if you completed the previous mission successfully. After each mission the game will automatically save a screenshot to the log book, you can also save screenshots to it whenever you want by pressing ENTER(windows) or B(game pad, android) and view the log book via the menu. There are 8 different ending scenarios that depend on how well you completed all of the missions.

NOTE ON ANDROID: Do not take screenshots with your android device while the game is saving log book screenshot entries (when the game screen changes size for a couple seconds it is saving a screenshot to the log book) or the game will crash, no fix is available for this because you cannot take 2 screenshots at the same time.

Credits:

All music composed by Eric Matyas @ http:soundimage.org

headdergps

Screenshot 20171112 134121

ss6

Screenshot 20171112 133703

K9 Remote

This app is now fully released in google play!

Please visit the official K9 Remote homepage for more details!


pet

Welcome to Canine Remote! When purchasing This app you may download it on multiple devices that you or your family or organization own.
With K9 Remote you can control your trained animal remotely by sending it commands that can either be spoken or texted, and the commands will be spoken to the dog either through ultra sound that humans can't hear or normal sound that the animal and humans nearby can hear. This app can be very useful for law enforcement K9 divisions to 'silently' command their animals from close by or afar, as well as for citizens who want to use the app for fun to amaze their friends!
To get started, press the menu button on the top right of your screen, you will see 4 menus... The setup menu is where you can set up the app to your preference, more on that in a minute, The second option is this audio tutorial. The third option lets you select between 6 different countries languages. This tutorial is also available in all 6 languages in the app's voice tutorial upon switching languages. The fourth option brings you to this web page, and the final menu is exit which will shut down the app. Now more on the first menu's features. Here you can adjust the pitch of the spoken voice to match as closely as you can to your voice. Combine this with adjusting the voice speed to fine tune it. Important, Press the set button next to the pitch and or speed adjusters to apply the settings. NOTE: You can set male or female voice by going to your Android device settings, and in the search bar up top type in text to speech, then select settings and select the gear to the right of your selected text to speech engine and check male or female voice. If only female is present there should be an option to download the male voice pack. Press the test button to test your settings. There are 2 checkboxes labeled Ultrasound and Ultrasound 2, if checked a frequency converter will be used to set the spoken frequency to 22,000 k h z for checkbox 1, dogs and checkbox 2, 48,000 k h z for cats. These settings let you send commands your animal will hear but cannot be heard by human ears. The third checkbox, Remote, can be checked to send the speech by text message to the receiving device. One example of usage would be a dog collar with an android device with this app installed which will receive and speak your commands. The fourth checkbox, Receive, is to be used in the receiving device to receive speech to be spoken from the sending device. At the bottom is a text field, with the Remote checkbox unchecked tap it to enter the 10 or 11 digit phone number of the device that will send your speech or text input and press Set, And if the Remote checkbox is checked tap the text field to enter the 10 or 11 digit phone number of the device that will receive your speech or text input and press Set. Once you have everything set up the way you want press the Finished button and you are ready to start! You can either press the microphone icon and talk, which will send or speak automatically when done talking, or you can type in your commands to speak in the text field below the microphone and press Send.
FEATURES:
When using the remote feature, the receiving device will also keep a text record of your commands sent to it in the form of text messages that can be viewed at any time in the same way you view text messages sent to you from any other phone or device.
You can change the spoken output on the fly on the receiving device by saying or typing (all lower case letters) one of these 3 phrases :
set to human
set to dog
set to cat
the result will be the frequency of the spoken commands is changed accordingly, in this way you can switch back and forth allowing the humans nearby to either hear or not hear what commands you are sending to the dog (or the humans for that matter) Also the receiving device is protected from receiving messages that weren't sent by the sending device, it will only speak if the phone number you set for it matches the phone number of the sending device.

Also if you want to use any device capable of texting or sending a text via email and don't mind not being able to use the voice recognition to send commands to the android receiving device, you can use ANY device such as i phone, email from your computer or phone, etc. All you need to do is get the sending device's phone number or email id number and enter it in the receiving android device. NOTE: To get the email id number you would first email your phone with a text message, (using the format phone number then the carrier address in the address bar of your email to send, example for emailing to an at&t phone: 1111111111@txt.att.net )when you receive the text look at the sender's number, copy down the first 4 digits of this number (the remaining digits are unimportant and change with every subsequent email sent) and enter this number in the receiving android device.

COMING SOON:
I am working on a 2nd version of this app that will be compatible with Android Wear devices such as the Gear 2 watch device, which would be much simpler to attatch to your pet's collar, I plan on it also being free if you have purchased the regular version of K9 Remote.

Below are some typical setup images to get started using this app.

single device settingsA

two devices settings b

Note that you may need to enter the phone number using the 11 digit format for example 1 111 111 1111 (without any spaces or dashes, numbers only!)
It is recommended to test the remote 2 device usage first by not selecting ultrasound to make sure that the receiving device is receiving and speaking the commands sent from the sending device, when you are sure it's working correctly then set to ultrasound if desired.


DISCLAIMER
Altho this app can be very entertaining and/or useful, I Tom Traggis and my company Roadhammer Gaming are not to be held liable for any damages, injuries, or other adverse effects caused directly or indirectly from the use or misuse of this app.

UPDATE!
I have been meaning to update this app for a while now but my GM:S Mergery project got corrupted back in november so I couldn't, but I finally fixed it!
The update pertains to the Android release, nothing is changed in the windows versions.

Mergery Full-
-Added notify system when new images are saved to your Android device, allowing other image apps to find them (after restarting your Android device or the other image apps)
-Fixed get permissions to save your images when using Android 6.0 and up

Mergery Lite-
-Fixed get permissions to display on first time the app is run when using Android 6.0 and up

Please give me some feedback on this amazing graphics app so I can continue to update it in the future with useful content, thanks and happy gaming!

Hello from Roadhammer Gaming! I have released a Text to Speech Extension on the Gamemaker Marketplace, This extension allows an Android device to speak text input that you or your players give it in your games!

Updated to version 2.0, Now compatible with GMS 2!
What's new
-Bug fixes in example project
-Updated Readme text in included files
-Added GMS 2 example project in the included files, Thanks to @Justice of the gamemaker community for the example project!

Requirements:

You must have gamemaker studio 1.4x or early access 1.99x and the Android module to use this extension.

YYG Marketplace Download link: TTSBasic Text to Speech Extension

Here is a link to a completed TTSBasic APK so you can test it out

icon200

TTS Android Basic is a text to speech extension for Android, This extension is intended for use on gamemaker 1.4 and early access 1.99 and you must have the android module to use it. This extension will let you input text and have the computer speak the text. Example project is included and a readme file is also included in the included files of the example project. Below is a list of the available functions and return type names from the extension:

Functions-
1. endTTS()- shuts down TTS. make sure to call this before ending game!
2. speakIT()- ciri speaks whatever text you input.
3. SstInit()- call once to start text to speech, only call again if you've called endTTS() and want to restart text to speech.
4. canSpeak()- check weather text to speech is initialized. Returns integer 0 for not initialized or 1 for is initialized.
5. countryC(String)- change the default language, string can be "usa", "canada", "germany", "italy", "japan" or "china".
6-7. Next 2 functions are for getting app permissions in android m, must be called in create event of first run object in first room of game.
8. adjPitch(double)- adjust the pitch of the voice, must be greater than 0.0, the lower the number the deeper the voice 1.0 is normal.
9. adjSpeed(double)- adjust the speed of talking, must be greater than 0.0, the lower the number the slower the speech, 1.0 is normal.

The best part about the adjPitch function is you can simulate male/female voices by adjusting the pitch!

Social async types returned to gms:
NOTE all values are returned as strings
1. initted- Query weather TTS is running.
2. whostalking- Returns "2" when computer starts speaking.
3. compsays- Converts Computer's spoken words to text.

IMPORTANT NOTE: The end user of your game must have a tts engine on their android device, most android devices come with the engine but most do not have the language plugins, but the extension will prompt the user to install them if they are missing.
ALSO the chinese and japanese languages require a 3rd party tts engine and language plugins to work and they may have to be installed manually by the user, but that shouldn't be a problem if you live in those countries.

Hello from Roadhammer Gaming! I'm working on a game called Chromosome Z, it's a sim of evolution. I'm using a genome approach to define and evolve organisms to survive under varying conditions, I have a demo HERE for windows 8+, it's a long way off from completion but I just got the chromosome code working fairly well and the game currently is solely run by the player, but the end result will be that the player makes an organism and it evolves by it'self with the player still being able to control it's movement and interaction with other organisms in the population.

arrow keys - move around

mouse - drag text box, drag organism

space - create chromosome and a population and evolve it (it can take anywhere from a second to several minuites, in which time you can't move the organism, be patient and let it evolve)

shift - clear text box data

Escape - save and exit game, saved game is automatically loaded when you play again, click the close window box on top right to exit WITHOUT saving the game.

try the demo HERE for win8+

Visit the Chromosome Z home page








The plan for evolution

Hello from Roadhammer Gaming! I have released a fun 1 - 2 player racing game for Android and windows called Acorn Squirrel Race, I hope you enjoy it!
Please let me know if you like it, hate it, or anything in between, One note on the Android version, I do not own an external keyboard so I could not test the 2 player mode for android, it 'should' work fine but Please let me know if you have any problems with it, thanks and happy gaming!

Acorn Squirrel Race

[​IMG]
Did you ever wonder why squirrels run back and forth across the road? They're playing the Acorn Squirrel Race!

play against Compu-squirrel or a friend!

Press ENTER to start, Press ESC to quit the game.
Grey squirrel - move with arrow keys
Red squirrel - move with W,A,S,D
(ANDROID- must use external keyboard for 2 player mode)
You can turn the sounds on and off and the blood on or off in the options menu at the beginning of the game, both are OFF by default.
Objective- collect acorns of the same color as your squirrel and bring them back across the roads to score points.
The first squirrel to collect 12 acorns wins, there are 10 rounds, you need to win twice to advance to the next round, and each round is harder to complete. After 10 rounds the winner of the game is announced! Good luck!
The game is automatically saved when exiting with the (windows)ESC key or (android)BACK button on device.


Download Acorn Squirrel Race for Android
Download Acorn Squirrel Race for windows 8+
Download Acorn Squirrel Race for windows 98

[​IMG]
[​IMG]
[​IMG]

[​IMG]

Hello from Roadhammer Gaming! I've released an action/puzzle game called Space S, which is about a salvage and mining company from earth which sent a mining expedition to dwarf planet Ceres to collect water and hydrogen, but, sadly, on the way there a stray meteor hit the ship just before the crew were about to enter landing sequence. Luckilly all survived and parachuted to the surface. Formerly Space S
had sent previous missions which dug the mines and provided crude living quarters. But now with no contact it would be over a year before they were missed, and another year to send a rescue team. All seemed doomed, unless...

Controls: Arrow keys- Move player around
Z key, A button- Perform action P key,
Y button- Pause and Menu

Get it here for Android:

Space S for Android on google play

Please see the Space S Homepage for More info and walkthrough, enjoy!

Gameplay When you land there is one cave, explore it and eventually more areas
become accessable from the main entrance to the cave.
Collect all 10 pieces of the time loop crystals and bring them to Captain Rex.
Use bombs to find caves after giving the captain certain crystals. After the time loop machine is created you will go back in time and must make the right decisions to save the crew!
Credits: Music by Eric Matyas @ www.soundimage.org..