Making Eggs for DS and Docked Worlds

Creating a file that will appear in the Norn egg layer is a fairly straightforward process, although if you want to make a complete new breed you will have a bit of typing to do to specify all the files needed.

    - The genome will always be available in the egg layer, no need to copy exported creatures from folder to folder
    - You can include an image that will appear on the egg layer, normally the face of the creature.
    - You can give the genome a name which will be displayed in the infobar on the egg layer.
    -- Minimum effort on the part of the user, simply place one file in the correct location and the rest is taken care of.

    - Create the genome
    - Create any sprites/attachments you need
    - Create a PRAY template file.
    - Place all of these files in one folder and run PRAY Builder
    - Place the resulting agent file in the 'My Agents' folder of DS

Creating the PRAY template text file
This file can be created with any text editor. Below is a sample template that contains all the fields necessary for the Norn Egg Layer to successfully inject an egg with your genome in. Text marked indicates a value you must supply.

Code Explanation
"en-GB" This marks the language to be used. For nearly all cases the best thing to do is just leave it as it is :-)
group EGGS "<name>" Marks this chunk as being EGGS - which is necessary for the egg layer to identify it. The <name> field will be displayed in the egg layer infobar.
"Agent Type" 0 Marks the file as suitable for injection
"Dependency Count" <number> Specifies how many external dependencies this genome will use. Each sprite file or attachment file counts as a separate dependency.
"Dependency <number>" "<dependency file name>" This section is for declaring the name for each dependency specified above. There needs to be one of these lines for each dependency. Only needed if Dependency Count is not 0.
"Dependency Category <number>" <category> This section is to state where each dependency should reside, with respect to the Docking Station directory structure. There needs to be one of these lines for each dependency number. The CDN_Categories are detailed in the 'Just PRAY' section. Only needed if Dependency Count is not 0.
"Genetics File" "<genome file name>" Specifies the genome to be used for this egg. If you want to produce a genome that is a cross of two existing genomes you can use the two fields below. For backwards compatibility it is advisable to always fill in an entry for 'Genetics File' as genome crossing in the egg layer is not supported in C3. NOTE: Do not include the file extension.
"Mother Genetic File" "<genome file name>" This is a special feature of the DS Egg Layer (Muco) and will be ignored by the C3 engine. This field (and the corresponding Father field below) allows you to specify two genomes to be crossed. The result of this crossing will then appear as the offspring in this egg. If both Mother and Father fields are empty, then the 'Genetics File' field will be used. If the Mother field has a genome specified but the father is empty then the genome will be a virgin birth, and be a mutated version of the Mother genome. NOTE: Do not include the file extension.
"Father Genetic File" "<genome file name>" This is a special feature of the DS Egg Layer (Muco) and will be ignored by the C3 engine. This field (and the corresponding Mother field above) allows you to specify two genomes to be crossed. The result of this crossing will then appear as the offspring in this egg. If both Mother and Father fields are empty, then the 'Genetics File' field will be used. If the Mother field has a genome specified but the father is empty then the genome will be a virgin birth, and be a mutated version of the Mother genome. NOTE: Do not include the file extension.
"Egg Glyph File" "<name of image to use for egg layer screen>" Specifies the name of the file that will be used for the display screen - must include the extension. This is for the image of the Male displayed. This is different from the 'Gallery' entry in the template in that the Glyph entry is used to check whether the file exists, and the Gallery entry is used to create the image used on the screen.
"Egg Glyph File 2" "<name of image to use for egg layer screen>" Same as above, except this is for the image of the Female displayed.
"Egg Gallery male" "<male image without extension>" This is used on the display screen, and is the image to use for a particular gender. Do not include the file extension.
"Egg Gallery female" "<female image without extension>"
inline FILE "<destination name>" "<source name>" This command is essential if you are using files that do not ship with the game. This command will package up any files you need into the .agent file, and they will be unpacked on the users system if they don't exist there. Usually the destination and source names are the same. One of these lines is needed for each\ file you require for the object.

If this just looks like gobblydegook then have a look at an example PRAY file (available from the downloads section at the end of this article) ... it is used to create an egg agent file that contains a new genome (no new images or body data though). The PRAY template defines 3 new chunks of type EGGS ... which means that if this was compiled the Egg Layer would detect 3 new entries. NOTE: You will not be able to use this PRAY file unless you create some new named genomes. It is only intended as an illustration, or as a template file you can adapt.

A note on the Grendel and Ettin egg layers
The mechanisms in C3 for creating Grendel and Ettin use a wildcard mechanism for specifying which genomes to use when creating a Grendel or an Ettin. The way that this works means that any genome in the genetics folder could be selected to create a Grendel if that file begins with the letter 'g', and similarly if there is a genome file beginning with the letter 'e' then it is in danger of being selected by the Ettin layer to create an Ettin egg.

The reason for this wildcarding is so that any new versions of Grendel or Ettin genomes can be added to the genetics folder and have chance of appearing as eggs, simply because the device for laying these eggs isn't looking for a specifically named genome.


Downloads:   Expressive Eggs