creatures caves welcome, guest
downloads   gallery   dev   community   creatchi   forum   mycaves
bookmarks | search | post new topic
Development Forum
old
Norn Voices/ No Voices   
Ghost_Norn

Ghost_Norn
Portugal  

 visit Ghost_Norn's website: Steam
  4/11/2014

Hi everyone!!
Another doubt for the project :)
You see, the creatures which we are making into a breed don't make a single noise, or don't even speak.
So, we were thinking, could we remove the sound for our specific breed, and just leave the speach bubbles, to work like thought ones? And how?


Previously known as Norn_XXL
 
evolnemesis
Code Monkey

evolnemesis



  4/11/2014  1

Okay, there's a VOIC (and VOIS) command that changes a creature's voice (when the creature tries to speak, it looks in a catalogue to find the appropriate sound files, going back to default if no good matches are found)...

There may be a way to use it by itself to tell the game your creature can't speak, but even if not, from the documentation, it should be possible to create a modified speech catalogue and new sound files to make a new 'mute' voice, which you can reference with the CAOS command; however, I'm not sure how the game engine will interfere here... It probably will be trying to change their voices to defaults when your creatures age up and stuff.

Best bet is probably to make a "become mute" involuntary action for your species that just uses this command to set its voice to your new mute voice. Then you could trigger this action when it's hatched and when it changes to any life stages where the game engine normally changes voices... that SHOULD work, (except that sound files like the laugh, etc, could still be played by other scripts, so your breed still won't be totally silent unless you replace a bunch of base files too that would affect all creatures...)

See HERE for an excellent example of creating and installing a custom involuntary action and putting it in a genome... Involuntary actions can be very powerful, since they can do anything you can do in CAOS, but can be triggered genetically/biochemically... The author aims the article at c1/c2, but the procedure would be essentially the same for c3/ds (the script number is even the same as the one in the tutorial... script 71 for an agent in c3/ds refers to an undefined and customizable involuntary action for that species). refers to invol action 7: drowning... hmm, there seems to be no room for a new one now...

The only other difference is that it's a lot simpler to get at a command line in c3/ds, and to install a new script you could just put your new script into a .cos file and build an agent that injects that script into a world with your breed. (or just 'ject' that .cos file into your world while you are testing your breed).

EDIT: Well... there seems to be no way to use involuntary actions now unless you replace one of the standard ones... Although... If you make your breed occupy a breed slot, you could have a 'become mute' script, possibly added to one of the standard action scripts, that acts only on creatures with your breed's head, by checking the FACE value, this way the muteness could only affect your breed, and be inherited on some crossbreeds too.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
evolnemesis
Code Monkey

evolnemesis



  4/12/2014  1

Another idea could be to modify its brain so that it won't speak, by changing the processing of a few neurons, and then having an involuntary or scripted action that occasionally makes a thought bubble showing its thoughts... this way you could even make your own graphic for the bubble, so it looks different from the regular speech one.

The only problem is that part of the alterations you'd need to make to get them to not talk on their own may include some complex brain alterations (because there are a lot of game scripts and things in the game engine that manipulate and check various neurons and lobes in their brain to get them to speak on their own) and would probably include making it so the game engine also thinks they don't understand anything said to them (even if they have a full vocabulary), by changing the workings of a neuron that tells the game the creature heard something it didn't understand. If you don't change this, the game engine itself will force them to speak back to the hand or any speaking creature they are paying attention to. The downside to making this change is that the game would no longer process any speech for them in their brains, and they really wouldn't understand anything said to them, even from the hand.

And also, this won't stop them from speaking when the game engine makes them do a 'SEZZ' like when they are getting a word teaching interaction, or when an agent like the holistic learning machine forces them to say they are happy.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
Ghost_Norn

Ghost_Norn


 visit Ghost_Norn's website: Steam
  4/12/2014

Thanks you so much evolnemesis! We will see if it isn't too hard to make. :)

Previously known as Norn_XXL
 
evolnemesis
Code Monkey

evolnemesis



  4/17/2014  1

I just found something you might find very useful... looking through the CAOS documentation I found this...

TARG NORN SOUL 3 0

