Tested both apps on Windows 7 x64, both load fine and did not crash during my brief playaround with them.

I was able to import s16 sprites in the SpriteBuilder, but couldn't figure out what to import into the Map Editor. Both s16 and spr files from C1 and C2 complained about not having the correct headers.

I had no idea this project existed, but I'm excited by your progress with it! What are some of the key things you aim to differentiate this updated version from the classic Creatures games?

I do find the animation rather weird, almost ragdoll-like. But maybe the weirdness will be worth it for more versatile content creation if this ever gets to a level where it can compete with the current creatures games.

"My blog is currently the best way to see activity from me these days."

GimmeCat wrote:Tested both apps on Windows 7 x64, both load fine and did not crash during my brief playaround with them.

Thanks!

GimmeCat wrote:I was able to import s16 sprites in the SpriteBuilder, but couldn't figure out what to import into the Map Editor. Both s16 and spr files from C1 and C2 complained about not having the correct headers.

The background files of C1/C2's headers indicate that all images are of size 150x144 and that there are 464/928 of them respectively. If either of these conditions is not met you get the header error.

GimmeCat wrote:I had no idea this project existed, but I'm excited by your progress with it! What are some of the key things you aim to differentiate this updated version from the classic Creatures games?

To name a few:
[list]
[*] the end result should have a lighting engine
[*] metarooms each have their own coordinate system, so there's no chance of conflict
[*] creatures are diploid, eliminating the slider bug, and making it possible to use XY sex determination instead of genes set to male or female
[*] creatures size can change according to a receptor locus for smoother age transitions
[*] creature movement is controlled by the physics engine, so they should be able to jump and bounce and so on.
[*] objects can freely rotate and scale
[*] sprites are all designed for high DPI monitors
[*] CAs for heat and humidity should be using a real fluid dynamics approach, (this is harder than it sounds, I can't determine what exaclty makes any implementation not go through walls)
[*] I'm hoping for fluids more like rayman-origins style
[*] gravity is controled by an object called a 'physical zone', so you can reverse gravity in the metaroom if you want to
[*] all metarooms can call connect() with another metaroom and join together, this is also used to make ring worlds ala C1 (doesn't seem to work vertically yet)
[*] Neural networks now use a combo of C1/C3 and HTM, which should make it possible for norns to learn sequences of actions and think about what they're going to do.
[*] Chemical reactions now have 4 reactants and 4 products
[*] Chemical receptors can no longer bind to reaction speeds
[*] The VM uses jewelscript instead of CAOS
[*] The program is multithreaded, so it should run better on newer computers, where the current creatures has slowdown from so many agents. I'm thinking that in the original games the game would draw sprites by copying data from the sprite file to the frame buffer. This explains why the RAM requirement was so small compared to the size of the backgrounds, why the rotate/scale commands do nothing, why cameras are so slow, etc. This means the game was ultimately limited by hard drive speed, not CPU speed, so it wouldn't be running better on newer machines. I still remember how I could never run terra because it would make the game so laggy.
[*] The Creatures biochemistry and neural networks are stored in a seperate library i made (available free under the MIT liscence), so you should be able to replace it if someone makes a different implementation of neural networks that is better.
[*] I'd like to implement something like LoneShee's Netures ( http://sheeslostknowledge.blogspot.com/p/blog-page.html ), but I probably won't ever get to that =/
[/list]

C-Rex wrote:This is awesome! May I ask why the animation for the norn runs a lot smoother than the regular creatures games?

Because the old games updated the limb rotations every .5 seconds, mine updates the animations 32 times a second and should render at 60fps so the hand doesn't feel laggy. Basically I'm using the pose genes as targets for where the limb should be every .5 seconds and adjusting the rotational velocity accordinginly to meet that target.

Doringo wrote:I do find the animation rather weird, almost ragdoll-like. But maybe the weirdness will be worth it for more versatile content creation if this ever gets to a level where it can compete with the current creatures games.

I noticed that too, it's really hard to get life like movement, at this point I'm unsure of if it's because of the pose genes or a bad interpolation engine; but using the orignal pose genes puts it into the realm of the uncanny and offputting for sure.

I actually didn't find the animations that weird, though I would appreciate seeing more than just "take a step" and "swing right arm" animation before judging it. I think the real uncanny valley challenge would be when the Norns do the thing when they try to pay attention to too many things in a short amount of time or the thing they're looking at swings around too quickly.

I would like to repeat the "this is really awesome! Keep it up!" sentiment going on in the thread.

I do find the animation pretty cool - the animations featured in the old games do seem rather dated, especially C2, which seems to run a lot slower than C3/DS. The idea of a Rayman Origins-style water also intrigues me - will Norns be able to float when they're in water now, or will they sink to the bottom as they do in the other games? I find the latter pretty unrealistic.

Brynn wrote:I actually didn't find the animations that weird, though I would appreciate seeing more than just "take a step" and "swing right arm" animation before judging it.

Those are the only ones that exist, I have to manually enter in all the pose information because the old and new systems are so different, I'm trying to get it running on windows now so I can post a version where you can cycle through the poses and people can put them in for me while I program the CAs and stuff.

C-Rex wrote:The idea of a Rayman Origins-style water also intrigues me - will Norns be able to float when they're in water now, or will they sink to the bottom as they do in the other games? I find the latter pretty unrealistic.

Uhhhh.. It depends how fat they are? Objects have a variable for how massive they are and how much volume they displace, and fluids have a variable for how dense they are, so things should float if those varaibles are right. But I don't know what they'll be set to for creatures, or how to make genetics affect it. But I've seen very skinny people that are able to sink to the bottom of a pool and walk around, because mostly people are boyant from fat, so genetics should affect it somehow. Something to be worked out.

I like the smooth animations. I think improving them would be largely a matter of adjusting the physics engine. The languid, 'floaty' feeling they currently have is the sort of movement that makes me imagine the gravity isn't high enough and/or the friction on the limb joints is too strong. Speeding them up and making them heavier on their feet would go a long way to improving the realism of their movements, IMO.

That's all probably a very low priority at this point, though. Initial implementation is more about just making sure the system works at all; fine tuning stuff comes later on.

I'm really excited about this! Those features you listed sound fantastic, especially the fluid dynamics and improved neural network stuff.

I don't know what jewelscript is, but I imagine it's much more powerful than CHAOS? Is it still relatively easy to learn for those of us who aren't very code-minded?

How many CAs are there? There's currently not enough CAs for all the categories to have their own scent, not with heat, light, and water being CAs-there's 2 spare CAs and 3 agents that each add their own CA for flowers, toys, and critters/bugs respectively.

If you're taking suggestions... something I've wanted in a Creatures game ever since I started playing was for creatures to be able to recognize individual object species, on top of the genus they belong to. So a creature would know all toys are "toys", for example, but it would also be aware of beach balls and spinning tops as different kinds of toy, and could maybe learn to favor one over the other.

In C3/DS it is not really used, but recognizing blood relatives is theoretically implemented. Only problem is that all gen 1 creatures are considered siblings, so you must do some splicing before it functions right.
I believe there was a variant of CFE, the CFE Family, which would use this knowledge to prevent incest.

The animations do look a little weird, but weird does not necessarily mean bad.
Also, in the video you mentioned monetizing the game to some degree. If you do so, I would highly recommend to use custom graphics sets, and not C1 and C2 recycles.

FaerieHawk wrote:I know in the PS1 games a norn that came across young norns would smile at the camera and then pat the little one's head. I don't remember seeing that behavior in the creatures 3 games I play.

That behavior is definitely hard-coded. I don't think it would be possible to recreate it in C3/DS, but it would be cool to have adults petting younger creatures in this new game.

I don't know what jewelscript is, but I imagine it's much more powerful than CHAOS? Is it still relatively easy to learn for those of us who aren't very code-minded?

Initially I wanted to use python but it was too hard to link in; it's more powerful than chaos, but also I don't have to write a scripting engine, those can take years for a team to write. http://www.jewe.org/
The only problem is that commands like wait and over are simply not possible in jewel, and a command like while(1) {} will make the engine lock up. I instead have a function to schedule a function to run after an animation finishes, rather than waiting for it then continuing the current script. This makes thing like decisions scripts very impractical in jewel.

Wingheart wrote:How many CAs are there? currently 32, and 34 catagories of things.

BlocklockCity wrote:If you're taking suggestions... something I've wanted in a Creatures game ever since I started playing was for creatures to be able to recognize individual object species, on top of the genus they belong to. So a creature would know all toys are "toys", for example, but it would also be aware of beach balls and spinning tops as different kinds of toy, and could maybe learn to favor one over the other.

That isn't possible, the RAM requirement for any neural network increases exponentially as the number of neurons increases linearly. So you'd be talking 1 GB of RAM per creature for that, and maybe 10 seconds for a brain update.

FaerieHawk wrote:Is it possible for a norn to recognize its own child? At least for as long as it's a baby through child and react to it accordingly? Heck even just acknowledging little ones in general.

There is a neuron lobe in C3 that would fire if the creature currently being looked at is a child of the creature, or a young one. But that didn't work. I can copy that functionality, but as referenced above, that's the best I can do, if it didn't work in C3 it probably won't work in Kreatures though.

FaerieHawk wrote:I know in the PS1 games a norn that came across young norns would smile at the camera and then pat the little one's head. I don't remember seeing that behavior in the creatures 3 games I play.

In the PS1 game the norns didn't use neural networks, they were basically markov chains. (https://en.wikipedia.org/wiki/Markov_chain)

Papriko wrote:If you do so, I would highly recommend to use custom graphics sets, and not C1 and C2 recycles.

Those are just temporaries while I get it running, but I have no skills of an artist so I'm not sure what I'll do about that.

No, this includes that but is not that. libFreetures has the genetics loading, catalogue, biochemistry, neurochemistry, neural networks, pose/gait interpolation, and mating algorithms. It does not include the graphics, scripting, user interface, physics, collision, etc.

It depends how fast the CA calcuations are when I get to benchmarking them.

Doringo wrote:Also will norns be able to distinguish unique objects to an extent? Like learning that lemons are good against histamines but not confusing them with apples.

No, I referenced this earlier in my reply to BlocklockCity, but adding new catagories is trivial, the catagory of an object is an integer, if it is 0 or less the norn can't see it, catagory 1 stimulates neuron 1, 2 stimulates 2, etc. So it's no problem to add more than the given 40. It would be possible to add a lobe that allows for things like that but the norn would only know that the lemon provides histamines after choosing to pay attention to it over the apple, and he couldn't learn a word for it.

Bifrost wrote:Would it be possible to split the head sprites into several individual parts? Like eyes, ears, hair and appendixes like horns as separate sprites?

C3 has hair and ears as seperate from the head because it shares the same game engine as CV/CP, similarly you can have norns wear clothes, so it would be possible to add wings to norns if they have a certian chemical or something. But no one does this, so I don't see much of a purpose in implementing that if no one seems to want it that bad...

Bifrost wrote:Also, when the program knows to mirror certain images, like in the head sprite, is it possible to override the mirroring, like if you have certain features on only one side of the face?

In the sprite file i showed the image that was a mirror was blank, it wasn't a transparent image, it was something that said it was an image then didn't have one. This means that the engine can't load the image and causes it to look for a mirror. So yes, you override the mirroring by providing the opposite view.

C-Rex wrote:Out of interest, will there be physics within the engine?

I mentioned before that I wanted to use navier-stokes to simulate heat/humidity, etc; navier-stokes is the equation used to forecast the weather. Does that answer your question? I've also been looking at this: https://www.cs.utah.edu/~shirley/papers/sunsky/sunsky.pdf

As a side note backgrounds can be transparent, and you can stick stuff behind them by giving them a negative plane, so you could implement a parallaz effect if you really wanted too. I might include a parallax component if it just turns out to reuse code from audio panning.

C-Rex wrote:Or even water physics? I'd love the idea of bringing barren areas to life by dropping water into dried up ponds to restore them.

I love how you say 'even' like that's the easier one. Water physics aren't difficult but they are very computationally expensive, I can only get away with navier-stokes because it's grid based. That's why rooms now define collision geometry rather than places norns can be: it allows the grid for the CAs to be uniform, all 64x64px. A simulation like you're saying would be 1x1 px grid, which would be impratical without GPU acceleration at the very least. And even then more than one metaroom really wouldn't be possible. It may be possible to fake that kind of thing in engine, by adding and removing fluid objects; moving the top of a water object up and down, but that wouldn't be part of physics no.

I think a lot of the reluctance towards using hair and ear sprites in C3/DS has to do with how all existing breeds have these fixed onto the head. Adding a breed with separate hair and ears would cause double sets of ears and hair when they breed with the old breeds, just like the C1 breeds in C2 and C3/DS get double tails.

As far as sprites are concerned, you can use anything I've made, at least until you find something you really want. <g> I also have a couple unfinished projects that have more basic utilitarian items, eg. apples and carrots.

As far as sprites are concerned, you can use anything I've made, at least until you find something you really want. <g> I also have a couple unfinished projects that have more basic utilitarian items, eg. apples and carrots.

IF i monetize it, the most likely scenario is $15-$20 for just the engine, and I'll work with developers during development to make some metarooms/creatures, but they wouldn't be included in the cost. As much as I'd like to make a few metarooms, I think I'd overextend myself and just never release anything if i tried to make a release including norns and objects and metarooms, etc.

More specifically I'll be releasing pre-alpha builds with things missing, e.g. a version with biochemistry/neural networks paused, a version with no mating scripts, etc. Ergo you would need the to buy the full version to actually play, but would be able to dev fine without it.

So speak up if you're interested. I can make alpha builds for linux currently, and I've been trying all week to get it going on windows, but Wx keeps having linker errors, might need to release the first pre-alpha still in Qt.

Bifrost wrote:Have you considered some sort of online fundraising for the project? Like Kickstarter or something like that.

I tried to set up a patreon once but I couldn't figure out how to actually get money out of it, there didn't seem to be a place to put in paypal information...

Bifrost wrote:And are you planning on doing everything yourself, or are you looking for a team?

I only intend to do the engine itself. If you run into any trouble you know, AMA, or tell me if you want a new feature like 'I want to change the color matrix used to render the background' I'll get back to you on the practicality of it and if I'll do it. but I wouldn't be directly involved no. If you want to call that a team you can.

The backgrounds should be 2x the size of the original game's for high DPI monitors, I would recommend scaling up with super-Xbr, as the map editor can't do this yet.

If you're going to do regenesis, I would recommend removing the sky and having a sky texture placed to float relative to the main camera, and put it behind the background, that way you get a parallax effect. Additionally this will cut down the file size and make it load faster.

I've been looking into a way to generate clouds in engine, but so far come up with nothing, most things are for 3D engines, or exclusive to cumulonimbus clouds, and cirrus clouds have no good generation...

How many layers can you have to handle parallax effects? This is something I've really missed in the previous games. Would it be possible to make one rather small sky backdrop, and then have world backdrop with mountains (and the purple temple and things like that) closer to the actual world size? I believe I have the background saved with at least three layers, sky, mountains etc. and actual world. And I'f I've been dumb enough to overwrite stuff, I should be able to get it back.

About resizing, is super-Xbr very different from the tools Photoshop uses to scale up images?