nnrg / opennero

Game platform for Artificial Intelligence research and education
http://opennero.github.io/
Other
200 stars 51 forks source link

NERO overhaul #163

Closed gjacobrobertson closed 8 years ago

gjacobrobertson commented 8 years ago

This is a big Pull Request which encompasses a large number of changes and significantly refactors many part of the codebase. The overarching goal of these changes is to enable experimenters to more easily design new experiments and AI algorithms, primarily in the NERO environment. I will be attempting to document the many proposed changes here in subsequent comments.

gjacobrobertson commented 8 years ago

Design Goals

Loose Coupling

Python module and class responsibilities should be clear, contained, and only depend on the interfaces between components, not their implementations

Flexible Experimentation

Module and experiment designers should be able to use existing algorithms in a flexible way

NERO Learning Improvements

Existing NERO agents should converge towards player defined goals reasonably quickly, and the user interface should provide meaningful insight into progress being made

Code Quality

Code should be readable and maintainable

gjacobrobertson commented 8 years ago

Changes

NERO Agent Lifecycle

NERO Team Lifecycle

NERO Environment

Serialization

RTNEAT Interface

Battle Training

gjacobrobertson commented 8 years ago

TODO