creatures caves welcome, guest
downloads   gallery   dev   community   creatchi   forum   mycaves
bookmarks | search | post new topic
Development Forum
old
Documented C3/DS SVRules   
Vermidia

Vermidia



  9/23/2021  2

I've gone through and poked at C3's source code quite a bit, which led me to a google spreadsheet with all the rules!

I probably don't explain some of these very well, so this thread is mostly for questions and/or suggestions to improve it.


You know...wait...nevermind... wait...no...umm...maybe later...
 
Papriko
Peppery One

Papriko
Germany  


  9/23/2021

This all sounds very interesting, but I have to admit that I don't know how to read that spreadsheet.

Lets play plants! Photosynthesis... Photosynthesis... Photosynthesis...
 
Vermidia

Vermidia



  9/23/2021

SVRules are for brain lobes and brain tracts, which have processing rules and initialization rules.

Both those sections are composed of 16 lines, each line containing an OpCode(by default stop in every single line).

OpCodes usually also have an Operand(though some don't) which are in a diff part of the spreadsheet. Operands could be thought of like variables in caos.

Each OpCode with an Operands either reads it(Uses it for something but doesn't modify it) or writes it(changes it in some way).

What everything does is written in the description part, the code part is just what the relevant parts in the source code look like.


You know...wait...nevermind... wait...no...umm...maybe later...
 
Papriko
Peppery One

Papriko
Germany  


  9/23/2021

Uhm, I found the problem... At the risk of sounding stupid, but I didn't see the other pages, just the "general info" one XD
Explains why it felt oddly short and incomplete...

Would you mind providing an example perhaps?


Lets play plants! Photosynthesis... Photosynthesis... Photosynthesis...
 
Vermidia

Vermidia



  9/24/2021  1

For an example, The Stimulus Lobe's Update Rule starts with:
[load from] [neuron] [input]
Load from is the OpCode, neuron is the operand, and input is what I labeled value entry in the operand sheet. This command sets the accumulator to the current neuron's input it's on(neurons are likely processed in numerical order).
the next line(line 2) is:
[if < ] [zero]
This means that if the value in the accumulator(which was just set from the neuron input) is greater than zero, the next Opcode(or line if you want to think of it that way) is skipped. Line 3 is:
[blank] [accumulator]
So here, if the accumulator was less than zero in the previous line, this is run, and it just sets the accumulator to zero. If the accumulator in the last line was greater than zero, then this is never run, so the accumulator would still be whatever the neuron's input was. Line 4 is:
[store in] [neuron] [state]
This sets the current neurons state to what the accumulator currently is. By this point, it would be either zero or greater. Line 5 is:
[blank] [neuron] [input]
This just sets the neuron's input to 0.
Every OpCode after is [stop] which just tells the brain to not process anything after the line they're on(so here nothing after line 6 would be processed).
So in total, in the genetics kit it would look like this:
Line 1: load from neuron input
Line 2: if < zero
Line 3: blank accumulator
Line 4: store in neuron state
Line 5: blank neuron input
Line 6: stop
Line 7: stop
(The stops go up to line 16, which is the max amount of lines a rule can have)



You know...wait...nevermind... wait...no...umm...maybe later...
 


downloads
cobs
adoptions
creaturelink
metarooms
breeds
 
gallery
art
wallpaper
screenshots
graphics
promos
sprites
dev
hack shack
script reservations
dev resources
active projects
dev forum
 
community
links
advice
chat
polls
resources
creatchi
 
forum
bookmarks
general
news
help
development
strangeo
survivor
mycaves
log in
register
lost pw
0 online
creatures caves is your #1 resource for the creatures artificial life game series: creatures, creatures 2, creatures 3, docking station, and the upcoming creatures family.

contact    help    privacy policy    terms & conditions    rules    donate    wiki