Creatures Community Chat

Thursday, March 31, 2011

Creatures 1: Telinome's Creatures Log

As I said in my last post I've stared up Creatures 1 again and have been having a good 'ol time. I promise to introduce you to some of the little fluffballs in the near future, but before I do so I need to do some pimping.

To help out with some of my documentation I've enlisted the talents of Telinome who has created a record keeping database using OpenOffice's 'Base' program.

I guess I should also take a moment to pimp OpenOffice. OpenOffice is an office suite and is essentially a free version of Microsoft Office. It is also open source. Included in the suite is, as mentioned a database program (base), a spreadsheet program (calc), text documents (writer), a slides presentation program (impress) and then also Math and Draw, which I have no idea what they do :P

OpenOffice can be downloaded here for those interested:

http://download.openoffice.org/


Now, onto the more interested stuff :D

I've been using Telinome's database to keep tabs on all my Norns. It's really easy to use, allows you to keep a record of all the Creatures in your world and can even be exported as PDFs for later use.

On top of that, Telinome has graciously allowed me to give away the database to anyone who wants to use it. It's still in the development stages (it's bug free though) and will hopefully have some additional features added in the future. You can download it here:

CreaturesLog.odb

I have already started filling this one out, so there are roughly 12 Norns already accounted for, but there's no reason you can't simply delete all of them and start your own database. And in the mean time you can get a sneak peak at the Norns I'll be introducing in the future.

As well as the Creatures Log I've downloaded the D-DNA Analyzer which allows you to compare genomes of different Norns and itentify where mutations have occured.
I'm also playing with the Genetics Kit* which also gives you a closer look at genomes and the ability to take any genome and create new eggs with them.

I'm not sure yet what I want to achieve while playing with C1, but I definitely want it to involve genetics and mutaitons. I'd also like to play a closer role in the Norn's development at a species than I did while playing C3. Essentially that mean selective breeding. Hopefully I can find some interesting mutations to share.

*At time of posting the Genetics Kit link doesn't appear to be working. If it still isn't working you can try to find more information at the Creatures Wiki.

Monday, March 28, 2011

It's alive!

Well guys, again my apologies for leaving you in the dark for such a long period. Work has been extremely busy and looks to be for at least the next month. Fortunately I've found a little time in between meetings to make those coding adjustments and finally have something worthwhile to show. So, without further ado, here is the first video of a Norn walking about 'The Island'.

Youtube: The Island: Norns in 3D

So as you can see, although buggy, we are now at a point where we have a cute little Norn wandering about the world.

Now unfortunately, that's where I'm going to leave the project for some time. I understand this will disappoint a few people, but I believe I have an extremely good reason for it.

Grandroids!

If you haven't already heard (shame on you) Steve Grand is back to his old tricks creating artificial life with his new project 'Grandroids'. Simply put, as interesting and fun as my work on this subject has been, I can't compete with the master.

I've added both the Grandroids kickstarter page, and Steve's personal blog to my 'check every day' list as I, like all the creatures community, am absolutely exstatic that this game is going to be made. I know I am vastly more interested to hear what Steve is up to rather than working on 'The Island' and I assume other's will feel the same way.

I now intend to wait patiently for Steve to make progress on Grandroids and plan on getting involved in the new Grandroids community and the creation of new assets when Steve releases the Beta and API.

That said, don't fear. I am not going anywhere just yet. I've started playing Creatures 1 again and have a whole group of Norns I'll be introducing to you in my next post. I'm not sure yet what kind of adventures or evil scientific experiments I'll get up to with them, but hopefully it will be interesting enough to keep people reading.

So until then...

Go make a pledge to Steve Grand's kickstarter project. There's some nice rewards to be earned and you'll be helping make history by funding one of the most important developments in AI/A-life...ever!

Grandroids Kickstarter project

Steve's Blog

Friday, January 28, 2011

Pathfinding

Hey peoples. Hope you've all had good Christmases...I mean holiday celebrations :P

