Skip to content

A PLAY EXPERIENCE MAKER'S WORK LOG FOR FUTURE SELF©2001 – 2023 Kyle Li 李肅綱 All Rights Reserved.

Category: Experiements

THE HELL HOUND WALKER

Posted on April 8, 2024June 26, 2024 by admin

NEW REMOTE WORKING OPPORTUNITY AVAILABE IN HELL!

Hell sure has become the popular destination in afterlife recently. In order to improve the overcrowded working condition, the bureau of labor in the underworld has open up to the idea of remote working. This is a pilot program for monster walkers in hell which is similar to dog walkers here. If you have received one of these kits at your doorstep, congratulations, you are going to hell soon, and you better set it up and start working, those hell hounds won’t walk themselves!

This is a single player experience made possible with a custom alternative controller which allows the player to walk a hellhound on a leash. People who work remotely as a hell hound walker will receive a remote working kit. Inside the kit, there is some kind of a monitor, a specialty controller (the Leash), manual, power adaptors, and some AV cables.

The Leash controller is made of a repurposed Gametrak 2 joystick module. I have been wanted to upcycle Gametrak 2 controllers for something fun since it came out. It is essentially a physical motion tracker. It is a brilliant idea from other side of the pond. It is a wonderful controller, especially the 2nd version with modular joysticks which I incorporated in my controller. I also loaned it to my students from time to time just to see what came up. Here are two fun examples:

Echo Rift by Yi-Ning Huang, Clover Paradise, Pierce Wolcott, and Hang Ye, 2014.
This experience puts players into the shoes of a bat navigating a virtual cave. By tilting and turning the oculus, users could control their trajectory as they glide past stalactites and stalagmites. Using a Gametrak controller modified to be wearable, players could also influence their altitude by flapping their arms. This resulted in surprisingly immersive experience, that was also lots of fun to watch.
https://piercewolcott.com/portfolio/echo-rift/

Group Project Assignment 1 by Luca Jeha Civita and Krystal Huang, 2023.
We decided to create an instrument using the Gametrak string sensors Kyle showed us in class. We pictured something that allowed for rhythm, harmony, and melody.
https://new-arcade.tumblr.com/post/732013080328929280/luca-krystal-progress-report

