Welcome to the Creatures Wiki! Log in and join the community.

Difference between revisions of "COB"

From Creatures Wiki
Jump to navigation Jump to search
(Combine "COB files" and "RCB files" into this page)
Line 1: Line 1:
 
[[File:C1 Updated Object Injector.png|right|thumb|COBs are added to the world using the [[Injector]] (Updated C1 edition pictured).]]
 
[[File:C1 Updated Object Injector.png|right|thumb|COBs are added to the world using the [[Injector]] (Updated C1 edition pictured).]]
A '''COB''' (also cob, COb) is a '''C'''reatures '''Ob'''ject - an object in the game for either [[Creatures]] or [[Creatures 2]]. These objects are stored in .cob files, which contain an image (or images), a description, and some [[CAOS]] coding. See [[COB files]] for more information on the [[:Category:File formats|file format]]. In [[Creatures 3]] and [[Docking Station]] COBs are known as [[agent]]s.   
+
A '''COB''' (also cob, COb) is a '''C'''reatures '''Ob'''ject - an object in the game for either [[Creatures]] or [[Creatures 2]]. These objects are stored in .cob files, which contain an image (or images), a description, and some [[CAOS]] coding. In [[Creatures 3]] and [[Docking Station]] COBs are known as [[agent]]s.   
  
 
Those who make COBs are known as [[COBbler]]s.
 
Those who make COBs are known as [[COBbler]]s.
Line 10: Line 10:
  
 
==Installing COBs==
 
==Installing COBs==
Cobblers should include a [[readme]] text file detailing specifics of how to install their COBs, but this is a rule of thumb.
+
Cobblers should include a [[readme]] text file detailing specifics of how to install their COBs, but this is a rule of thumb.
 +
 
 +
'''Caveat:''' Installing too many COBs can cause [[clash]]es or overwhelm the world's [[scriptorium]] (sum total of all [[CAOS]] coding in the given [[world]]).
 +
 
 
===C1===
 
===C1===
 
