Monday, January 31, 2011

Final Apple in Blender

So my Apple is finished now! My sister made a texture for it (lotsa thanks!), and I got it running in the game and all. It looks kinda nice XD. I also found out it's super easy to make videos in Blender, so I made a video showing of the apple and posted it on my youtube account. When I make the model for MIYU, the creature that will be walking in my AI simulation, I'll post it up here too. But first homework >.<

Pic related, it's the video.

Saturday, January 29, 2011

Derp Bike!

This amazing program was posted on a forums the other day, it's Derp Bike.

The program uses a genetic algorithm to create off-road vehicles that have to get as far as possible on the course. The further the car goes, the fitter it is. And fit cars in the genetic algorithm produce new cars with other fit cars, and they mutate a little every step. This way, the total 'population' of 20 cars improves over time, as the cars that don't go anywhere are filtered out, and only the cars that move properly go ahead.

There's a few options here. You can set the maximum amount of wheels the car can have, so you can have 8 wheeled vehicles if you so like. The mutation rate indicates how much each car changes every generation, I suggest leaving it at a low setting, since 12% already means that cars nearly completely change every cycle. The up and down buttons give the user the power to promote or demote vehicles, aborting the run and making them more or less likely to appear and have children in the next run. Currently, I have no idea what the frequency does, but check it out for yourself.

Sometimes a hugely disformed car, of which you think it would make no chance to get anywhere, actually functions perfectly and makes it to the finish line. Be warned, this is highly addictive to stare at!

Post your best distance results here! XD (the level is random, so it doesn't mean much, but heh...)


Friday, January 28, 2011

My AI project - First post

For a while now I've been working on an Artificial Intelligence project, in which I try to program AI that can create and think in terms of concepts. The concept is somewhat similar to the old 2D game Creatures, but my program will be in 3D. By slowly increasing the complexity of the world, and then adjusting the AI gradually so it can survive properly in the world, I want to learn more about programmed conceptual thinking, and in the end I hope that I will actually approach something that one could call 'real intelligence'.

But that's still miles away from now. I started ont his project a few years ago, butI haven't had much time to work on this. Now I plan on making some more time for it. Since my new start a few weeks ago, I made a couple of major decisions:

I've tinkered around with a couple of 3D engines and game development engines, and I decided on Unity 3D. This let's me easily create a 3D world in which events can be scripted in by using Javascript or C#. The only downside to this is that I don't have any control over the code. My solution will be a fancy one: I'll have one of my laptops act as a server at home in which the game world will run. My other laptop will act as a client and connect to the laptop over the internet or via a router at home, and this laptop will run the AI.

I already programmed a Platform game with premade objects as a kind of tutorial, and I just started today on programing the world for my creatures, it looks something like this (the worker char is a premade controlled object in Unity itself which I'm using for testing):


To make things look somewhat decent, I also decided it would be best to learn soms basic 3D modelling. I'll probably suck at it since I have never drawn anything, save a stick figure or two, in my life. I chose Blender to do this, which is completely free, and can make amazing stuff. I just made an apple with it as shown below. My sister will make a nice texture for it! XD (Just looks VERY RED right now, but just look at the model plx ^^).



When I find time to work some more on this project, I'll post my results here. I'm going to finish some simple scripting in the world, and after that I'll figure out how to do the networking. Then I can connect the AI I made a few years ago in C++ to my world, et voila!

PS: The Project's name is 'ghost', dervied from Ghost in the Shell which I'm a big fan of!

Sunday, January 23, 2011

Simple bar problem indicating why Newton-Rhapson might get stuck

For my BA thesis I'm working with my dad on his Joint Model. It's basically a model that calculates the forces on joints in the body, given a certain starting position. This model is used extensively in research of surgery techniques and implants, so I hope I can contribute something to it. The model finds the point where all the forces are in balance, and it uses the Netwon-Rhapson method to find the point on which all the forces add to zero. This zero-point finding method is kind of a dragster however, it goes fast but it can't make any turns. My BA project will focus on implementing a more robust method for finding the zero point, which will hopefully counter the problem with local minima as described in the article below. It's in Dutch though, sorry for that ^^.

Intro problem here!

Naturally I'll be posting all my progress with the research here!