This is an old revision of the document!
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 Paddle
s can (eventually) respond to. Taking a page from
joaquin's Ant model, the Ball
would likely be the
(movable) center of the universe, and Paddle
s 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.