Dual-Stick Voxel Player — updated for multiple outputs

The BasicPlayer UI covers too much of the screen, and I don’t need all that inventory stuff if I just want to walk around in some terrain.

That’s the purpose of VoxelWalker: you can see the whole screen, and you can just walk around in terrain (it uses an adapted version of @dave1707’s dual-joystick code).

The video shows it working in its own project and also in dave1707’s terrain generator, and it should work just as easily in any of your own voxel creations.

https://youtu.be/aBb9xAMTodE

note there’s a bug I can’t figure out, and you can see it in the video when I reset the terrain generator 3 or 4 times. For some reason, in dave’s terrain project, sometimes the joysticks don’t load at all, and I have to tap the reset button until they appear. Any tips on fixing it would be awesome.

Update:

To prepare for attempted integration with “Froggy” there’s a new function.

Calling walker:dpadStates() returns a table reporting the dpad buttons that would be pressed to match the current joystick states.

If you call walker:dpadStates(true) it will allow for multiple buttons to be pressed at once—in other words enabling dpad-style diagonals.

Update:

Again for purposes of “Froggy” experiments I’ve made it possible for custom functions to be assigned to the left and right joystick separately, and have made the default functionality use the same system so it’s easy to replace if desired.

Discussion moved here: https://codea.io/talk/discussion/12735/would-love-any-and-all-help-getting-up-to-snuff