*.cob files go in the main Creatures directory (usually C://Program Files/Creatures)
 
*.cob files go in the main Creatures directory (usually C://Program Files/Creatures)
Line 19: Line 22:
 
===C2===
 
===C2===
  
==Caveat==
+
{{stub}}
Installing too many COBs can cause [[clash]]es or overwhelm the world's [[scriptorium]] (sum total of all [[CAOS]] coding in the given [[world]]).
+
 
 +
==RCB Files==
 +
Files with the extension '''.RCB''' are '''R'''emove'''C'''O'''B''' files, which remove [[Creatures 1]] COBs and their [[script]]s. Every C1 COB should come with an RCB, but for those that don't there is the [[Universal Remover Spray]]. [[BoBCoB]] and [[CrEd32]] can automatically generate RCB files from any COB file.
 +
 
 +
==Developer information==
 +
 
 +
For the original [[Creatures]], there are no official cob-making programs - [[BoBCoB]] is probably the most popular unofficial one - but there are both [[COB Compiler|official]] and unofficial [[:Category:Tools|tools]] for [[Creatures 2]].
 +
 
 +
===Creatures 1===
 +
 
 +
Creatures 1's COBs are simpler than all later COB/agent files.
 +
As with all Creatures file formats, they are in little-endian order.
 +
 
 +
They are simply defined as such:
 +
{| border="1"
 +
! Length !! Type !! Description
 +
|-
 +
| 2 bytes || integer || COB Version (I've only ever seen 1)
 +
|-
 +
| 2 bytes || integer || Quantity Available (for injecting)
 +
|-
 +
| 4 bytes || integer || Expiration month
 +
|-
 +
| 4 bytes || integer || Expiration day
 +
|-
 +
| 4 bytes || integer || Expiration year
 +
|-
 +
| 2 bytes || integer || Number of object scripts
 +
|-
 +
| 2 bytes || integer || Number of install scripts
 +
|-
 +
| 4 bytes || integer || Quantity Used (for injecting)
 +
|-
 +
| varies  || 0 or more string blocks || Object scripts
 +
|-
 +
| varies || 0 or more string blocks || Install scripts
 +
|-
 +
| 4 bytes || integer || Picture width
 +
|-
 +
| 4 bytes || integer || Picture height
 +
|-
 +
| 2 bytes || integer || unknown (always seems to be the same as the picture's width)
 +
|-
 +
| varies  || SPR picture data || Picture. Encoded like a single frame of an [[SPR]] with no header.
 +
|-
 +
| varies  || string block || COB Name
 +
|}
 +
 
 +
String blocks are defined as follows
 +
{| border="1"
 +
! Length  !! Type    !! Description
 +
|-
 +
| 1 byte  || integer || String Length (if 255, use second string length)
 +
|-
 +
| 2 bytes || integer || String Length (if first string length was less than 255, this string length ''does not exist'')
 +
|-
 +
| varies || string || String (If this is a script, lines of [[CAOS]] are comma-separated with no whitespace between them)
 +
|}
 +
 
 +
===Creatures 2===
 +
 
 +
{{stub}}
 +
 
  
 
==Related links==
 
==Related links==
 
*[[Agents]]
 
*[[Agents]]
*[[COB files|COB files developer information]]
 
 
*[[Modding in the Creatures series]]
 
*[[Modding in the Creatures series]]
  
 
==External links==
 
==External links==
 
* [https://web.archive.org/web/20081231203855/http://www.frimlin.com/bobware/ BoBWare (C1/C2)] (archived)
 
* [https://web.archive.org/web/20081231203855/http://www.frimlin.com/bobware/ BoBWare (C1/C2)] (archived)
 +
*[https://web.archive.org/web/20170814234111/http://www.gamewareeurope.com/GWDev/cdn/cdn_more.php?CDN_article_id=95 Creature Labs' Technical COB Information for Creatures 2]
 +
 
[[Category:Development]]
 
[[Category:Development]]
 +
[[Category:File formats]]

Revision as of 17:44, 5 May 2020

COBs are added to the world using the Injector (Updated C1 edition pictured).

A COB (also cob, COb) is a Creatures Object - an object in the game for either Creatures or Creatures 2. These objects are stored in .cob files, which contain an image (or images), a description, and some CAOS coding. In Creatures 3 and Docking Station COBs are known as agents.

Those who make COBs are known as COBblers.

Finding COBs

Many older C1 COBs are linked to from CObfinder General, Norntropolis and TazzMann's CREATUREs UNIVERSE, and a good list of C2 COBs can be found at Creatures of Avalon. There is a growing list of C1 COBs on GirlySatan's Creatures Webpage. Unfortunately, one popular site spanning all games (Where's The COB?) was taken down in late 2001/early 2002.

If you like a COB, why not add it to the list of known COBs?

Installing COBs

Cobblers should include a readme text file detailing specifics of how to install their COBs, but this is a rule of thumb.

Caveat: Installing too many COBs can cause clashes or overwhelm the world's scriptorium (sum total of all CAOS coding in the given world).

C1

  • .cob files go in the main Creatures directory (usually C://Program Files/Creatures)
  • .rcb files go in the main Creatures directory
  • .spr files go in the Creatures/Images directory
  • .wav files (if present) go in the Creatures/Sounds directory

C2

Editnorn.png This stub could use more information.

RCB Files

Files with the extension .RCB are RemoveCOB files, which remove Creatures 1 COBs and their scripts. Every C1 COB should come with an RCB, but for those that don't there is the Universal Remover Spray. BoBCoB and CrEd32 can automatically generate RCB files from any COB file.

Developer information

For the original Creatures, there are no official cob-making programs - BoBCoB is probably the most popular unofficial one - but there are both official and unofficial tools for Creatures 2.

Creatures 1

Creatures 1's COBs are simpler than all later COB/agent files. As with all Creatures file formats, they are in little-endian order.

They are simply defined as such:

Length Type Description
2 bytes integer COB Version (I've only ever seen 1)
2 bytes integer Quantity Available (for injecting)
4 bytes integer Expiration month
4 bytes integer Expiration day
4 bytes integer Expiration year
2 bytes integer Number of object scripts
2 bytes integer Number of install scripts
4 bytes integer Quantity Used (for injecting)
varies 0 or more string blocks Object scripts
varies 0 or more string blocks Install scripts
4 bytes integer Picture width
4 bytes integer Picture height
2 bytes integer unknown (always seems to be the same as the picture's width)
varies SPR picture data Picture. Encoded like a single frame of an SPR with no header.
varies string block COB Name

String blocks are defined as follows

Length Type Description
1 byte integer String Length (if 255, use second string length)
2 bytes integer String Length (if first string length was less than 255, this string length does not exist)
varies string String (If this is a script, lines of CAOS are comma-separated with no whitespace between them)

Creatures 2

Editnorn.png This stub could use more information.


Related links

External links