Existential Crisis – Role-Playing Game Simulator

I awake in the labyrinth, no memory of who I am. All I know is that I must find the key to the portal that will take me to the next part of this endless maze. Stalking its passages, I find a rusty sword and take it in hand. Further along, I find an old chest of armor. Now my enemies will never defeat me! I stalk endless corridors, searching for the key. As I turn a corner, I see one of my enemies coming towards me, axe in hand. We clash, weapons slashing! My enemy flees, but I let him go – I must continue my quest to find the key. No matter how long it takes me.

Peek through the portal into the world of Existential Crisis. In this unique and hand-crafted electronic dungeon crawl simulator, watch the valiant hero compete against his enemies to find weapons and other items to aid him in his ultimate quest: to find the key and open the portal before they do! Watch as he uses magic potions to heal himself or blast his foes. Sigh when he makes a wrong turn and misses the key. Groan when he is vanquished by his foes. And cheer when he unlocks the portal and completes his quest – only to find it start all over again!

Existential Crisis isn’t like other games, because I designed it so you can’t control the hero. We can peer through the window into his universe, but we can’t help as he struggles to find a way to survive long enough to complete his quest.

 

Simulation of role-playing adventure or Multi-User Dungeons (MUDs), similar to NetHack, using basic rules of Dungeons & Dragons with a feel similar to Gauntlet or Diablo.

The pictures and video do not fully capture the brilliant color when seeing it for yourself.

 

The project makes a visually interesting simulation of a character wandering through a maze, looking for a key and trying to find the door to exit, only to be stuck repeating this for all eternity. Other enemy players try to kill the main character, can pick-up and use items including the key to open the door, resetting the maze. When any character dies, within a matter of time, regenerated with randomly selected base stats; forever stuck looking for potions to stay alive a little longer only to find another key and another door.
IMG_20190605_094809140
Existential Crisis

 

This simulation covers the basic motivation of fighting to stay alive in an effort to find the key hidden in the current map and then locate the door to exit.
Each player has hit-points, armor class, experience points, and can hold up to three items. Each map contains a key, and a randomly selected number of rewards, or items to help the player. Items available are: a potion of healing, a better weapon, better armor, or a magic scroll.
A 64 RGB LEDs in an 8×8 display is used as the ‘viewer’ into the World of the simulation, displaying only a quadrant section of the overall map at one time. As the primary player moves around the map, the ‘viewer’ display moves to the relevant section.

Color Code:

  • RED – Opponent Player Characters ( Enemies )
  • GREEN – Main Player Character ( Game Focus )
  • BLUE – Wall
  • WHITE – Door
  • YELLOW – Key

 

 

 

 

 

 

 

 

 

 

Mini-Animations:

  • Find a key
  • Find / Use armor
  • Find / Use weapon
  • Use a potion
  • Use magic
  • Open door using key
  • Player death
IMG_20190605_095429098
RGB LED Matrix
I have also included numbers 1 – 20 for showing the result of a simulated die roll. However, showing the number each time the player rolls is annoying so this animation has been disabled.
How the Simulation Works
On each turn, a player object executes the function WhatAreMyOptions
  • Move ( Direction Available: North, East, South, West ) A proximity-check to opponents is made to determine options. Short-term Memory of locations explored. Coordinates of recent moves are stored in the player object in an effort to reduce looping.
  • Attack: Each player rolls a 20-sided die trying to meet or exceed the Armor Class value of the opponent. Upon a successful hit, the player then rolls a 4-sided die for damage and applies any bonuses. The total damage is subtracted from the opponent’s hit points.
  • Check Inventory and Use Item.

 

Potential for Expansion using I2C

  • Add additional microcontroller or Raspberry Pi for Neural Network.
  • Add better controls, such as push-buttons, and even sensors.
  • Add a sound-effects module
  • Additional visual displays.

More About Electronics:

More About hydroMazing:

More About Indoor Gardening:

Hot Stuff

Hot Stuff

glue guns
Glue guns

Rather than use a cyanoacrylate or superglue, I use hot glue to keep the connections in place.  I used to have a negative perception of using hot glue because it seemed amateur and trashy. After having dismantled many Furbies and Talking Elmos, I see it frequently makes it in the final product.  I’ve since reconsidered, and now, I like hot glue because it is convenient and can be removed later if there is a need to check a connection or replace a part.

Furby and Friends.jpg
Inside Furby and Elmo

 

IMG_20180801_163126539
Elmer’s Glue-All (All-Purpose) and School Glue

Diffusing and attaching the lights to a project:  Hot glue is the default, commonly and conveniently comes in both clear and milky white!  I also use Elmer’s All Purpose Glue because it comes in white and dries mostly clear, seals surfaces, allows most paints, glitters, powders, and such to be added for effect.

Making

torches
RGB Torches

 

IMG_20180811_203712682
DIY Fountain

 

 

Arduino FastLED Library

RGB Strip

The FastLED library is an impressive piece of work:

https://github.com/FastLED/FastLED/wiki/Basic-usage

After you download and install the library give it a try:

