Genetic Cars 2 (Globally Distributed)
JavaScript
Switch branches/tags
Nothing to show
Permalink
Failed to load latest commit information.
flat
README.md
box2d.js
buttons.css
cawro.js
ghost.js
index.html
seedrandom.js
sha1.js

README.md

Genetic Cars 2: About

Multiplayer Genetic Cars PubNub

This game is connected to the world, all players are sharing their best cars each game round.

Only the dominant cars win.

The TOP car from each player in the world is added to your car list each game cycle.

This car is therefore added to your gene pool and is then genetically spliced and paired with your other cars.

Top cars are transmitted around the world from other players who are online RIGHT NOW using WebSockets style technology for data streaming ( PubNub ).

PubNub Real-time Network

Do you like this freebie? Want to get more stuff like this?

Subscribe to @PubNub news and updates to stay tuned on great designs.

Genetic Cars 2: Options/Controls

Join World: The same seed always creates the same track, so you can agree on a seed with your friends and compete. :)

Mutation Rate: The chance that each gene in each individual will mutate to a random value when a new generation is born.

Genetic Cars 2: HTML5 Canvas Graphs

Red: Top score in each generation.
Green: Average of the top 10 cars in each generation.
Blue: Average of the entire generation.

Genetic Cars 2: But what about JavaScript?

This program uses a simple genetic algorithm to evolve random two-wheeled shapes into cars over generations. Loosely based on BoxCar2D, but written from scratch, only using the same physics engine (box2d).
seedrandom.js written by David Bau. (thanks!)

Genetic Cars 2: Distributed Genome Connectivity

The genome consists of:
- Shape: (8 genes, 1 per vertex)
- Wheel size: (2 genes, 1 per wheel)
- Wheel position: (2 genes, 1 per wheel)
- Wheel density: (2 genes, 1 per wheel) darker wheels mean denser wheels

Genetic Cars 2: JavaScript Random Genetic Generation

This is not as deterministic as it should be, so your best car may not perform as well as it once did. The terrain gets more complex with distance.
I'm not in the mood to deal with checking if all scripts have loaded before running, so refresh the page if things seem whack.