will turn off a creature's speech faculty... I tested it and they will not speak at all (they seem to understand though... everything else about their brains seems normal... when I told my norn to express, it made the 'I am expressing' pose, but didn't say anything... oddly enough, the young norn I picked, I only noticed after the test that Protective Tub had named her 'Silent Mouth'... I'm a little scared of it now...).

TARG NORN SOUL 3 1

will let them speak again. So, a script can, for example, look at a head sprite, or at some unknown chemical you have your breed keep in their bodies, and if it is your breed, do this command, so they will not speak on their own... then have a timer check your creature's thoughts by reading the decision and attention lobes (the decn lobe gives the verb, the attn lobe gives the noun for what they are thinking...) There are simple CAOS commands to get both, called DECN and ATTN.

This way, you can make 'thought bubbles' for each creature on a random chance for normal thoughts (check the 'speech bubble factory' script in the DS Bootstrap folder for example of making the bubbles... really you can just call that speech bubble script with your own strings, but the speech bubble sprite set that comes with the game actually includes some fluffy thought bubbles too...) If the creature is ever thinking 'express', then you should probably always use the command to get the highest drive (DRV!) and make the bubble show the creature 'thinking' about its need (especially since it will often be posing like it is expressing that need when it is thinking that).


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
Ghost_Norn

Ghost_Norn


 visit Ghost_Norn's website: Steam
  4/17/2014  1

Wow, that is great! Thank you evolnemesis! That should facilitate our idea greatly!! I just need to hear what Tarilithina has to say about this.
Nevertheless, thank you, you have been really helpful :)


Previously known as Norn_XXL
 
evolnemesis
Code Monkey

evolnemesis



  4/17/2014  1

These commands, which reference the localized word catalogues for drives, objects, and decisions, should help you with making thought bubbles:

READ "Creature Actions" DECN (returns verb word for the decision)
READ "Agent Categories" ATTN (returns noun word for object of attention)
READ "Creature Drives" DRV! (returns need word for highest drive.. use this to let them express when they are thinking "Express Self" )

In the command line you can see these commands work by selecting a creature and then typing, all one line:

targ norn outs read "Creature Actions" decn outs read "Agent Categories" attn

Hold down enter, and you can watch your creature think.

EDIT: just watched one of my norns for a while... it's pretty funny, norns think some weird stuff randomly every now and then, lol... rest food, eat gadget.. oh well, this one is young, and they do try stuff randomly a lot, and they are pretty silly creatures anyway.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
Papriko
Peppery One

Papriko



  4/17/2014  1

catx attn
is a slightly shorter code for the object of attention's noun.


Lets play plants! Photosynthesis... Photosynthesis... Photosynthesis...
 
evolnemesis
Code Monkey

evolnemesis



  4/17/2014  1

ooh cool, very nice... that should work for drv! and decn too then, right?

EDIT: n/m it doesn't seem to work for those, looks like catx only works as a shortcut for looking up agent categories... oh well, then at least for the noun you can use that shorter code, for the drive and verb it looks like you still need to use the longer commands.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
Ghost_Norn

Ghost_Norn


 visit Ghost_Norn's website: Steam
  4/17/2014

Thank you guys! I've just experimented some of them, the "thought" one is really cool, I've seen pretty funny things :P

Previously known as Norn_XXL
 
evolnemesis
Code Monkey

evolnemesis



  4/17/2014  2

Yeah, it is pretty funny... one of my norns was just thinking it wanted to express to some food... it wasn't hungry or anything and it didn't say anything, it was just pigging out on carrots a little before... either it was just thinking it was a good meal, or it likes talking to its food, lol.

I suspect when creatures normally say 'what' they are thinking, as opposed to expressing, that thought has to have a certain strength, since whenever I see it happen, the creature is already carrying out whatever it is saying it is thinking about... some of the thoughts you see with this command may only be barely noticeable to the creature... it seems to make no attempt to carry out many of them.

Using the command papriko showed, you should be able to shorten that command line to:

targ norn outs read "Creature Actions" decn outs catx attn

Edit: just noticed that can give an error if the creature is asleep... it seems decn is -1 when they dream, and the script doesn't like that... so in your agent script check to make sure decn is greater than or equal to 0... or better yet, if you see decn = -1, make a little animated thought bubble with sheep jumping over a fence, or something...


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
Tarilithina

