Name shamelessly derived from this monstrosity.
This idea is described in a series of successive approximations of the final goal.
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.
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.
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.
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.
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.
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).
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 Ray
s 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.