Hello! I studied Computer Science, and live in Bath. I write code, design games, and occasionally tweet.
Hello! I studied Computer Science, and live in Bath. I write code, design games, and occasionally tweet.

Posts about Java Other Categories

Roulette, An Intelligent Negotiating Agent Jan. 9, 2018 in Algorithms, Java, Text, University

When making decisions, people negotiate to maximise utility and social welfare - agents are no different. Utilizing the GENIUS framework, this report tests time dependent concessions, and fitness proportionate selection putting them to test in a negotiation competition. The results are analysed and discussed.

  • CSS Concept: Computing methodologies → Intelligent Agents
  • Keywords: Agents, Negotiation, Competition, Selection, Roulette

Continue Reading...

Gopher Client Aug. 16, 2016 in Java, University

Gopher Client

I’ve made a rudimentary gopher client using Java and JavaFX. Download from GitHub.

NES Emulator Jun. 14, 2016 in Games, Java, Simulations


My (mostly failed) attempt at creating a NES Emulator from scratch.

Solving Block World Search Nov. 26, 2015 in Algorithms, Java, Text, University

Block world is a simple 2D sliding puzzle game taking place on a finite rectangular grid. You manipulate the world by swapping an agent (In this case the character: ☺) with an adjacent tile. There are up to 4 possible moves that can be taken from any tile. As you can imagine, with plain tree search the problem quickly scales to impossibility for each of the blind searches.

It is very similar to the 8/15 puzzles, just with fewer pieces, meaning it’s simpler for the algorithms to solve. It’s unlikely any of my blind searches could solve a well shuffled tile puzzle with unique pieces, but I suspect my A* algorithm could. However, before doing so I would want to spend time improving my Manhattan distance heuristic, so it gave more accurate results over a larger range.

I decided to use Java to solve this problem, as I’m familiar with it and it has a rich standard library containing Queue, Stack, and PriorityQueue. These collections are vital to implementing the 4 search methods. You can implement the different searches differently, but the data structures I listed just deal with everything for you.

Continue Reading...

I Really Like Fractals Mar. 13, 2015 in Fractals, Java, Simulations, University


Mandelbrot Burning


Rabbit Lightning


Nova Buddhabrot


Fractal Explorer

Click above to download via itch.io. Click here to download a 100MB render.

(We've) Lost the Game! Jan. 29, 2015 in Competitions, Games, Java

This weekend Andrew Barrett-Sprot, Andrew Lewis, Mike Jewell, Ollie Steptoe, and me teamed up to make (We’ve) Lost the Game!, and entry for Global Game Jam 2015. After brainstorming, we decided to create a 2d survival game using Java and Slick2D. Overall, we’re pretty happy with it. Click to download via itch.io.

(We've) Lost the Game!