"Steve's Mega Visualizer" - A3: Iteration

  By Christian Salvador and Omar Khan

Final Prototype Image


Check Out Omar's Webpage Portfolio For This Project Here

(https://okhan.notion.site/Omar-s-Tangible-HCI-Portfolio-052fd3a8d9ea4b5a8013f6fa5b7c01f8)


Description

  Ever found yourself playing Minecraft, wishing there was an easier way to track your friends' or foes' locations in the vast digital world? Sure, you could use their coordinates, but those are just numbers which don’t mean anything without the context of the virtual world. The Steve Mega Visualizer changes all that. It takes those hard-to-read coordinates and maps them onto a physical space, making it simple to see where a player is at a glance. Complete with x-position and z-position movement, cardinal rotation, and a scrolling background for the y-position, this tool can help you prevent your Minecraft enemies from stealing your supplies. It is also a handy tool for collaborative play, to track your buddy, or simply to track your own position in a Minecraft world. It is designed to fit on a desk to make it easy to use, and a natural addition to any room.

  This is a combined and improved iteration of both Omar and mine’s assignment 2 TUIs.[1, 2] For assignment 2, Omar made an altitude visualizer with a pulley system, and I made a horizontal position visualizer with a dual-rail system. After the demo day for that assignment, both of us knew that the natural next step would be to combine both of our TUIs together to make an improved iteration for assignment 3.

  We cycled through a few different ideas for how we would achieve this (see the early sketches in concept development photos). Upon getting feedback for our proposal sketches, we decided to keep the shape of my TUI, and attach a scrolling background to it to represent the player's attitude. We did this because we found Omar’s TUI to be more easily adaptable, and we liked the simplicity and modularity of a scrolling background.

  Over the following few weeks, Omar worked on adapting his previous design to a scrolling background, while I worked on improving the overall build quality of my rail system and adding a piece for cardinal rotation. Omar ran into a lot of problems with the friction on the rollers. It was a really delicate balance to get it to work consistently, because there were some parts of the roller which required a very low level of friction in order to move, but there were other parts which required a high level of friction. For any possible future iterations, there would need to be more thought put into the materials to make the rollers more reliable and consistent.

  As for I, the main issues that arose with the iteration of my TUI were mainly from adding the new rotational motor used to track player rotation/orientation. One issue that arose was possibly faulty hardware or interference from the magnets placed on top of the stepper motor. The stepper motor used for orientation was much weaker than the ones used for the X and Z axis alignment, thus it was prone to getting stuck. What was interesting was that it was fine turning clockwise but struggled to turn counter-clockwise despite the wiring being correct making it seem more like faulty hardware being the cause. For future iterations, a stronger motor could be used instead to go against the forces of the magnets or more intensive testing of parts to ensure they are not faulty.


Concept Development Images

Rotation Concept Idea Sketch

Combined Visualizer Sketch 1

Combined Visualizer Sketch 2

Scrolling Background Rollers

Rollers Prototype with Rubber Band

Rolling Pin Experimentation

Functioning Background Prototype

Painted Vertical TUI

Rubberbands on Rollers

3D Modelled Improved Rail System

3D Printed Improved Rail System


Concept Development Videos

Rotation Motor Testing

Improved Positional Motor Testing (Sound Warning!)

Showcasing Working Prototype


Demo Video

Demo Video - Sound On


Circuit Diagrams

Horizontal TUI - Circuit Diagram

Vertical TUI - Circuit Diagram


Horizontal TUI Arduino Code

In order for Python Script to work, Minecraft Server must be running with a player currently online. The Arduino must also run first.

Github Repo With Arduino Code, Python Script and Minecraft Server (https://github.com/KittenInAMitten/CPSC59988A2/tree/a3-iterative)

NOTE: Ensure you are on the a3-iterative branch!


Vertical TUI Arduino Code

Github Repo With Vertial TUI Arduino Code and Python Script (https://github.com/omarkhan03/tangible-hci/tree/main/steve%27s_altitude_gauge)


References

  1. O. Khan. "Assignment 2 - Steve's Altitude Gauge." [Personal Blog]. Oct. 04, 2024. [Online.] Available: https://okhan.notion.site/Omar-s-Tangible-HCI-Portfolio-052fd3a8d9ea4b5a8013f6fa5b7c01f8#4dd5a0edd9bf408f809881a25f6d8568
  2. C. Salvador. "Steve's Physical Map" - A2: Physical Output." [Personal Blog]. Accessed: Oct. 04, 2024. [Online.] Available: http://csalt.dev/projects/cpsc599.88/a2/