Mine Mars : A Voxel Based JavaScript + WebGl Adventure!! project video thumbnail
Replay with sound
Play with
$958 pledged of $15,000 goal
By John David Martin
$958 pledged of $15,000 goal

Recent updates

Gamepad api plugin update!

I took a break from the game to complete the gamepad api wrapper. This plugin will wrap all inputs including gamepads, keyboard, and mouse. It basically makes it a snap to create a browser based game without worrying about how the player wants to interact with your game... here is the new "tour" video and an image of a quick 4 player game I made with the plugin. Follow "gitsome" on github.. I will probably have it up there in just a few weeks.


It's so sick its SCARY!!

It's like web tech ZOMBIES have invaded the world and Mine Mars is rounding them up... here is a new video that shows how the gamepad api wrapper integrates with this HTML5 game to provide accurate action mapping within descriptions...

This allows you to program tutorials for inputs right into your game... in Mine Mars we utilize the Chrome Text To Speech (TTS) API to speak modal info.... 

Is it just me or does this not sound unreal in Chrome Canary?  Do you hear the breaths taken between pauses!?

Unbeleivable!!!! Accesability is about to get a makeover... booyah!!!

This is our last two weeks!!! Please suppor this Kickstarter... retweet etc..!!!!

Video of the HTML5 Gamepad API Wrapper!

Oh man is this fun!  It really is sweet to press a button on a modern wireless controller and see the effects in a browser based game... Here is a video of what it is like to map buttons to a gamepad... most configurations will ship (or be downloaded) but if you need to fine tune your gampad, here is the experience using CSS3 for some great 3D effects!!!

Gamepad triumph!!!

The configuration tab has been completed!  This allows a user to hook up a pad and map the gamepads buttons to the browser's reporting of its inputs.... gamepad.js stores these configurations for common browser/os/gamepad combinations... but this tab basically allows for quick integration of new or unkown gamepads and an obscure browser/os/gamepad combinations!!  So sick!

I will probably adjust the text to have one area that says (XBOX 360) with no player num... and then switch that text to the button they need to press. Player number is irrelevant since we are mapping gamepad "type" only... so it scans all gamepads with this specific type regardless of player num... also super sick... unless you have a jerk friend who likes to press keys on another gamepad with the same "type" while you are trying to configure your gamepads... not our problem... I suggest denying your friend a beer for this act...

Next is finishing the action mapping tab... this is mapping game actions to inputs (gamepad / keyboard / mouse)... very exciting!

Gamepad Plugin Looking Good !!

The work to create a standalone all incompassing gamepad / keyboard / mouse input handling plugin continues...

I have succesfully refactoring code to match gamepad id's to specific models and can readily access a playstation or xbox controller. It seems I cannot do both at the same time, but I think that might have to do more with my computer's bluetooth setup than the ability to have multiple gamepad types working at the same time. More research will be done here. When I return to Phoenix in a week, I will test multiple xbox controllers at the same time.

I have completed the workflow for viewing gamepads that you can callibrate. They show up in the list and are shown as active if the gamepad is plugged in. If you click on an active gamepad, it opens a screen where you can then test to make sure your button mappings are correct. I have configurations for button layouts for  both xbox and ps3 controllers... they provide positioning and some extra classes so the controller can be rendered using CSS and 3D transforms!!! Now when you press a button, you can see it in 3D on the controller... nobody puts buttons on the bottom of the controller, but if they did, this would allow the UI to rotate the pad in 3D so the user can see the button on any face... Pretty fun!

Next up, is actually mapping the buttons/triggers/axis/dual axis inputs in the configuration of the gamepad to the actual inputs that are reported... this will be saved in local storage as stringified json..  at a later date, this data plus browser + os info will be sent to a server so you will never have to actually callibrate unless you are using an obscure gamepad.

Then, the next step will be mapping actions to keyboard / mouse / gamepad input. The game would pass a set of actions to the plugin and would have an opportunity to map them to any combination of inputs... this could then be saved as a "configuration". So you could have a keyboard only configuration named "john's keyboard"  and a configuration name "Ben's keyboard" and a configuration names "john's xbox" etc...

This means you would be storing game configurations specific for each game / each user / and each input combination... very customizeable.. and then work will be done to store them in a server so you can synch up no matter what computer you are using...

Additionally, in the game you would simply test  ginput.player[x].action('jump')  and not have to worry about whether that came from a keyboard / mouse / or gamepad... 

Once this is done you won't ever see me use anything else to manage html5 gaming input! Can't wait to play Mine Mars with my gamepad!!!