Tarilithina


 visit Tarilithina's website: Miscellaneous Creatures Stuff
  4/17/2014

This sounds really interesting. Unfortunately, though, I'm the sort of person who gets errors following a tutorial to the letter. I'm not sure if I can make an agent that will be able to do this. Then again, though, I might just be over-estimating the difficulty. Is this a correct list of what this agent needs to do?

- Check population of norns for the correct head sprite/chemical.
- Check decn of all norns with said sprite/chemical.
- If decn = -1, do nothing (or, like you said, display an animation).
- If decn ≥ 0, use command "targ norn outs read "Creature Actions" decn outs catx attn" (Actually, "norn" targets the selected norn, doesn't it? Wouldn't we have to change that, to target the norns with the right sprite/chemical instead?)
- Repeat.


Hi!
 
evolnemesis
Code Monkey

evolnemesis



  4/17/2014  2

in a script, you would have a targ set already by the time you get to those commands... so it wouldn't be exactly like the command line... basically, you would want to enumerate through all creatures... the body of your timer script would look something like:

* this will set TARG to each creature in turn
enum 4 0 0

doif {true/false expression that checks if the creature is your breed, for example, "doif chem 222 gt 0" checks to see if any unknownase chem 222 is in the creature, then all you need to do in your genetics is give the creature an initial concentration of that chemical and increase its halflife to maximum}

* mute the creature, in case it hasn't been already
soul 3 0

{commands to determine when to show thought bubbles}

{commands to display them}

endi

* check next creature
next


somewhere in the commands to display it part, after you see it's not dreaming, you will probably put their thought into a variable first so you have the full string ready to display, with something like

*put verb into string
sets va01 read "Creature Actions" decn

*add space between words
adds va01 " "

*add noun
adds va01 catx attn


The code for making a drive message when they are trying to express would be similar, but instead of getting the verb and noun, you'd want to get the creatures name and the highest drive.

Feel free to pester me with private messages with any additional problems/questions... I'll be happy to help with anything you need.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
Tarilithina

Tarilithina


 visit Tarilithina's website: Miscellaneous Creatures Stuff
  4/17/2014  1

Ah, I see, thank you. That seems pretty simple. I think I'm going to play around with this a bit and see if I can come up with something workable.

Hi!
 
evolnemesis
Code Monkey

evolnemesis



  4/17/2014  1

Yeah, I'd start off with just seeing if you can make an agent mute only your breed selectively.. just leave the "soul 3 0" in between the doif and endi... then once that works you can add the speech bubble stuff

If you mess up and the script somehow makes the wrong creatures mute, you can let everyone talk again with the following command at the command line:

enum 4 0 0 soul 3 1 next

hmmm that gives me an idea... a 'silence button' agent... it just mutes everyone in the world when you click it, then you can click it again to let them talk again.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
Tarilithina

Tarilithina


 visit Tarilithina's website: Miscellaneous Creatures Stuff
  4/17/2014  1

Alright, then. Thank you! I'll try that first. It's always nice to have a way to check for bugs. [nlaugh]

Hi!
 
evolnemesis
Code Monkey

evolnemesis



  4/18/2014  1

Here's something I just figured out making an agent that talks... the following code will let you call the regular speech bubble agent the game uses, to make any agent 'talk'... assuming that:

targ = the creature/agent you want to show a speech bubble for
va01 = the message string you want it to 'say'

* set a reference to the speech bubble factory agent

seta va02 ncls null 1 2 10

* if it's there, send that agent a message 126 (creature spoke) with the string va01, coming from targ, with a delay of 0 ticks

doif va02 ne null
mesg wrt+ va02 126 va01 targ 0
endi


Although, you might just want to copy the speech bubble factory agent code (it's in the DS bootstrap folder, called "DS speech bubble factory.cos" ), and make your own 'thought bubble' agent or script (as I mentioned, there are actually thought bubble sprites in the "speech_bubbles.c16" s-rite that the game uses, they just aren't used by it normally; but you could definitely make your version use those thought bubbles...) This way, you could have your speech bubbles behave or look however you want without having to write most of the code.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 


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