david4shure / maeden

simulated environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MÆDEN

Synopsis

Mæden is a simulated grid-world environment designed to support multi-agent problem-solving. Agent controllers may be written in any language that supports basic sockets.

Details and documentation may be found here.

To Do

  1. catch error in server from faulty command input from controller and kill controller
  2. when simulation ends (in the case where eating the food is the ultimate goal), send disconnect signals to any other agents currently connected
  3. for sending visual info from the server to agent-controllers, use something such as XML or other that is more readily parsed by all languages
  4. resolve conflict when two agents want to move into the same square
  5. track down problem with stochastic failure giving incorrect status; problem starts in processAgentActions() where STOCHASTICISM/STOCHASTIC_RATE is sometimes exercised
  6. upgrade documentation in Java sources to support javadoc
  7. add shield object or armor or chain mail, etc.
  8. eliminate base/helper distinction
  9. create wrapper server that will fork a simulation in specified world (do we really want this?)
  10. modify assignment of agent IDs to re-use IDs that have been released
  11. replace iterator with for-each loops
  12. add command-line argument to control EAT_FOOD_ENDS_IT
  13. fix the foundBase and killGrid interaction that is happening in Grid.java
  14. create an abstract agent-controller class that KeyboardController extends and that other classes could extend as well
  15. refactor into simulator proper and agent controller folders
  16. put everything into a Java package; the challenge, however, is for controllers and the simulator proper to live and play nicely together with a minimum of hassle
  17. create map to store action costs, indexed by action character as key and associating energy cost as value
  18. in server's processAgentActions() loop, if no action sent by an agent, let nextCommand be "wait" (or whatever)
  19. adjust simulation time units to correspond to 'wait cost' and then deduct wait-cost every time-slice when agents do not act
  20. remove restriction of single-digit agent IDs (i.e., limit of 10 agents)
  21. make To Do list numbered instead of bullets

About

simulated environment


Languages

Language:Java 99.0%Language:Roff 0.7%Language:Shell 0.3%