December Adventure 2023

I'm trying out December Adventure, an unstructured prompt to do some exploratory coding each day in December. This year I'm aiming to improve my Unxtal skills by creating a rom that generates animations based on input from Orca. I'm calling it Sakana, which I believe is Japanese for "fish," as in little fish reacting to Orca swimming by.

  1. Wrote an Unxtal file that looks for STDIN and extends the length of a line, tested with Orca
  2. -
  3. Added a sprite instead of drawing a line, and added logic to draw either a white or purple sprite depending on if the incoming byte from Orca was the ACII hex for "A" or "B"
  4. Split logic so Console is used for reading incomming bytes and Frame is used for rendering the sprite. This version allows me to "draw" using Orca by sending up/down/left/right bytes to a sprite that paints every frame.
  5. Focused on sequencing animations from Orca. Created a little synth note sequence that loops and also sends corresponding up/down/left/right bytes at the same time. Sakana was updated to stamp sprites in a slightly offset way, so it's now a simple music visual that's sync'ed up.
  6. Took a side quest to do some unrelated soldering instead.
  7. In reading about various ways to draw visuals computationally, I'm realizing that "random" plays a big role, so I brought in a snippet of code to generate randomness in unxtal. Today I just made it output to console, next to figure out how to shape it into usable bytes.
  8. Couldn't get Porporo running here for some reason, but was able to use it's log.rom to see output. Spent a little time trying to understand how the random functions turn date/time into a random value, but realized that this might be a good time to take a step back and revisit tutorials so I get a handle on program code flow better. So I'll do that in the coming days.
  9. Today I started writing out my notes to better retain the bits and pieces I'm learning from the Compudanzas tutorials. Previously I got pretty far by jumping around and pasting together snippets, but now I want to really lock in the details so I can write more Unxtal from scratch.
  10. -
  11. Side quest testing voltage booster with media player card, it worked!
  12. Digging deeper into the distraction, I've setup a page for the media player card as a mini project.
  13. Prototyped media player card with inline charger

I stopped here due to upcoming travel

Takeaways

Being casual and low pressure is really great for spurring playful learning. The cohort of other adventurers are a network of muses, sharing daily inspiration. My own project idea (uxn music visualizer) was a bit challenging for my understanding/skill level, but also a helpful motivation to start grasping more of the concepts in Uxntal. I pivoted to wanting to writing out my own version of notes based on the Compudanza tutorials and other reference materials. Doing this is helping me lock in more of the ideas. So now, I’ve been dreaming up simple app ideas to try building in Uxn as I’m learning.

Uxn Program Ideas

If any of these ideas sound like fun to build, please feel free! I'm just making notes here, not planting flags.

Sakana
Description: Music visualization that is trigger-able by data pipe from Orca. This is what I started to build up and have the bones figured out. There’s a lot more to discover here, especially the fun part of actual pixel pushing.

To-be-named Text Reader
Description: A word-at-time display of text
Usage: Open short story txt file to speed read

To-be-named Text Snippets
Description: A list of buttons that can be assigned text strings. Clicking sends them to stdout.
Usage: Pipe patterns into Orca, pipe unxtal code snippets into Left