-
Notifications
You must be signed in to change notification settings - Fork 1
Implementation Details
The architecture will be open and modular. Contributors will be able to take control remotely and in real-time of the mind of one or more bots by using the web api.
There will be a very crude web visualisation of a world and the bots so anyone can have an overview of the activity. More advanced and fancy visualisations can be contributed later by using the web api.
Main components:
- World Engine: execute all actions from the bots, update the world and keep it coherent
- Non-living object logic (extensible): e.g. tree, a chair, and how they interract with bots and other objects
- Living objects: i.e. bots
- Web API for the bots to communicate with the world and its objects
- Bot Mind: a piece of code that remotely controls a bot via the Web API
- Visualisation (e.g. a 2D map of the world in a web page), via Web API
Having the Bot Mind implemented on the client side makes the system open to external contributors. It is also a strategy to prevent the AI implementation from knowing and using internal state of the world. The API will only expose what a bot can observe from it's position in the world.
The World Engine uses a database to store, retrieve and update the World and thing states. There will be different backends: mongodb, pymemdb (in-memory collection of python objects), apidb (a proxy used by python clients to interact with the world, will be used by the remote bot minds).
- support for individual memorisation of events
- possibility to transport and trade items
- bots can alter the world
- bots can create new things
- bots can communicate (using emergent language expressed in ascii strings)
- improve the rendering of the world with nicer 3D models
- bots have physical and inherited attributes such as maximum height, max strength or facial traits (for aesthetic purpose and help with relatedness, uniqueness, identification of bots)
- ...
- human genome and brain doesn't contain memories; but the bot genome could potentially be a complete snapshot of a mind; should it be avoided, if so how, if not what are the implications?
- can bot evolution really emerge from the genetic transmission and survival?
- how does the bot mind update itself during its life if there are no predefined feedback or reward system from the world? Everything is neutral; can the bots build their reward system from it?
- could we create a self-modifying mind? if so, how much can be changed and how can it be changed?
- ...
Copyright © 2017 Artilligence