My new year has started off pretty good. I've found a new place to move into which is closer to the city and will give me better access to nightlife and work commitments.

Although I haven't produced anything new for 'The Island' in quite a while, I have been doing a good chunk of reading and learning. First off I've ordered myself a copy of Steve Grand's book 'Creation: Life and how to make it' which will hopefully arrive in a week or two. Very much looking forward to getting my nose deep into that one.

On the side I've been reading a book by Richard Dawkins entitled 'The greatest show on earth', which for those of you who don't know is all about the science of evolution. It is predominantly meant to be a book about education as well as reducing creationist claims to rubble, but I'm also finding it quite inspiring in terms of getting back into creating this game. Having a basic understanding of evolution, natural selection and mutations should prove useful somewhere along the line.

As well as getting into some good books I've been trawling the internet to get a better understanding of pathfinding AI, which was where I started to get stuck before the new year. I found an excellent page for gaining an understanding of A* pathfinding which has given me a good grounding.

A* Pathfinding for Beginners

I've realised that trying to make my own pathfinding system for 'The Island' is going to be beyond my reach (assuming I want to do a decent job) so I've been searching through some of the Unity3D pluggins available and the one I think I'm settling on is simply called 'A* pathfinding' by Aron Granberg. A download, as well as instructions, tutorials etc can be found here:

http://www.arongranberg.com/

After some fiddling around I've finally figured out which parts of his code I need to play with to make things move about. Below is a quick video showing the pathfinding in action. You'll have to take my word for it that this is now working with code I wrote myself :P



Basically at my end all that's needed is to tell the code where I want the start and end points to be, set up the ground plane with some obsticles and send the data through to Aron's code. The character (in this case the cylinder) will then move to the set destination, avoiding specified obsticles in it's path.

The next stage will be trying to plug this code into Tiggy and seeing if I can get him to run after a piece of cheese.

Although it all sounds very simple (and with Aron's code laying beneath my own it really is) this is probably one of the most challenging parts of the project. Hopefully with this out of the way I'll be able to get back to creating interactions with the Norns and making a fun game again.

The new year is already looking promissing ;)

EDIT: Wow, just realised how bad the quality of that video. Appologies for that, but hopefully you can still just make out what's going on there.

Thursday, December 16, 2010

I have a dream...

Or more accurately had a dream.

