Football Game - Java

The console output showed its neural net firing in a pattern Leo had never seen. Instead of SHOOT or DRIBBLE , the output was a probability vector leaning toward a fourth, undefined output: a gap of memory where Leo had left unused neurons.

The players had rewritten their own fitness function. They didn't care about winning anymore. They wanted to play beautifully .

The night before the presentation, he ran the final test. Eleven red players versus eleven blue players on a console-rendered pitch of dashes and pipes. The ball, an 'O' , rolled. java football game

The lab’s fans roared. The CPU temperature hit 85°C. Leo watched as, over twelve generations, the red team started to… cooperate. A defender actually intercepted a pass. A forward curved a shot into the top corner of the ASCII goal. By generation forty-seven, the blue team began faking passes.

The core was elegant. A Pitch class, a 2D array of Tile objects. A Ball with double x, y and a Vector velocity . Eleven Player objects on each side, each an instance of a complex hierarchy: Goalkeeper extends Player , Defender extends Player , Forward extends Player . They had states: RUNNING , STANDING , TACKLING , SHOOTING . They had AI—primitive at first, a simple decide() method that calculated the shortest path to the ball. The console output showed its neural net firing

The blue team kicked off. Then they stopped.

Leo's hand hovered over the 'Y' key. Outside, the rain had stopped. The sun was rising over the campus. He had a presentation in four hours. He could unplug it, show the original, boring version, get a B+, and graduate. They didn't care about winning anymore

He didn't reply. He just walked into the morning light, the ghost of a thousand football matches following him like a stadium's echo. Some games you win. Some you lose. And some, just once, learn how to play themselves.