“Pulling your shoulders back is easy. Learning to be kind to yourself takes considerably more effort… Accept that you’re human, recognize your failures and frustrations, and avoid dwelling on mistakes.”

There I was, walking up to the starting line scrambling to take a picture before my time starts. I snap a shot of the start and then quickly stuff my phone back into the back pocket of my runner’s belt. Okay, I’ll be honest. It’s a fanny pack. So what. Fanny packs are cool now. They are coming back in fashion–trust me.

Once I crossed the starting line I knew I could not stop for another 26.2 miles of the Los Angeles Marathon. Reaching the finish line in just under 4 hours. That was my goal…well goals change, ideas pivot and new goals are established, almost always.

I cruised through the first 10 miles at a respectable pace. I was feeling great, I had pushed through Downtown, Chinatown, Echopark and now reaching Hollywood and into West Hollywood where I had crushed segments and captured KOMs on Strava the year before. Surely I’ll get through this with no problems. I spoke too soon, at mile 13, roughly around Beverly Hills I got my first signs of cramping. Holy shit that hurt so bad but I pushed through. Snagged some bananas, pretzels and Goos without stopping. Drank more water and Gatorade. It helped get over my first minor wall.

Mile 19 I came to a complete stop. Somewhere around Century City my left leg seized up terribly and I had to pull over and sit down for a minute, stretch my hams. At this point I started to wonder what I was doing and why?

The next 7 miles I was oscillating between short bursts of energy and wanting to quit. But I kept at it. When I reached the 405 I stopped to stretch my legs against the underpass and soak in the shade it provided for another minute. I also knew my friends Paul and Leah would be waiting for me in another mile at Barrington and San Vicente. So that got me going again.

When I reached my friends I knew I could make it. Feeling refreshed from familiar faces I was able to summon enough energy to push through San Vicente to Ocean blvd. But just before making the final turn onto Ocean I got the worst cramp. I couldn’t move. I cried in pain and I started to tear up. I heard someone say “You’re almost there! Don’t give up!” and I lost it. Tears flowed down my face. I don’t know if it was the pain, the thought of finally completing a marathon or just my brain shutting down into a delusion state, that broke me so completely that I had no choice but to continue on.

At this moment when I made the final turn, seeing the finish line, I gathered all my strength and sprinted towards the end. The last quarter mile showed my fastest time since mile 10. I can’t explain it.

Crossing the finish line was an amazing experience. I will never forget it.

Special thanks to my brother who met me at the finish line and drove me home.

Here’s a Tower Defense game I’m currently building. I’m thinking of sticking with the primitive geometry look and art style. Each new Tower will consist of slightly different 3D geometry with unique abilities and defenses.

I have the basic menus set up and a few levels to play through. Check it out!

Click on the tower buttons to select either the Cube of Sphere towers to place on any grey grid squares. They will automatically start attacking the brown cube ‘monsters’ and drop coins. Pick up the coins to buy more towers to place.

Mighty Heroes is my latest project combining physical toys with virtual 3D worlds. It’s based on a ragtag team of heroes trying to save each universe their portal takes them too, save a new hero and have them join the gang.

How it Works

Short video below:

Using an Arduino Uno, an RFID chip & antenna, plus RFID fobs, I created a character swapping system similar to Disney Infinity’s NFC based toy system. I picked up the Arduino and breadboard at my local Radioshack and after I couldn’t find any RFID chipset and antenna locally, I ordered a set from seeedstudio.com which took over a month to arrive because they are based in China and there stuff spends a week in customs.

I hooked up one wire from the RFID to the Arduino’s 5v power supply plus another wire to ground. The RFID transmission occurs digitally over pin 5. I also added an LED light that I connected directly to the Arduino that flashes whenever a character signal is detected. I found a clear box that would fit all the elements together at The Container Store, cut out a small hole for the USB, then made a makeshift cardboard breadboard holder (I can’t wait for my New Matter 3D printer to arrive as I will print a better fitting Arduino holder!), not the fanciest but it holds everything together and it’s cool to see the parts and the led turn on inside the swapbox.

Arduino with RFID chip and antenna taped to the top and blue LED connected directly to the uno.

I then launched Unity and wrote a C# script with system.IO libraries oddly enough I had to change frameworks to .net 2.0 (this framework contains the serial port libraries and references that communicate with com and serial ports. I’m not sure why Unity’s .net 2.0 subset doesn’t include it automatically, but either way I changed it in the player settings and was able to pass in inputs to Unity).

The Mighty Heroes gang with the Arduino/RFID swap box in the background.

The Hero toys I put together in Photoshop using a paper doll template I found online at macula.tv, cut them up and glued them together. This was the fun arts and crafts part! More characters to come shortly.

I purchased some regular rfid fobs on Amazon for a few bucks and taped them to the bottom of their base. I experimented with melting the blue plastic off by submerging them in acetone, though the chip inside came out fine, the whole process was really messy. So taping them to the bottom of the figure works, it looks a little janky but is perfectly functional.

I was able to read the fob’s pre-installed unique ID number by writing a small Arduino sketch that displays the RFID’s unique ID number. I then store this number inside a new sketch that controls the fob comparison that will either find a match and send that unique ID number to Unity to load the corresponding character, or will return 0 for a no match.

Arduino sketch that compares fob id numbers and sends a message to Unity if a match is found.

The Basic Gameplay and Levels

The player starts off with Julia the archer. She then must travel to each world through the portals at the end of each transept. The first transept on the left of the main hall is ZombieTown. As the player progresses new characters are found and introduced into the player’s swappable character list. This assortment of Heroes allows the player to play each level multiple times with different characters that each in their own way provide a unique way to player the level.

The Main Temple

The first area is the character temple where the player can swap in different characters and visit each world with whichever character they choose.

ZombieTown

In ZombieTown the player has to rescue the sheriff trapped in a room on the other side of the map, a map filled with zombies. Once the player rescues the sheriff, the player can now play as the sheriff and enter the Prison to help Will the Wizard escape so that they can secure crystals all over Wizard Hill.

The Prison

The Prison is a large level with many enemies and the player sneak by convicts undetected, find Wade the Wizard then escape again undetected, scale the walls back to a portal to the Temple.

Wizard Hill

Once the wizard has been saved from the prison, the player can now swap in the wizard and enter Wizard Hill. In this level the player has to fight several wizards, find the crystals that will help him return to the temple and destroy the evil Wynton the Wizard.

Final Notes

This is still an ongoing project and the next thing to do is add better/faster animations, a smarter AI for the enemies, currently they just chase the player and apply damage only on collision. Then add a weapon system that can interchangeable between the different characters.