Using an Arduino Uno to calibrate an RGB LED strip.

The purpose of running this example is to determine what settings are needed to use the FastLED library.  For this example I’m using an Arduino Uno. The Uno has a ground pin next to pin 13, so for convenience, I’m using pin 13 as a low-current Vcc for the RGB LED lights strip:

pinMode(13, OUTPUT);
digitalWrite(13, HIGH);

// The data pin is the pin we are using to connect to the Arduino.
// Data pin that led data will be written out over
#define DATA_PIN 12

// How many individual LED modules are on the strip?
#define NUM_LEDS 10

// When using an SPI based chipset, the there should be four wires
// Clock pin only needed for SPI based chipsets when not using hardware SPI
//#define CLOCK_PIN 8

Important configuration setting is to specify the model of LED strips being used.  May require some try-and-error.

      // Uncomment one of the following lines for your leds arrangement.

     // FastLED.addLeds<WS2811, DATA_PIN, RGB>(leds, NUM_LEDS);
      FastLED.addLeds<WS2812, DATA_PIN, RGB>(leds, NUM_LEDS);
      // FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
      // FastLED.setBrightness(CRGB(255,255,255));
      // FastLED.addLeds<GW6205, DATA_PIN, RGB>(leds, NUM_LEDS);

A nice variety of color effects is included with the library.  After trying out the RGBCalibration source code example, make the changes need to Demo Reel and give it a go:  https://github.com/FastLED/FastLED/blob/master/examples/DemoReel100/DemoReel100.ino

Copy the settings for the LED strip to the DemoReel example

Upload and if all goes well, you should see a basic visual effects show.

Lightshow

More

Please share with friends and follow to receive a notification when I publish a new article.

 

IMG_20190605_094809140
Existential Crisis

Solar-Rechargeable Decorations

Phoenix Fire Lily:  Solar rechargeable battery connected to a flickering LED inside an artificial lily flower residing in a hand-crafted wooden vase.

IMG_20180731_145416444IMG_20180825_170808853lily

I don’t know about you, but I rarely have money to spend on projects and whenever possible reusing and re-purposing junk is ideal.  Many of my projects contain parts I’ve purchased at local dollar stores and items found through eBay.

IMG_20180808_174135637
Discount hackables!!

 

Parts:

  • Artificial Lily Flower
  • Flickering LED
  • Thermostat Wire
  • 100-330ohm Resistor
  • Mini switch
  • Solar-panel ~ 5vDC
  • Rechargeable Li-ion Coin-cell Battery
  • Rechargeable Li-ion Coin-cell Battery charger = TP4056 Mini USB 1A Lithium Battery Charger Module
  • USB to mini USB ~ 5ft. cord
  • Optional ~ hand-crafted vase station

Steps:

IMG_20180826_135523525

  • Cut the end of the stem and remove the wire.

IMG_20180826_135554418

  • Gut the Artificial Lily Flower by removing its pistil.

IMG_20180826_135814012IMG_20180826_134320215

  • Using a 8-10″ length of Thermostat Wire that extends just beyond the end of the lily’s stem, solder a 100-330ohm resistor to flickering LED and/or later near the mini switch inside the recycled case.

Do I really need a resistor?

  • Clear LED without resistor = 30mA @ 3vDC
  • Flickering Yellow LED ~ 6mA @ 3vDC
  • salvaged 10 LED string of lights = 6mA @ 3vDC

 

  • Carefully thread the wired LED through the lily and down her stem.

IMG_20180826_135619996

  • Add a piece of heat-shrink tubing, solder jumper wires, and attach connector header.

IMG_20180826_134646442

  • Solder a set of short jumper wires to the Rechargeable Li-ion Coin-cell Battery charger output.
  • Solder the Rechargeable Li-ion Coin-cell Battery charger output short jumper wires, resistor, to the mini switch and recycled case ( two “AA” batteries ).

IMG_20180826_134721596

IMG_20180826_134731388

  • Solder the coin-cell battery holder to the Rechargeable Li-ion Coin-cell Battery charger
  • Insert the Rechargeable Li-ion Coin-cell Battery into the Rechargeable Li-ion Coin-cell Battery charger.

IMG_20180826_134228643

A look inside the inexpensive battery case.

IMG_20180826_134310725

  • Gut everything from the case!

IMG_20180826_134428371

  • Drill a few holes.  One for the solar panel wires, and the other for USB connector.

IMG_20180826_134806554

  • Solder a simple switching diode, such as 1N4148, to the positive side.
  • Using short jumper wires, solder the Rechargeable Li-ion Coin-cell Battery charger input to the solar panel ~ 5vDC.

IMG_20180826_140031232

  • Insert the switch and wrap wires so they lay flat inside the case.

IMG_20180826_140138221

  • Test the output.
  • Optionally, attach USB to mini USB cord to the charger
  • Store inside a hand-crafted vase station.

IMG_20180731_145416444IMG_20180825_170808853lily

 

You can purchase a completed Phoenix Fire Lily directly from me as a functioning example.

lily base partslily base v2

 

More: