Showing posts with label creatures 2. Show all posts
Showing posts with label creatures 2. Show all posts

Thursday, May 28, 2015

Finding out what is what in Creatures 1 & 2

One of the most frustrating aspects of trying to understand C1 or C2 cobs might just be the first step you need to take.

Say you are looking at an object, and wonder "What is this object's classifier so I can look up it's scripts ?"
Or the other way round ? What if you find an interesting script and wonder which object it governs?

I've found no easy way so far to answer those questions, and got tired pretty quick of trying to manually look up my targets each time.
 
Cross referencing the various online lists of classifiers didn't cut it either: many of them are at best incomplete when not downright wrong.And they are limited to the standard game items, with obviously no way to reference every single COB ever made.

Things don't have to be this way.
Read through this very quick article with me, and grab a tool that makes the job as simple as hovering the hand over an object to get the needed information.



Saturday, February 15, 2014

Connecting to the Creatures DDE interface from python

We've recently seen how easy it is to connect to the C1 and C2 DDE interfaces using VB.

This time we will show how easy it is to connect to those interfaces using python, which will prove useful in upcoming articles.



Connecting to a DDE server from inside python is can be a quick and easy process.
The hardest part is in acquiring the correct modules to do so, (which can be a real pain if you take it from the wrong side), there are also a couple specifics that make debugging the first DDE connections unreliable.
Fortunately I've sorted those perks out for you,and will show you the single quickest and easy way to connect to the Creatures 1 and 2 DDE interface from python.


Thursday, February 6, 2014

Parsing Creatures 2 .S16 files (Extracting/Manipulating any of the game's graphics).

"Back then" few easy image manipulation libraries were available, making the extraction of game image data an intricate process (that most creature fans/developers tackled in an easy but not very user friendly way as we will expose).Nowadays things got easier.

In this post I will explain the creatures 2 .s16 file format, and show you how you can now very easily extract any picture from the game using python.
Not only that but we can also harness the power of modern image manipulation libraries to convert the game sprites to any file format we like contrary to most legacy tools only proposing to export images as BMP's and letting us do the conversion work manually.




Monday, February 3, 2014

Connecting to the Game: accessing the DDE interface with 3 lines of code. (Tutorial)




We've been studying a lot of stuff lately, most of it involving running CAOS commands against C1 and C2 games.
C3 has a convenient built-in CAOS console, and various third party tools also propose that feature for C1 and C2.

But how would you go about implementing this kind of connectivity inside your own programs?
The simplest way to connect to a running C1 or C2 game is through the DDE interface (Dynamic Data Exchange). Also it REALLY is simple even if you barely know anything about programming, so this might be worth checking out.If you never programmed anything and don't have any development tools handy, you could initiate a DDE connection even from inside an Excel macro using VBA.Also the C1 and C2 DDE interfaces being strictly identical, you'll be writing code only once, and be able to use it in both games right now, without any change.

By sending the game some basic CAOS commands and reading their results you can reproduce all of the game functionalities and then some more: reading a Norn's needs and chemicals levels in realtime, selecting Norns and Grendels, carrying them, monitoring their brains,etc...

This time I show you a very quick overview to get you started in pumping CAOS in and out the C1 and C2 games.More advanced use cases or details will come in futher posts.
 

Sunday, January 26, 2014

Finally, a Creatures 2 Norn autopsy tool


So, we've just learnt how to extract various information from C2 History files, among which a list of concentrations for a Norn's bloodstream chemicals at time of death.

We've also learnt how to map a chemical's number to a readable chemical name.

We can finally get to perform autopsies of dead C2 Norns!

Friday, January 24, 2014

Getting C2 chemicals descriptions (chemicals.def file format)

What a sneaky bastard I am.
This was supposed to be a C2 Norn autopsy article! (I swear I'm not doing that to avoid awarding anyone the promised carrot.)

I just realised something was still missing from the last article.
In the C1 chemicals information article we were able to pull out both chemical names and descriptions from the chemicals.txt file.

So where's that information in C2 ?

Reversing and Parsing C2 allchemicals.str file format


Aright, we already covered how to obtain an up to date list of Chemical numbers and names inside our programs by extracting it from C1 game files.

Obviously this is an ability of much practical value for C2 too, so let's see how we could do that now.
I haven't found the allchemicals.str file format described anywhere so far, but the format is simple enough so reversing it should be Norn's play for us at this point :)

Wednesday, January 22, 2014

Parsing C2 histfiles

Once again, a quick filler post about parsing a random creatures file format.

This time we will be investigating the Creatures 2 "History file" format.

 This one is also already documented online, but being able to parse it can allow us to extract some interesting data.


I guess this post needed at least one picture

Sunday, January 12, 2014

Parsing C2 GameLog files with python.

In this post we will see how to precisely parse a C2 Gamelog file.
This file is an ordered collection of all main events happening in Albia : Birth, Ageing, Dieing, getting a Name, Exports or Imports.
Parsing it can be useful to redraw a full timeline of stuff happening in your world, or to see which Norns are still alive or were ever used, if you need to perform some cleanup in the game folder ( by default, genomes and sprites files accumulate in the game folder for each Norn and are never removed )

Whatever your needs are, I hope yo will find this quick reference useful.

Wednesday, January 8, 2014

Generating Creatures 2 Egg files with Python

The Creatures 2 .egg file format is one of the few well documented aspects of the game series.

Why bother writing about it on a blog about investigating undocumented game aspects then ?
Well, the ability to generate .eeg files is a pretty simple skill that might prove an interesting addition for anybody writing Creatures tools.

The aim here is just to show how quick and easy it is

Wednesday, January 1, 2014

Investigating the effects of cyanide poisonning in Norns

While I was messing around C2 the other day, I was following a Grendel around in an unpopulated test world, and it suddenly dropped comatose with no warning signs.

All his organs had brutally stopped for no apparent reason,he had various food at hand and a full life bar minutes ago.A quick overview of it's bloodstream showed an obvious and fatal cyanide poisoning.So I took the opportunity to fully investigate the mechanisms of cyanide poisoning and the appropriate cure.

So what exactly happens during Cyanide poisoning in C2, and how do you counteract that really severe condition ?