Sunday, December 21, 2014

Videos of dev worlds 1-17

The pucks "dev" worlds are used to test and demonstrate features of pucks, an environment for experiments and education in artificial intelligence and artificial life. See https://github.com/lspector/pucks for a more detailed description, technical documentation, and source code.



This first video shows dev.world1, which includes a variety of basic pucks in random positions: stones (which are inert), vents (which provide energy), zappers (which steal energy), a nursery that produces either linear agents (which move in straight lines) or shooters (which fire torpedoes), a nursery that produces linear agents with inventories (shown as black dots in their centers), a nursery that produces swarmers (which flock together), a nursery that produces swarmers with memories (shown as black dots in their eyes), and beacons (which can be sensed but are not solid and can be passed through).
 



The next video shows dev.world2, in which a single "linear" puck repeatedly bounces off of, and gets energy from, a vent.
 



The next video shows dev.world3, which demonstrates "zigzag" and "startstop" pucks.
 



The next video shows dev.world4, which demonstrates how to create walls out of stones and how to change the screen-size setting.
 



The next video shows dev.world5, which demonstrates the ways in which inventory and memory are displayed (with dots in puck centers and puck eyes, respectively).
 



The next video shows dev.world6, which includes walls of stones, vents, beacons, a zapper, and nurseries in preset locations. The nurseries spawn linear, swarmer, startstop and zigzag pucks.
 



The next video shows dev.world7, in which an "opener" puck gets a key from a chest and uses it to open a gate and get energy from a vent.
 



The next video shows dev.world8, in which a pair of pucks trade an inventory item for information.
 



The next video shows dev.world9, in which location-labeled beacons could conceivably be used for navigation to a hidden vent, but the pucks emerging from the nursery are just blind and reckless shooters.
 



The next next video shows dev.world10, which demonstrates "darter" pucks. Darters use memory to cycle among four tasks: orienting, stopping, re-orienting, and darting. They are demonstrated in the same environment used in dev.world9 (https://www.youtube.com/watch?v=iOo8jx8jVUI), in which location-labeled beacons could conceivably be used for navigation to a hidden vent. But here too the pucks emerging from the nursery (darters, in this case) are blind and will reach the vent only rarely and by chance.
 



The next video shows dev.world11, in which a "donor" puck gives away a key.
 



The next video shows dev.world12, which demonstrates how to change the screen-size and scale settings. The layout is the same as in dev.world6 (https://www.youtube.com/watch?v=AnJYT_P624k), but there is a lot of new empty space and everything is shown at half scale.
 



The next video shows dev.world13, which demonstrates a larger and more complex semi-random layout than the previous dev worlds. This world includes location-labeled beacons that could conceivably be used for navigation, but none of the various active pucks make use of them.
 



The next video shows dev.world14, which demonstrates "spawners" that produce copies of themselves. It also demonstrates the nursery-threshold setting: when the world contains 10 or more active agents the nursery closes and produces no new pucks.
 



The next video shows dev.world15, which demonstrates "swarmevolver" pucks. Swarmevolvers have genomes that specify a variety of puck properties, including propensities for certain kinds of behaviors. The genomes of the children that they spawn are subject to mutation.

At the beginning of the simulation the nursery generates swarmevolvers with random genomes, but a self-sustaining population that exceeds the nursery threshold of 5 pucks emerges by 30 seconds into the video. From that point onward, one can observe the effects of natural selection.
 



The next video shows dev.world16, in which a mapdonor gives a map to another puck, which then uses the map in conjunction with location-labeled beacons in order to navigate to the vent.
 



The next video shows dev.world17, which demonstrates the manipulation of puck thrust-angle.
 



The next video shows dev.world18, which was designed (with help from Eddie Pantridge) for use in pucks system speed tests.
 


No comments:

Post a Comment