Since this is supposed to be an tool sent from hell, I am trying to make the alternative controller looks like an ancient religious artifact from a sci-fi movie or Warhammer 40K — that dark, gothic, and futuristic look and feel. Most of parts are connected or glued together with Lego Technic friction pins (#2780). The base are hold together securely with a hair loop which is a technique I used frequently with my builds.

The enclosure for the Gametrak 2 module has gone through many iterations. The original design was meant to work with M5Stack Fire and its sensor units, so I designed thicker wall to accommodate the Lego Technic pins. I moved on to a simpler Arduino setup because the analog data are more reliable for what I am doing. I am able to reduce about 5mm (back plate) + 3mm (front plate) of the thickness which helps the controller and the leash align with the hook on top better.

For the aesthetics, I am imagining each level is a park in hell. There will be lost souls, ghosts, monsters, magma everywhere, typical hell stuff. The first park is an abundant race track that I modified from a Synty game asset that I own and remixed it with all the hell elements above.

Park 07-A-001

The missing piece:
https://www.frathwiki.com/Parseltongue-inspired

List of Game assets used in this prototype:
Mix of Synty Game Assets
https://syntystore.com/
Demon Dog
https://assetstore.unity.com/packages/3d/characters/creatures/demon-dog-122346#publisher
Simple Racer – Cartoon Assets
https://assetstore.unity.com/packages/3d/vehicles/land/simple-racer-cartoon-assets-37490
Oak Forest (Tree Pack)
https://skfb.ly/oOrvE
The ambience sound 1 was a loop sampled from
-D&D Ambience | Hell | Cries, Agony, Despair, Demons, Devils, Magma, Avernus
https://youtu.be/JzVIkY5tKcE
The ambience sound 2 was a loop sampled from
10 Hours Lava Flow, Kilauea Hawaii
https://youtu.be/kTpglKDyn4s

NEW VIEW SCHOOL 2024 PREP

Posted on April 6, 2024July 5, 2024 by admin

Dan visited DT in 2018 when he was an evangelist at Unity. He did a demo for us on Unity’s latest cinematic pipeline at the time. Can’t believe it was almost 7 years ago! I reached out to Dan for some insights on how much we will be able to accomplish with Unity Visual Scripting and VisionOS.

… it’s been a really fun project. There has been some work to support visual scripting in AR Foundation but mostly from a mobile perspective. The good news is that most of those API’s are the exact same on mobile as on VisionOS.

see: https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@5.1/manual/visual-scripting/vs-samples.html

So there are some visual scripting nodes and logic is supported for accessing ARKit data (through AR Foundation). The challenge will probably be understanding how and where ARKit on iOS differs from ARKit on VisionOS (it’s a very small subset of the features supported on iOS). Then creating custom logic to fill those gaps or access the data differently. Lastly input will likely be a challenge as there are some unique constraints to how VisionOS handles input.

STYLY-VisionPro-30Days:
https://github.com/styly-dev/STYLY-VisionPro-30Days

Requirements

  • Unity
    • Unity 2022.3.27 or later (Use 2022.3.XX)
    • Modules:
      • visionOS Build Support
    • Render pipelines: URP
    • Color Space: Linear
  • Xcode (if you want to test with visionOS simulator)
    • Xcode 15.2 or later
    • Apple Silicon Mac (M1/M2/M3)

OSC Jack
-> OscJackVS
-> WebRequest Visual Scripting
-> PolySpatial Environment Diffuse Shader
-> Spectrum Visual Scripting Nodes
-> UniGLTF
-> VRM-1.0
-> VRM Visual Scripting Nodes

  • In your Unity project, go to Windows > Package Manager.
  • On the status bar, select the Add (+) button.
  • From the Add menu, select Add + package by name. Name and Version fields appear.
  • In the Name field, enter com.unity.cloud.gltfast.
  • Select Add.
  • The Editor installs the latest available version of the package and any dependent packages.

Currently stuck on Day 3.

Supported features for STYLY visionOS Plugin

  • Mixed Reality mode: Bounded Volumes, Unbounded Volumes
  • Standard URP shaders: Lit, Simple Lit, Unlit and some shaders in supported Unity packages
  • Visual Scripting
  • Timeline, animator, animation, audioclip and other basic features. See Supported Unity Features and Components page for the detail.

NOT Supported features for STYLY visionOS Plugin

  • Fully Immersive VR, Windowed Apps
  • Your C# scripts
  • Custom shaders
  • Visual Effect Graph
  • Postprocessing Stack

FAQ

  • How does the thumbnail work after upload? Is there a specific orientation and position to get a better thumbnail?

Traveling Witch

Posted on January 18, 2024November 23, 2025 by admin

In Traveling Witch, the player brews potions to bring happiness to people around the world. The game provides a portable cabinet full of wicked ingredients and a half-sized cauldron that hasn’t been cleaned for generations. Players have to figure out what potion to brew based on their conversations with visitors.

The physical controller playset was designed to simulate the act of brewing potions. Based on conversations with visitors, players refer to their notes (the clue book), select the correct ingredients, and stir the cauldron in a particular way to complete the potion. These physical interfaces provide an intuitive, tactile experience that elevates the gameplay’s sense of playfulness and immersion.

Here is a video without the physical clue book:
https://www.instagram.com/p/C3OfLvORXUd

I made a cauldron controller in 2020 (here). Originally, the controller was meant to do two things — read multiple ingredients (RFID tags) and use stirring motion (KY-040) as an input. The multi-RFID reader board wasn’t that reliable at the time. Depends on how the RFID tags was stacked, not all tags were read properly. However, stirring both clock and counter-clock wise was working and felt very satisfying. I have wanted to build an example of a simple ID system, I decided to come back to the cauldron and try a different approach to id the ingredients.

The old cauldron was made of KY-040 and Adafruit Feather. I decided to build the ID input module and cauldron with M5Stack this time because a stack of Limit Switch units (SKU: U145) is perfect for creating a simple ID system. I made the ID input module in the form of an alchemy cabinet. The player can insert the ingredient data card from the top of the cabinet and press down to send in ID. Switch-based ID system is a simple but effective method used in many interactive toys. Every switch has an on and off state. I used 5 switches to create 2 to the power of five -1 IDs for this play experience. -1 is because 00000 won’t work in my setup. I am only using 5 ingredient data cards at the moment.

M5Stack Fire Document:
https://github.com/m5stack/m5-docs/blob/master/docs/en/core/fire.md

Working with the M5Stack unit – Limit Switches:
I wanted to create an ID system using 5 limit switch units. However, I found out only 4 of the 6 ports on pHub unit can be used as digital inputs. The rest two are analog only. This is not a road blocker, it only makes reading switches a little more complicated.
https://shop.m5stack.com/products/limit-switch-unit

Working with KY-040:
I started out with the basic example code that can be easily found on the internet. There were little unwanted jumps on directions here and there, but it was acceptable. However, when I started to add more code to the sketch, the amount of jumps increased drastically. At first, I had suspected it might have something to do with debouncing. The amount of jumps remains the same after trying both software and hardware debouncing. I then found out the code I added to the sketch, especially in the loop(), slows down each loop cycle by about 6 ms compared to close to 0 ms with just the KY-040 example code. I eventually found a workaround using interrupts which in a nutshell is like threading for Arduino. It works perfectly without any jumps on directions when stirring the cauldron.
https://github.com/ownprox/Rotary_Encoder_KY-040_Fixed/

3D models – Medicine Cabinet

3D Model – Cauldron

What goes into a witch’s cauldron?

Woodcut by John Thompson, 1826

Macbeth, Act IV, Scene I (William Shakespeare 1564 – 1616)

The three witches, casting a spell
[First Witch]
Round about the cauldron go; In the poison’d entrails throw. Toad, that under cold stone Days and nights hast thirty one Swelter’d venom sleeping got, Boil thou first i’ the charmed pot.
[All]
Double, double toil and trouble; Fire burn and cauldron bubble.
[Second Witch]
Fillet of a fenny snake, In the cauldron boil and bake; Eye of newt, and toe of frog, Wool of bat, and tongue of dog, Adder’s fork, and blind-worm’s sting, Lizard’s leg, and howlet’s wing, For a charm of powerful trouble, Like a hell-broth boil and bubble.
[All]
Double, double toil and trouble; Fire burn and cauldron bubble.
[Third Witch]
Scale of dragon, tooth of wolf, Witches’ mummy, maw and gulf Of the ravin’d salt-sea shark, Root of hemlock digg’d i’ the dark, Liver of blaspheming Jew, Gall of goat, and slips of yew Sliver’d in the moon’s eclipse, Nose of Turk, and Tartar’s lips, Finger of birth-strangled babe Ditch-deliver’d by a drab, Make the gruel thick and slab: Add thereto a tiger’s chaudron, For the ingredients of our cauldron.
[All]
Double, double toil and trouble; Fire burn and cauldron bubble.
[Second Witch]
Cool it with a baboon’s blood.
Then the charm is firm and good.

These gruesome-sounding names are most likely used for dramatic effect rather than literal ingredients. For example, “Tiger’s chaudron” refers to tiger guts or entrails. However, when the ingredient is listed in modern analyses, it is interpreted to mean lady’s mantle, a common herb.

  • eye of newt: a mustard seed.
  • fillet of a fenny snake: leech or root of a plant
  • toe of frog: bulbous buttercup
  • wool of bat: moss and holly
  • Owlets wing: garlic

I thought I started with these 5: Hemlock root, toad, fillet of a fenny snake, eye of newt, and wool of bat.

The Clue Book:
Potions in Dungeons & Dragons:
https://www.reddit.com/r/DnDBehindTheScreen/comments/4btnkc/random_potions_table/
https://www.reddit.com/r/DnD/comments/2134j6/4e_crazy_and_fun_potion_ideas/

Interestingly, upon examining how D&D books might simplify potion recipes, I was struck by the remarkable similarity between potion-making and the practice of traditional Chinese herbal medicine.

Chinese herbal medicine utilizes ingredients derived from plants, minerals, and animals to restore balance and harmony to the body’s vital energy, or Qi. These components are typically combined into formulas tailored to an individual’s specific condition. Much like the exotic ingredients one might find in a fantasy cauldron, the herbs themselves often bear wonderfully imaginative names.

  • Earth Dragon: Earthworm
  • Ground Turtle: A bone-connecting-insect that lives in soil
  • Dragon Coat: Snake skin
  • Chicken Inner Gold: The inner lining of a chicken’s gizzard
  • Blood Residue: A carbonized substance obtained from charred human hair.
  • Yellow Dragon Extract: Essentially liquid from aged human feces.

In order to prepare a Chinese herbal decoction, first soak the herbs in water for about 30 minutes. Then, boil and simmer the mixture for 45-60 minutes before straining the liquid. The process is repeated with the same herbs, using less water to extract a second, more concentrated decoction. The two liquids are combined to create the final drink. The brewing process and the end product is very similar to potion-making in my mind. The only notable difference from Chinese herbal decoction-making is the specific advice against using a cast iron pot which is what most cauldrons made of.

OTAMATONE MR

Posted on December 21, 2023April 6, 2024 by admin

I had experimented with MR on Pico 4 but the resolution, image stitching, and controller tracking were not ideal. Since my code-free tool kit doesn’t support Meta 3 MR yet, I am going back to native OVR development for this experiment.

prototypes

Quickly put together a clamp to mount the right touch controller on the Otamatone Deluxe. The final version was created by remixing the following parts together.
Prusament PET-G Clamp Optimized: https://www.thingiverse.com/thing:4158813
meta quest 3 – Simple gun stock V1.1: https://www.thingiverse.com/thing:6289919

The first song that I am going to try is the Happy Birthday song.

The development is so much easier than I expected. This Youtube tutorial was really helpful.


Found a template project, work right away!
https://github.com/dilmerv/MetaAdvancedFeatures

First working prototype – me performing Happy Birthday!

 
 
 
 
 
View this post on Instagram
 
 
 
 
 
 
 
 
 
 
 

A post shared by Kyle Li (@beastmarias)

Even me can tell it was out of tune. The first prototype was based on a scale found on the internet. I decided to made one myself. I found out there are tuning apps available on my android phone. After testing a few free ones, I eventually found Tuner – Pitched!, it was free and didn’t have the complicated free trail model. I tasted it with a piano first, the app worked very well. My scale turned out to be very different than the one I used in the first prototype, and it sounds so much better! Maybe the scale I found on the internet was made for a different Otamatone model?

Now it finally sounds like it.

View this post on Instagram

A post shared by Kyle Li (@beastmarias)

Okay, now I got the basic down, kinda, I am going to challenge myself with Le Festin from Pixar’s “Ratatouille”. The Cola Original Taste cover was super inspiring and made an impression of the song on me. Here is 10 hours of it.

Music Math:

A whole note is held for 4 beats. 

Happy Holidays!!

Posted on December 13, 2023December 21, 2023 by admin

Building 20

Posted on October 1, 2023October 15, 2025 by admin

“Since TMRCies were known for their creativity and ingenuity Digital was kind enough to donate to TMRC the first PDP 11 to appear at MIT; this made the Club the first MIT student group to ever have a computer! Soon TMRCies combined the operation of WECo’s donations and Digital’s PDP 11 to create cab assignment and switching though the computer. The computer also allowed the implementation of ‘phone operation’ – that is, switches could be thrown via the telephone system within the club room! (This phone system, to be named MaRoto, was also a TMRC customized item.)”

http://tmrc.mit.edu/bldg20.html

“Here’s what I found: the building was hastily-constructed of plywood. It leaked. It had bad acoustics and was poorly lit, inadequately ventilated, very confusing to navigate (even for people who had been working there for years) and was scorching in the summer and freezing in the winter.”

https://djcoregon.com/news/2012/06/19/building-20-what-made-it-so-special-and-why-it-will-probably-never-exist-again/

https://www.architects.org/stories/serendipity-when-walls-get-in-the-way

Occupants of Building 20 in 1963 (from Staff Telephone Directory, compiled by MIT Institute Archives)
Army, Military Science
Campus Patrol (20C-128)
Data Processing (20C-220)
Ice Research Lab (20E-206)
Industrial Hygiene Lab (20B-245)
Lab for Nuclear Science, linear accelerator (20D-014)
MIT Press (20B-120)
Model Railroad Club TMRC (20E-214)
Occupational Medical Services (20B-238)
Physics Labs
Research Corporation (20B-111)
Research Lab of Electronics

PDP-1 attached to a model railroad after its retirement to the University of Massachusetts at Amherst in 1968.

“The PDP-1 that originally went to Bolt, Beranek & Newman to be used in a more formal environment than at MIT was eventually retired to the University of Massachusetts at Amherst in 1968 during my own tenure there and was connected to a model railroad. It still had SpaceWar! as the primary program.
(J.A.N. Lee, ibidem, p. 272)”

Worldly Wednesdays: A Timeline of Spacewar!

https://wheels.org/spacewar/stone/rolling_stone.html

According to this link:
https://retrocomputingforum.com/t/the-tech-model-railroad-club-mit-1946-onwards-hacker-culture/3548

Posted by the user NoLand
Notably, the MIT wasn’t the only university which featured a model railroad, which also leads to a few confusions. E.g, in this context, we have to point out a couple of photos that are frequently distributed with the tag line “The PDP-1 at the Tech Model Railroad Club.”

Here’s one of them and even the CHM has it under the title “History – PDP-1 at the Tech Model Railroad Club” in its catalog.

There are some details that don’t add up. Notably, the PDP-1 was never at the TMRC and there wasn’t even a possible time window for this to happen. As it turns out, this is at the University of Massachusetts Amherst in 1968, and the person seen operating the PDP-1, which was indeed used to control the layout seen in the foreground, was J.A.N. Lee, Head of the then new CS program. The machine seen in the picture, is the PDP-1B production prototype that was originally installed at BBN in 1960 and was once used for Ed Fredkin’s pioneering timesharing system.

(Marginally interesting is that, while the machine had originally a detached operator’s console, this was now mounted to what looks like the integrated paper tape reader found on the production models, which it seems to have acquired over the years and which promotes a somewhat deplorable impression regarding the state of the computer, as if dismantled half-ways. BTW, the PDP-1 is the white (or rather cream colored) cabinets seen in the background of the photo. What’s balancing on the combined paper tape reader and console assembly may be a paper tape punch, as indicated by the rails around what looks like a slot seen at its top. The tape punch is the vertical slot seen at the right of the top front panel of the production models. — And, yes, as the machine retired to UMas, it was found to still have a copy of Space War in its non-volatile core memory.)

And, to close the circle, the image first publicly appeared (with a correct tag line) in a review of Steven Levy’s “Hackers”, the very book that popolarized the notion of the TMRC. This review was written by the same J.A.N. Lee, we see in the photo, and is found on page 271 of the Annals of the History of Computing, vol. 7, no. 3, July, 1985 (J.A.N. Lee, “Reviews: Levy, Steven. Hackers”, pp. 270-272).

Acorn Riders II 始動

Posted on March 24, 2023April 24, 2023 by admin

SparkFun RFID USB Reader – SEN-09963
https://www.sparkfun.com/products/9963

Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

Foam outer: 34.00mm inner: 22.0.0mm

https://hutonggames.com/playmakerforum/index.php?topic=12484.0

“… addForce apply the force at the center of mass.”
“simply cheat and do both a AddForce and Addtorque, then you have simple control over your inputs without having the headache of doing proper physics computation for achieving your controls.”
“the other option is to use “atPosition” property, this will in effect apply a  self force but not from the center of mass and thus imply a torque”
http://docs.unity3d.com/ScriptReference/Rigidbody.AddForceAtPosition.html

SUN UP 深型 鋼製クランプ 25×100mm
https://www.amazon.co.jp/dp/B0091FHK6M/

Wolfcraft B3431 Micro Tip Spring Clamp (2)
https://www.amazon.com/dp/B0001P19IQ

04/24/2023 Looking at OnTriggerEnter in the ShellExplosion script so the shell doesn’t damage the tank.


LEIA LUMPAD

Posted on December 27, 2022December 28, 2022 by admin

https://www.leiainc.com/sdk
https://docs.leialoft.com/developer/unity-sdk/unity-sdk-guide
https://www.leiainc.com/sdk

Project Setup Steps

  1. Delete your previous Leia Unity SDK folder if it exists
    • at <project_path...>\Assets\LeiaLoft\
  2. Download the Leia Unity SDK: https://www.leialoft.com/tools
  3. Import the Leia Unity SDK .unitypackage into your Unity project.
    • While Unity is running, double-click the .unitypackage or
    • Drag the .unitypackage into your Unity project’s Assets folder
  4. Follow the Recommended Unity Settings window. If this does not pop up automatically, it can be found in Leia> Recommended Unity Settings or Alt + R

Conversion Steps for New and Existing Projects

  1. Follow the project setup steps.
  2. Attach the LeiaCamera.cs script to your Camera GameObject.
  3. Follow Content Design Guidelines.

Quick Design Steps

  1. Start by encompassing your game content in the Leia Frustum.
  2. Set focus plane to where the viewer should be looking. a. Text / UI looks best when in focus.
  3. Set baseline scaling to determine the amount of depth or size of your Leia Frustum.
  4. Switch to 2D mode when no 3D content is displayed.

Notes

  1. 2019.4.29f1 LTS works fine.

Sherlock Holmes & The Dimensional Pipe

Posted on December 16, 2022February 3, 2024 by admin

Sherlock Holmes & The Dimensional Pipe is an AR experience that allows the participant to revisit mysterious crime cases that were solved by detective Holmes and Dr. Watson around 1900. This time and space entanglement between 1900 and 2022 was made possible by combining an alternative controller called “the dimensional pipe” and the AR capability of a smart phone.

a dimensional pipe prototype

About the demo case: The Adventure of The Unholy Man

This is the first and probably the most famous one in all the editions of the 221B Baker Street board games including the video game adaptation of the board game in 1987.

221 B Baker Street Emulator:
https://www.myabandonware.com/game/221-b-baker-st-9m/play-9m

It is interesting the video game version and the board game version have different numbers of clues this case:
– Longworth does not smoke.
– Anastasia did not like the strange preacher.

Voice over wise, I really like Ben on Narakeet:
https://www.narakeet.com/app/text-to-audio/?projectId=23650c08-6219-4abf-bc90-c583f1369a44

STYLY LOCATION MARKER

Posted on August 3, 2022August 3, 2022 by admin

Location AR Marker:

https://styly.cc/ja/private/how-to-create-a-location-marker/

STEP 1:

https://styly.cc/ja/mobile/?location={ロケーションID}
https://styly.cc/ja/mobile/?location=d83f83ae-af5a-4480-bd3a-9fa6e40cf5fe

STEP 2:

https://styly.cc/ja/mobile/?location={ロケーションGUID}&size={印刷時のサイズ}
https://styly.cc/ja/mobile/?location=d83f83ae-af5a-4480-bd3a-9fa6e40cf5fe&size=0.05
(5cm x 5cm)

STEP 3:

https://www.tagindex.com/tool/url.html
エンコード後
https%3A%2F%2Fstyly.cc%2Fja%2Fmobile%2F%3Flocation%3Dd83f83ae-af5a-4480-bd3a-9fa6e40cf5fe%26size%3D0.05

STEP 4:

https://stylymr.page.link/?link=https://STYLY_REPLACE&apn=com.psychicvrlab.stylymr&isi=1477168256&ibi=com.psychicvrlab.stylymr

https://stylymr.page.link/?link= https%3A%2F%2Fstyly.cc%2Fja%2Fmobile%2F%3Flocation%3Dd83f83ae-af5a-4480-bd3a-9fa6e40cf5fe%26size%3D0.05&apn=com.psychicvrlab.stylymr&isi=1477168256&ibi=com.psychicvrlab.stylymr

https://qr.quel.jp/form_bsc_msg.php

STEP 5:

https://drive.google.com/file/d/1hGpowVQjRLTKsoMqtMt6YpAaPvZFj7RT/view?usp=sharing


Posts navigation

Older posts
Newer posts

Recent Posts

  • BMP – Rearrange Colormap
  • Reset Allow USB Debugging? Notification
  • 8-bit Notes
  • AT29C256 90PI
  • Super-Toys Last All Summer Long

Archives

Proudly powered by WordPress | Theme: MiniZen by Martin Stehle.