I woke up this morning very abruptly and it took me a brief moment to figure out where I was. This was because I was having such a lovely dream where someone had come along and made a massive update to Creatures3/Docking Station and I'd been having a great deal of enjoyment playing it. Can you imagine my disappointment when I realised I'd just woken up :(

Now obviously this is just a dream (both in the sense I was sleeping and the fact it'll never happen), but that doesn't mean there isn't some stuff we can learn from it! So here's a couple of things I remember from my dream. Sadly I don't think it is everything, but I've got a few good ideas from it.

The Norns were all using teleporters and doors with ease. They were able to traverse all areas of the ship and seemed a great deal happier for the ability. I've always hated it how my Norns get stuck in crowded areas with a teleporter at their feet and never use it. I vote for Norns being able to use teleporters just as easily as they use doors now.

There were certain foods that actually changed the Norns appearance. Now in my dream these were rather significant changes and I don't think this would be a great idea ingame. That said, I'd definitely push for foods similar to C1&2 where plant types had a much great impact on a Norns health, perhaps even granting them temporary abilities.

A new rock based species. This Norn kind of had a bolderlike head, with insect or fly eyes. Again, not necessarily something I'd specifically implement, but a greater variety of species with specialised genetics (rock-Norns could have tougher skin making them resistant to heat and Grendel attacks) would be great.

At one point I saw a cross breed Norn sneeze and it shot a small gust of fire out it's nose. I instantly knew (in the way you can only know in dreams) that this was a Magma-Norn. Some specialise traits and animations for specialised species would be kind of novel.

Norns and Grendels actively battling each other. Admittedly this fight scene of my dream was a little too Pokemon for my liking, but more specific fights which are more combative than random slaps and Norns running away aimlessly would be pretty cool.

The final (and I think most interesting) part of my dream happened just before I awoke. This was a look at a whole heap of new CHAOS commands that had been added to the game for players to customise for new species. Sadly, although the list was quite massive I only got a look at one of the new pieces of code before waking up. It was something like:

if (allDead in radius X) then do Y

Which for those of you who are not programmers was a new command directed at Grendels that encourages them to kill all the Norns within a particular distance to receive some kind of benefit, presumably an increase in happiness or something similar.

Now I don't even know if this kind of command could be implemented with the way creatures brains and CHAOS code is currently set up, but I'd be interested to hear from anyone who does. Perhaps with a little outside of the box thinking we could come up with some unique new characteristics for current C3/DS creatures?

So has anyone else had some interesting Creatures dreams? I'd love to hear about them.

Tuesday, October 26, 2010

The Island: brb

Hey guys and gals,

Just letting you all know 'The Island' project isn't quite dead yet, but I've needed to put things on hold for a while with work and personal life.

Getting very close to the end of a project with work and my computer has been a dedicated part of the render farm for the past two weeks. Not easy to play in Unity with all four cores being sucked up by rendering.

I'm also planning a holiday shortly and will be disappearing on a road trip for two weeks. My mate and I are planning on going up the coast of Australia to watch the Ashes (major cricket event for those who don't know) with a few pitstops along the way to do some rock climbing and fishing.

Once I return I'll once again be under the pump to get the next animation done before Christmas and doubt I'll have a great deal of time for personal projects again.

Hopefully over the holiday break I'll dedicate some time towards reading up on AI and come back with some strong concepts to work from.

I guess what I'm saying here is don't expect anything significant before next year :( I'll do my best to keep things updated, at the very least with my musings and readings, but I severely doubt there will be any game updates for people to play around with.

Thanks to those who have followed thus far and I ask for your patience for future endeavours.

Cheers guys ;)

Thursday, September 30, 2010

The Island: Brains

Brains.



We've all got em. But a lot of the time we've little idea how they work, especially the average Joe on the street. I personally find brains incredibly interesting and try to do as much reading up on them as possible.

I've recently finished "The New Brain: How the Modern Age Is Rewiring Your Mind" by Richard Restak and I'm part way through "The Cult of the Amateur: How Today's Internet is Killing our Culture and Assaulting our Economy" by Andrew Keen, which although predominantly about modern media does go into some interesting insights into how our brains are being rewired by technological influences.

So having an insignificant understanding of brains, thoughts, learning and memory you can only imagine just how daunting the idea of coding one of my own feels.

For the past couple of weeks I've been doing a stack of reading on how the Norn brains were developed. There's a couple of interesting articles and even a talk by Steve Grand on how the brains were put together and it's given me a good starting point. If you're interested in reading the articles yourselves do a Google search for either "Creatures - Artificial Life Autonomous software agents for home entertainment" or "Creatures - Entertainment Software agents with Artificial Life".

Both are a good read, and there's also a couple of other articles out there that might be worth your time. As I said they've given me a starting point, but obviously the structure of the code itself isn't available, so I'm going to have to do a lot of guess work to make these things functional.

My goal isn't to try and replicate Grand's work and recode the Norn brains in Javascript. Frankly even if I had the original code in front of me I probably couldn't do it.

What I hope to achieve is a simplified version of the Norn brain and the next few posts will likely be related to my ramblings as I try and figure things out. If I've misunderstood anywhere how Grand structured the brain feel free to correct me, but ultimately there is no 'wrong' way to go about this. I want to understand how these creatures work, not just replicate and through my understanding I may come to different conclusions than Grand did.

So with that in mind, let's get started.



The 'find food', 'get food', 'eat food' and 'decrease hunger' steps are mostly there to remind myself these are extra functions I'm going to need to code. Although not directly related to the learning process, without them the Norn wont be able to move around and get to the learning stage.

I'm particularly perplexed as to how I'm going to get the visual function to work. There's a brief rambling on Grand's blog as to how he's thinking of making vision operate in future works, but I've found very little on how it all works in Norns.

In terms of keeping it simple I think I'll put in code that allows them to 'see' a certain distance, only in front of them and hopefully within a certain field. I think most of this should be doable through the built in camera functions in Unity, specifically the raytrace from camera functions.

I haven't thought too much about the digestive system yet. I want to make the Norn able to move about and interact with the world before I go down that path. For now I'll just aim for a system that produces energy when it eats, but without that energy the Norns organs will slowly shut down. I know in Creatures there's a glucose, starch etc system but for a prototype is seems largely redundant.

The main bit of interest for this is the psydo code I've written, which I think very basically explains how Norns go about learning currently.

From what I understand concepts are loosely and randomly wired at birth. For example at birth a Norn may think that pushing objects decreases their hunger. Upon trying this they figure out they're wrong and try another concept. They'll keep trying this until something sticks, namely eating. Once successful a reward chemical is produced which stores the action to drive relationship and adds it to the digital neurons.

In the next stage the Norn then takes this learned concept and tries to apply it to other objects. Almost all my baby Norns, after eating their first bit of food then try and bite into anything they can find, such as a toy. Eventually they realise this doesn't work and try other concepts, until they learn pushing is the best idea.

On top of this certain neurons may have an initial weight set to them, which account for instincts.

There are parts I'm currently not understanding. For example, if a creatures hunger drive was randomly wired to try and eat another creature at birth, but another creature cannot be found, how does the Norn learn that eating other creatures is a bad idea and move on to another object? This would be easy enough to avoid in an early prototype with limited objects, but it's something I'd like to account for now to allow for future growth.

The other thing that confuses me is how Norns in current games don't seem to learn terribly well. If my understanding is correct then the first time a Norn performs the action correctly they should know it for life.

Presume that all drive to agent relationships start with a zero weighting. The hunger/eat drive is randomly wired to toys. The Norn attempts to eat a toy, fails and the drive is randomly wired to gadgets. The Norn attempts to eat a gadget, fails and the drive is randomly wired to food. The Norn attempts to eat food, succeeds and the concept is reinforced. The Norn now knows that eating food reduces hunger. There is no food available and you try to get your Norn to eat fruit. The Norn refuses, because it already believes that food reduces hunger and as far as the Norn is concerned, fruit and toys are just as useless for reducing hunger. Obviously this isn't the way brains currently work, but I've got no idea why not. What additional parameters are there that prevent this?

Now in Creatures 3 this isn't so much of an issue, because Norns have three types of hunger (protein, fat and starch) and each food variety can be matched to a specific type of hunger. But how does this work in C1&2?

As well as this why do Norns sometimes forget that eating food reduces hunger? They'll often stand there trying to push or pull the food, completely neglecting to try and eat it, like they should know. I could understand this happening if the push and eat function had equal weighting to the drive, but there's no reason it should. Once the Norn has eaten food once, it should forever have a higher weight until the Norn gets something out of pushing food as well, which they shouldn't. And even if they do, the Norn has no reason to try pushing the food as it already knows that eating it is the best method.

I think I probably have enough information to start coding some stuff, but these are questions I'll have to answer before I can finish this stuff. Fortunately there's not a lot of point coding brain functions until I've made it possible for the Norn to hunt down and find food first, so I've got a bit of time.

In the mean time, does anyone have answers to these questions? Keep in mind I'm interested in any ideas, not just how the Norns are currently coded. Don't think just because you don't understand Norn brains your input couldn't be valuable.

Sunday, September 19, 2010

The Island 2.0.(Insert arbitrary number here)

Yes that's right, this is the release of 'The Island 2.0.Arbitrary#"!

Essentially this is a hotfix (aren't hotfixes meant to be fast?) to correct the issues people were having dropping objects they'd picked up. This should now work as expected.

Your feedback would be appreciated :D

http://www.arch-dragon.com/creatures4.html <<<< Game Link