百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
E

EvolutionAquerium

> AI 编程
开源

:fish: :bug: 基于驾驶行为的小型智能生物

194 stars0 点赞1 次浏览
访问官网GitHub

工具介绍

:fish: :bug: 基于驾驶行为的小型智能生物

Evolution Aquerium

Check out Evolution Aquerium case study.

Try Out The demo

Check-out DevEnv Branch for Beta Optimization and Development which includes Refactored Code and EcoSystem.js Class to manage Creatures and Easy-to-use API for making new Agents.

How It Works?

Well that's an obvious question.

These Creatures are based on Craig Reynold's Steering Behaviors and Flocking System

It's also implements Genetic Algorithm and mutations.

You can learn more about them on Daniel Shiffman's YouTube Channel The Coding Train

  • Coding Challenge #69.1: Evolutionary Steering Behaviors

  • Coding Challenge #124: Flocking Simulation

  • 9. Genetic Algorithm playlist The Nature of Code

How My Code Works?

My code is actually pretty simple.

Agent Class

I made a Agent class which handles all the Basic behavior like

  • flock()
  • align()
  • separate()
  • cohesion()

And added some basic parameters like

this.radius = radius; //size of the agent

this.health = 1; // health 

this.healthDecrease = 0.003; // how much health will decrease over time

this.goodFoodDie = 0.5; // food increase the health by that amount 

this.badFoodDie = -0.4; // poison decrease the health by that amount

I also added a sex variable for the agents and all of them also has unique names

this.sex = (Math.random() < 0.5) ? 'male' : 'female';

Fear Behavior

And for the most important part, i added a defineFear() method which handles Fear behavior.

It's a robust function to define fear which can be also used inversly with negative values.

defineFear() function allows Agents to add Steering Forces simultaneously on each other

// list, weight, perception, ?callback
creature.defineFear(predators, -4, 50);

Reproduction System

Reproduction System checks for male and female agents and if their radius is greater than 8 and they are close enough to each other, then they can reproduce with their specific DNA and creates a small Agent based on their DNA data and with some mutation.

Predator class

Predators are simple but deadly they just has a sex property set to 'predator'

and i used defineFear() function inversely to attack the Creatures

And bigger they get slower they became.

Avoider Class

Avoiders are very very very fast but they are very agile too. they just has a sex property set to 'avoider'

and i used defineFear() function to avoid every poison and Predator.


Have Fun Watching Them All Day

Try To Contact Me

I AM A PROUD INDIAN.

  • [email protected] Made with :heart: and JavaScript

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

JavaScriptagent-based-simulationanuraghazraboidscanvas2d

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月18日
分类AI 编程
定价开源

> 相关工具

G
GitHub Copilot
GitHub 官方 AI 编程助手,覆盖补全、Chat 与 Agent 模式。
C
Cursor
AI 原生代码编辑器,对话改代码、多文件 Agent 与规则体系是其核心。
S
skills
Skills for Real Engineers. Straight from my .agents directory.