construct
construct copied to clipboard
Comments and project documentation
Переписать комменты на jsdoc. Нужно разобраться где это может использоваться. Может нам нужна обычная документация? документация должна быть на подобии вики со ссылками на свои другие разделы. Концепции, которые нужно описать в документации:
- что делает construct? (общее описание программы, что в ней происходит, жизненный цикл популяции и организма)
- распределенная система
- инсталляция и запуск (настройка клиентов и сервера)
- основные понятия:
- организм (из чего состоит, аналог организма в природе, что значит цвет, смерть, клонирование (когда оно возможно), продолжительность жизни, память и ее размер, итерации и наступление событий)
- борьба за существование и ресурсы (борьба за ресурсы, когда их мало и тем самым те, кому они не достались умирают; охота на другие организмы, чтобы освободить свободное место в очереди организмов
Organisms.organismsи дать потомство) - код организма (язык DOS, расширение языка, мутагенез кода, вероятности мутаций, рандомные вставки кода
Config.orgRandomOrgPeriod, VM, веса операций, количество переменных, максимальное кол-во кода) - кроссовер
- турниры
- фитнесс
- энергия (как организм тратит энергию в зависимости от того, сколько ее в нем и от размера его кода, что означает цвет энергии, умная энергия, периоды умной энергии, простая энергия)
- популяция (в одном мире, макс. размер, автоматическое создание популяции)
- мир (точки и их типы, размеры, 2D, навигация по миру (зум, скролл, fullscreen кнопка), в одной точке что-то одно, отключение визуализации (ускорение), )
- соседние миры (клиенты, сервер, переходы из одного мира в другой, наказание за переход, лимит при переходе)
- консоль (основные команды, данные консоли, расшифровка сокращений: age, kil, org, con,...)
- полный список всех команд в консоли
- графики (команды, описание каждого)
- технические детали (однопоточная модель JS и эмуляция многопоточности, конфигурация и ее разделение по плагинам (
Helper.override()), главный бесконечный цикл, на чем написан и какие библиотеки использует, архитектура и плагины, тесты)