AI playing Road Fighter (NES) using NEAT - fitness 128

AI playing Road Fighter (NES) using NEAT - fitness 128

Channel:
Subscribers:
24
Published on ● Video Link: https://www.youtube.com/watch?v=Wc9v3KuOZuo



Game:
Duration: 1:00
162 views
4


So this is my stream of my PC running a Bizhawk emulator with Road Fighter (NES) and some AI logic which is still in development. It is very crude right now: not only does it not recognize everything (e.g. oil slicks), the resolution is also bad and the network/map still needs a lot of tweaking e.g. to better detect the side of the road or reduce the number of input nodes. But while I work out the details I thought it would be interesting to have it run and see how good (or bad) this goes.

The AI is written in Lua and is basically a modified version of MarI/O: https://github.com/pakoito/MarI-O

All credits go to SethBling ( http://sethbling.com/ & https://www.youtube.com/channel/UC8aG3LDTDwNR1UQhSn9uVrw ). While I have a very very basic understanding of neural networks and the associated algorithms, I know shit all about implementing them. This gave me a chance to headstart into doing things without having to worry (yet) about some of the details.

The AI is basically an implementation of the NEAT or "NeuroEvolution of Augmenting Topologies" method, described in this paper: http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf
It is basically a neural network which employs a self-evolving topology (the way neurons are connected) instead of a more traditional fixed topology. It uses a genetic alghorithm where not only the weights within the network, but the topology itself is part of the species. Some random specifics:

- Fitness is (lazily) calculated based on the Y position of the sprite on the left showing progress through the level
- Input is based on the grid you see overlayed. Values are based on the X/Y positions of "enemies" (value -1, black) or the side of the road (value 1, white), as read from memory
- Timeout is based on actually not progressing. Failure is based on fuel = 0. Actually finishing a level hasn't been implemented yet
- Software is Bizhawk, and its awesome. It lets you read and analyze RAM, vital to get the neccesary variables for calculating the input map




Other Videos By LiquidjeNL


2019-05-28Car automation game - second build
2019-05-21Car automation game - First build
2019-01-25AI playing Hudson's Adventure Island (NES) using NEAT - try 2
2019-01-24AI playing Hudson's Adventure Island (NES) using NEAT - try 2 - fitness 875 (max 920)
2019-01-22AI playing Hudson's Adventure Island (NES) using NEAT - try 2 - max fitness 667
2019-01-21AI playing Hudson's Adventure Island (NES) using NEAT - try 1 - max fitness 7938 normal speed
2019-01-20AI playing Hudson's Adventure Island (NES) using NEAT - try 1 - max fitness 7937
2019-01-20AI playing Hudson's Adventure Island (NES) using NEAT - try 1 - max fitness 7408
2019-01-20AI playing Hudson's Adventure Island (NES) using NEAT - try 1 - max fitness 7180
2018-06-29AI playing Road Fighter (NES) using NEAT - fitness 132
2018-06-29AI playing Road Fighter (NES) using NEAT - fitness 128
2018-05-30Tetris 3D / Block Out clone in UE4 prototype
2015-02-13LiquidBunny plays Payday 2: #4 Night club - Efficiëntie
2015-02-13LiquidBunny plays Payday 2: #2 Go bank - Chaos
2015-02-13LiquidBunny plays Payday 2: #3 Shadow raid - De 'perfecte' gear
2015-02-12LiquidBunny plays Payday 2: #1 Diamond store - De fijne kneepjes
2015-01-22Infinifactory - How conflicting conveyor belt directions are resolved
2015-01-21Infinifactory - solution - Resource Site 526.81, Small Excavator
2015-01-21Infinifactory - solution - Resource Site 526.81, Optical Sensor Array Type 4
2014-12-26Elite Dangerous: no framedrops when dropping out of supercruise
2014-12-03LiquidBunny - Let's Play Arma III - Chaos en Teamkills



Other Statistics

Road Fighter Statistics For LiquidjeNL

At this time, LiquidjeNL has 305 views for Road Fighter spread across 2 videos. His channel published less than an hour of Road Fighter content, less than 0.49% of the total video content that LiquidjeNL has uploaded to YouTube.