Blue Sky Project Ideas

Radiation-hardened 2D Pong

Name shamelessly derived from this monstrosity.

This idea is described in a series of successive approximations of the final goal.

First Approximation - A Bouncing Ball

The first approximation of this idea is simple, zero-player (zero-AI) Pong, with a single Ball atom, and immovable Paddle atoms along all edges of the MFM universe. The Ball would move in a consistent direction (if not at a constant rate) and rebound off the Paddle atoms.

Second Approximation - Message-passing Board Substrate

The next step would be a large one, implementing a message-passing substrate Board type that could broadcast information about the state of the Ball that Paddles can (eventually) respond to. Taking a page from joaquin's Ant model, the Ball would likely be the (movable) center of the universe, and Paddles would receive relative offsets and maybe a movement vector.

Third Approximation - Robust, Multi-cellular Ball

With robustness being a primary goal of the MFM architecture and the accompanying philosophy, simply creating a Pong-like “game” does not make for a very interesting project. This phase would add robustness to the Ball, hopefully taking on some multi-cellular form. Ideally it would retain some ball-like shape, and be tolerant to bit-flips and partial population-loss. The board may play an integral role in achieving this, being a source of data redundancy.

Final Approximation - Autonomous Paddles

At this stage, the Paddle walls will be reduced in size to make the model looks something like real Pong. Ideally, they will also be fault-tolerant (self-replicating, in some way) but also resource-bounded (Res?) to discourage overgrowth into impermeable walls.

Stretch Goal: Human Input

I have no idea how feasible it would be to bind keyboard events into the MFM. If this would involve significant C++ hackery, I suspect it's beyond my abilities. I need to do research here.

Bignum Arithmetic

After Sridivya's comments about the viability of the MFM for correctness-sensitive applications (e.g. a calculator), I thought it might be interesting to try to construct a system for arbitrary precision arithmetic with extremely high probability of correctness, roughly on par with the expectation of correctness in traditional computing paradigms.

This idea feels at odds with the robust-first philosphy, but it seems like it would be worthwhile to show that robustness and correctness aren't mutually exclusive (or, in the event of failure, make no strong claims).

Wall-less Garden

The “Wall-less”-ness here refers to the fact that the MFM is indefinitely scalable in theory. This idea was born during the makeshift class exercise on Monday, Sept 18, where we tried to create a Leaf Element that would grow in response to Rays projected by a Sun.

This idea could be expanded to produce several different plant types (perhaps encoding some notion of inter-species germination) that depend on a finite set of resources (energy from the sun, water, nutrients from the soil). It could be fun to try to grow a garden, of sorts. There's lots of room for growth here, in the form of variety of plants each potentially composed of smaller elements, and in the environment necessary to encourage “organic” behavior.

Something that would need to be answered soon is: “Is this a side-on or top-down view?” I'm tempted to have something top-down, since that permits growth of tall, sun-hogging plants, and shorter plants that thrive without the sun's energy.

This project idea seems to fall more in the “Art” side of things, serving no practical purpose that I can think of other than to watch something pretty (or not) emerge.