Saturday, October 21, 2006

3D thing source

OK! the source can be found at


Ok! It's done.

It's not quite how I said it would be. There are no collisions, but everything else is there. All the nodes have the same mass, so there was no need to include that in the model.

To download the finished product goto and click on the products link in the left hand menu. The first product is the one you want, although you might want to try out the others too.

I'll post links to the source in a bit.

Saturday, October 14, 2006

Warm up exercises

Right, today I'm going to start a simpler project:

I'm going to try to make an l-system style programme, but without any branches. Also each node will be of a certain type, that will be attracted to one type and repel its self from another. The attraction/repulsion will cause acceleration based on the mass of the nodes.

The nodes will be able to collide with eachother, and will also be enclosed within a cube, so they will bounce of the sides of that too.

The l-system part will be how I control the number of nodes - each type will beget two of two other types. You will be able to increase and decrease the number of nodes as whole layers, in a binary way i.e. 1, +2, +4, +8, etc.

I know I'm meant to be making AI software, but this idea excites me more than thoroughly designing a neural network designer.

The idea struck me after conversing with Baz of Elitebastards fame. He introduced me to an l-system that used repelling to form its shape. It looked pretty cool, so much so I wanted to do something like it.

Friday, September 22, 2006

Starting afresh

Post 1: the least important post.

This is the start of my blog. I'm creating a blog about developing AI software. If you have no interest in AI software, or me, turn back now. This will only make you turn blind.

Since this is the first post, I will tell you what I shall be developing first: An Artificial Neural Network Designer.

I have already taken the first steps, I have decided what it will be able to do:
  • Load a network
  • Save/save as
  • Create a new network
  • Add a neuron
  • Remove a neuron
  • Edit neuron properties
  • Add a neuron group
  • Remove a neuron group
  • Edit group properties
  • Add a neuron to a group
  • Remove a neuron from a group
  • Add connections: N->N, N->G, G->N, G->G
  • Removing connections
  • Create activation functions (AFs)
  • Edit AF properties
  • Remove AFs
  • Set network bias
And since I want to get things right this time, I'm going full force with UML.

Anyway, wish me luck.