—    —  Home

   jamesprimate on December 30, 2015, 10:40:27 AM:

The scavengers could communicate visually using glowing antler tips. Shocked


This one is in idle/think mode.

I think you guys are stuck in Christmas lights aesthetic  Cheesy

RW HI Map3 beta151222
Why do you keep naming your videos like that? It's kinda hard to find a specific one. It would be infinitely more helpful if it had  at least a date in the title, let alone a proper name.

The 151222 in the title is the date actually: 2015, Dec 22. It relates to the build version that we are working with. I def see your point, but until the builds are where we want them to be (i.e. done) is prefer the alpha /beta videos to be hard to find. You'll notice that all of the videos are set to "unlisted" as well for this very reason. We're close, but not there yet! When it's properly finished I want to to some proper flashy vids to hype and don't want people seeing footage from "random alpha build version 7485737" when they search for it.





   JLJac on December 30, 2015, 01:41:17 PM:

Update 501

Scavenger climb behavior!



They can switch between an arm walk and just climbing along the pipes. The one where they cling close to the pipes is fairly standard Rain World animation - they basically just swoop along the path like a car on a road, and then the limb movement and some cosmetic wiggling is added on top to make it look a bit more like animal locomotion. Same as the lizards. The arm walk is a bit different because it requires the path finder to use something else than the critters body as a reference. As far as the path finder is concerned, the critter "is" at the hand grabbing the pole, and from there it picks a path, finds a new grab position within reach along that path, and swings forward to reach it.



The trouble was of course transitioning between the two, but I think I've got it down now! The decision procedure has a bit of a bias away from the arm walk, as the standard animation is intended to work in all situations whereas the arm walk is really bad at anything vertical, and horribly bad at anything that has to do with maneuvering into a small opening or similar precision work. For long stretches of horizontal pole the arm walk will generally kick in though.





   JLJac on December 30, 2015, 01:59:29 PM:

Have to say, the scavengers turned out really great. The variety is amazing, definitely looks like its shaping up to be one of the most memorable encounters in the game. Will it still glide? Please tell me I get to pick a variant for the concept character poster haha...

You're the backer? Thanks for the awesome creature concept  Hand Thumbs Up Left Smiley Hand Thumbs Up Right

The gliding wings was in my sketches, but hasn't made it into the game. The main problem is a technical one that has to do with path finding. The entire room is covered in a system of invisible "connections", and each movement requires a connection. So for example, every place where you can drop from a pole to a floor below it has "drop connections" between the corresponding tiles.

For this reason, basically no creature in Rain World except from you (who is player controlled, not path finder controlled) can jump. Many can fly, which is no problem because it's just a matter of following "neighbor connections" between the air tiles, and a few can sort of lounge along the ground, but no proper jumps. Gliding would go into that same territory of the jumps, where the problem is that each starting point has a potential infinite destination points on the map. Mapping that out would take super long, and then memory would get really bogged down with all the connections that are barely every used, slowing down the pathing. The other big issue is getting the creature to actually end up on the destination position, which is quite difficult when you have several seconds moving through the air with the super chaotic physics of several body parts pulling at each other in all sorts of directions.

So, as it stands I don't know how realistic gliding would be. Potentially it could be added as a thing that is sort of outside the path finder - so they wouldn't be able to actually figure out a path including a glide or jump, but in an action situation they might be able to identify a jump or glide opportunity and go for it, for better or worse. I'll have to ponder on it a bit! As the gliding would be sort of a secondary ability, I've focused on getting them to work without it first, and then the potential to add it in later will always be there.





   JLJac on January 01, 2016, 01:33:22 PM:

Yep, I'm into the idea from the art perspective - that's why it made it to the sketches - just a bit sketchy about the technical implementation. We'll have to see how it goes!

Happy new year everyone! THE YEAR IN WHICH RAIN WORLD WILL BE RELEASED!  Tears of Joy Tears of Joy

Update 502

Finishing touches to scavener locomotion. Made it able to swim, and worked quite a bit with making it not get stuck, a standard problem for RW creatures that I've dealt with quite a lot before, so I have some go-to solutions by now.



The first problem is to identify when you're stuck. I do this by collecting a rolling list of the creature's position each frame - every frame it plops in its position in the first position, and deletes the very last position. Then, also every frame, it goes by all the items in the list and checks how many of them are within a certain distance of the critters current position. If you're moving that trail should be behind you, but if you're stuck they will all be up close.

When you know that you're stuck there are a few measures you can turn to. One is to stop applying certain forces to the chunks that are supposed to keep the critter in the right posture - such as the force pushing the upper body up and the lower body down to keep you upright. That sort of stuff is a common reason why you're stuck.

As the critter is stuck, a counter is increasing. The higher it goes, the more desperate measures I will take. After a while I shrink the collision boxes of the character in relation to the terrain, for example. Another common thing is that the creature will just try to get in the direction it's getting but harder , ie applying more force in that direction. After a while most creatures will start to wiggle and shake, lots of random forces in different directions tend to shake them lose - but this obviously does not look too pretty, so I apply it pretty late in the "stuck cycle" so that the creature will properly have depleted other options first.

No gif of this stuff, as it looks pretty horrible  Wink It's not supposed to be how the creature generally looks, but more of a desperate last resort when they are positively stuck - which they always will get one way or another in this chaotic environment. At the end of the day, it's looks much uglier that the critter is indefinitely stuck in a corner (as those of you who have played with the alpha vultures might now) than if they wiggle a bit unnaturally and then get lose and can continue doing their thing.





   jamesprimate on January 02, 2016, 11:59:53 PM:

Are lizards naturally competetive or  is that just a specific trait of those two lizards? Also, are the pink and purple lizards seperate species or are they still just variated colors in the "pink" lizard species?

Certain breeds are more competitive than others, but not all. Some work together! Creatures can squabble for any number of reasons, over food, territory or just being annoyed with one another. The breeds have certain tendencies, but each individual lizard also has its own unique personality blend that makes it behave slightly differently, plus being informed by whatever experiences it's had. If it's been injured or threatened by a creature before, it might act more aggressively or more fearfully depending on its personality, etc etx

Joars gotten a bit of that in the alphas and betas, but we plan on going quite a bit further with it still, should be a lot of fun once were there!





   JLJac on January 03, 2016, 12:09:17 PM:

So exactly how smart is that thing? Tool user? Able to use the interaction between species to its advantage, like the slugcat?
We want to keep it somewhat ambiguous, same as with the slugcat itself. The idea is that it's sort of your peer in this world - where most things are either dumb animals or like, a brain tree, this one is on your level. It's extensively tool using and nimble with spears... it might even have something to do with the handy pieces of rebar cut in a convenient length and sharpened to one end that are scattered everywhere... but it's getting spoilery in here so I better keep quiet  Wink

Are lizards naturally competetive or  is that just a specific trait of those two lizards? Also, are the pink and purple lizards seperate species or are they still just variated colors in the "pink" lizard species?

It varies. Some species actually hunt each other for food, and they don't get into territorial disputes but engage in chase and flee behaviors. For the others all of them have the squabble behavior, but are differently prone to it, and most noticeable differently prone to getting into fights with different other species. Most are the most antagonistic towards lizards of the same color, presumably as those are viewed as the most immediate rivals. Pinks and greens are kind of notorious, whereas the whites are more chill and passive.

Pink and purple are just variations on the pink subspecies. That particular one might have a bit too broad color range, it's come up a few times that people interpret them as different - easy to fix though!

IGN. PC Gamer. Rock Paper Shotgun. It's great seeing Rain World being noted as a 2016 game to look forward to by big sites
That's awesome!  Grin





   JLJac on January 04, 2016, 07:35:30 AM:

Finally a question I can answer haha!  Cheesy

The number of sprites in the head varies depending on the specific antler setup. A typical scavenger head is built like this:

the head base, a simple oval
teeth, a polygon mesh
antlers, multiple polygon meshes
base eyes, simple ovals
some of them have pupils or "deep set eyes" where the eyes are drawn with two ovals in a way that makes it look that they have a "rim" and a "bottom surface". In those cases these details go on top as another set of ovals.


(Example of the "deep set eyes". If you look closely you can see that they consist of two colors - one almost white and the other yellow. This is handled like a pupil, but one which is fixed to always look in the opposite direction of the head's direction - giving the impression of a slight incline rather than a bulge.)

The antlers are drawn as lines. The vertices of the lines are sent through a rotation script, that contrary to the Rain Deer antlers doesn't apply any actual 3D rotation, but rather just rotates them around the Z axis and/or squashes them in the X or Y dimension, when the head is seen in profile.

As the head is changing direction the eyes are moved accordingly - and when the head is nearing a side view one of the eyes is squashed along an axis perpendicular to its rotation. In the full side view, that squash is complete and the sprite has a width of 0px, making it invisible as if it was on the opposite side of the head.

The neck is also drawn as a line along a number of points, similarly to the antler sections. It has a gradient between the body color and the head color, unifying the two.





   JLJac on January 04, 2016, 07:47:50 AM:

In other news, James just sent me the refurbished version of Garbage Wastes region, and it looks amazing. The palette work is magnificent, and now the garbage piles has huge machine parts resting across them at odd angles - it really invokes an awesome sense of mystery about what the hell those machines are and where they come from. And you get to find out! As the waste collection area of the RW industrial complex, many parts and pieces from other regions have ended up here and are rusting on the heaps, so running through this region you will get little tastes of environments to come. This is of course also an economical design decision, as it allows us to use assets already created for other regions, but we also think it's a pretty awesome part of the player's experience.

The visual lift this region has gone through is outstanding. I'd even say that it's on the level of, or perhaps surpassing, that of the Suburban polish pass, and that is saying something! James' skill and to some degree tool box has expanded greatly since his last touch on this region, and that really shows. Super excited!





   JLJac on January 04, 2016, 08:39:13 AM:

We've made the slugcat's breath meter less confusing a while back. It used to be based on two float values - one that was the amount of air in your lungs, and one that was a "lung exhaustion meter" that would go up if you where at a very low amount of air. The exhaustion would make your lungs deplete faster, and not regenerate until you had filled the lungs 100% again. All of this invisible... Of course it was impossible to play with.

The new system has the lung exhaustion meter still there (it's needed so that you can't play an air creature, eg vulture, infinitely by just popping in and out of the water) but has made its state binary, and a little more forgiving. Also some other changes were made... It's a while ago. I think that previously the water would instantly kill you, but now there's a state of unconsciousness first where you have a chance of floating up to the surface and making it. Anyhows, it has cleared things up a little bit. That dive there is still in and VERY difficult, but possible. Otherwise the underwater death traps seem to be all taken care of.





   JLJac on January 04, 2016, 03:44:15 PM:

Thanks! Yeah no-one seem terribly enthusiastic about the pupils, so maybe they'll go out, or change shape somehow.

Update 503

The scavengers are going to have access to a system of tunnels that only they can use and which will allow them to travel across the region. The idea is that they will feel omnipresent, able to show up and disappear at a whim. Like ninjas! This means some technical work on my part though, as a new node type and the corresponding behaviors need to be installed. Been working my way through that today, and it seems to be working! Having some difficulty setting up a proper test environment though, so might need to wait until James has installed those "scavenger nodes" in a region for the final verdict. Looking pretty hopeful though!

Working with the scavenger nodes I finally found out what was causing an old bug where creatures would mysteriously disappear in abstract rooms. Really good to have found that problem, but the roots of it seem to go somewhat deep, so wasn't able to sort it out immediately. At least now I know where it's lurking!





   JLJac on January 05, 2016, 02:19:33 PM:

Yep, I now changed it so that the black pupils are very uncommon, and pupils in general are kind of uncommon but if they occur they're mostly colored. I always hesitate to right out throw a individualization feature out if I can just make it rare, because the individualization takes some priority over every single individual looking super good in my book. If they are to be distinguishable some of them need to be out on the extremes and might end up goofy looking, and I'm actually more okay with that rather than all of them looking the same. Hell, in real life there are a few goofy looking dogs, horses and humans  Wink

Also I'm not all too opposed of the goofiness itself. As we've talked about a few times before (pretty long ago by now I realize) the art style is supposed to have a cartoony element, and some individuals might channel that more than others. Rain World might have some grim moments, but it's not DOOM (I love DOOM btw, best thing ever, just that I'm going in a different direction) and not every creature is supposed to look like a dark grim meany. Rather, the charm as I see it comes from a bit of a sweet/sour clash of styles where both the cartoony and the relentless is present. Tom&Jerry meets Darwin, so to speak. The grim aspect seems to be what people notice about RW because it's not as common in other media I suppose, but RW is not only horrible and grim, it can be pretty funny too! Such as when a white lizard misses you with its tongue and ends up dangling from a ceiling, etc. So yeah, a little bit of both.

Update 504

Working on scavenger AI! They now have a super rudimentary idle behavior similar to that of the lizard, which I want to expand a bit on when they are more generally functional. Also I've started on an attacking behavior, where they will chase you if they have a spear or other weapon, and otherwise they will go retrieve a spear or other weapon - seems to work nicely!

One interesting aspect of their AI is that they will have a bit different personalities. I've gotten started on that already, by generating a personality type for each individual. The personality consists of three base stats and three derived stats. The base stats are completely independent of each other, and may thus appear in any combination. They are

Sympathy
Energy
Bravery

From these three more stats are derived. Those are

Nervous (high energy, low bravery)
Aggression (high energy and bravery, but low sympathy)
Dominance (Depends on energy, bravery and aggression)

The derived stats are heavily influenced by the base stats, but there is a little window for them to fluctuate and define their own value randomly, so occasionally you might get an off-shoot.

These stats already feed into the behaviors of the scavengers a little bit, and will have a heavier influence when I get to the more intricate behavior. For example, a nervous scavenger will have a hard time sitting still while idling, and will twitch and look around itself all the time.

Also it was low hanging fruit to feed these into the cosmetic appearance procedure, so now their looks depend a bit on these different stats. The cosmetics are allowed to fluctuate randomly but will gravitate a bit towards certain values, so while you might get the occasional lazy+skinny individual it will be more common to get lazy and chubby ones. Dominance has an impact on antler size and general body size, mean ones are more prone to the narrow pupil-less slits for eyes etc.

I didn't want a super obvious disney thing  where you see Scar in the beginning of the Lion King and go "gosh, I wonder who the villain is" so I've allowed for quite a bit of random fluctuation - it's just a subtle influence. Personally I can seldom tell from looking at a scavenger what it's stats will be, maybe with the exception of the dominance one which has some bigger influences. But maybe it will give you some little subliminal vibes when playing.





   JLJac on January 06, 2016, 02:42:35 PM:

Will the appearance/personality synergy also affect other species?
Maybe in some future polish pass!

That sounds amazing! Do the Scavengers have a voice yet? From what I remember reading ages ago, the voices also were individualized, though I can't recall if they were determined by the stats of the individual, or just randomized.

I really can't wait to see more of RainWorld. Great work!
I think they will be quiet actually!

Update 505
Boring technical work. Getting scavenger path finding to work, and brushing up some creature interactions in GW. Also making the items scavengers carry spawn on them properly, which has been (and might still be) a pretty nasty problem.

Here's a funny gif to compensate!






   jamesprimate on January 06, 2016, 03:25:46 PM:

i like this gif a lot for some reason





   jamesprimate on January 06, 2016, 03:42:32 PM:

just a snail, nothing special. joar is giving them a little polish since they play a bit more of a role in the new Garbage Wastes update





   JLJac on January 07, 2016, 02:39:33 PM:

Haha I just said they'd not be very talkative, don't get where you guys got the ghastly demon presence from  Who, Me?

Update 506

Afternoon hangouts in Garbage Wastes!



Working on idle behaviors. Still not all the way there - they seem a bit too mechanical, some organic component is missing. It's probably that they need to be aware of each other in their idle behavior - currently they just pick whatever spot they want to sit in and bulldoze any friends that might be in the way. Also the movement might be a bit too regular - stop, run, stop, run. Little touches!

At least I'm pretty happy with the rummaging behavior - you might see some of them doing little hand motions as if they're looking for something in the trash heaps.

Still not done by a long shot but moving along. Stay tuned!





   JLJac on January 07, 2016, 03:38:52 PM:



There, that's a little better. Has more chill.





   jamesprimate on January 07, 2016, 04:31:52 PM:

Garbage Wastes and chill





   JLJac on January 07, 2016, 05:02:18 PM:

Thanks! They'll generally appear in lose packs, distributed across two screens or so. They gravitate a bit towards the pack leader, but also don't want to be too much up in each others' grill. Their idle behavior saves a log of the last 10 positions they've been rummaging at and avoids those when picking future spots, causing them to sort of slowly sweep over a large field room like this one. Brave individuals tend to explore more, whereas more nervous ones prefer to stick to the pack.





   JLJac on January 08, 2016, 01:05:11 AM:

Garbage Wastes and chill
Cheesy New year, James! New year!





   JLJac on January 08, 2016, 12:57:38 PM:

Yep, they're looking for something and I think I have an idea! Don't want to promise anything though, and as that would be cosmetic polish the functional behaviors are prioritized for now.

Update 507

Old meets new! Scavengers have learnt to throw spears (and rocks, but they will use spears if they have them).



Scavengers don't actively try to kill vultures, but vultures try to eat them and their fleeing behavior includes throwing whatever weapons they have at what's chasing them. This should be tiered a bit - they shouldn't use lethal force when not in lethal danger, and from you they might "flee" but that will be more about them being uncomfortable with you than deadly afraid, and they shouldn't hurl spears as they go (unless you really corner them, perhaps). The vultures however they know all to well, and they'll do whatever it takes to stay alive.

I'd also like to make it so that defensive violence can turn into aggressive violence if they feel that it's going well and become enthusiastic about it - depending on their aggression parameter of course. First though, the base behaviors need to be in place.

A pack of scavengers can output a really impressive cloud of spears, their damage per second puts you thoroughly to shame. As each scavenger can carry many spears and there are many of them, you sometimes see a poor vulture getting blasted by a full broadside bombardment from some vertical structure they're sitting on, actually killing the thing. Me myself has managed to kill a vulture maybe a couple of times, and never without cheating in one way or another.

Another thing you can see in the gif if you look very closely, is a spear shifting hands. The green-eyed brown scavenger which is caught by the vulture in the beginning of the gif has many spears. When it rendezvous with the grey, black headed scavenger with long horns and a porcupine back, you might notice how it gains a spear, which is later thrown at the purple vulture - the last spear thrown in the gif.

I generally imagine the scavengers as sticking to a finders-keepers ethic; the whole joy of scavenging depends on that if you find something, its yours. However, if one scavenger has more than one spear and its pack member has zero, the game might do a roll between the spear owner's sympathy stat and the perceived desperation of the situation, and the spears might be distributed. In a very dire situation it generally serves the greater good if everyone is armed, as they sometimes manage to save each other.

As I get into their aggressive behavior I also want to make brave individuals sometimes actively go in for a rescue operation.

Speaking of aggression, I do have a little bit of that behavior set up already, and have tried to aggro one of them on myself in a death match sort of situation. Man... These guys don't play around.



It's not easy to survive a scavenger hellbent on killing you. They collect spears, and they hit you with the spears, no mercy.

It's important to say though, that in the game the scavengers won't act as "enemies" with nothing in mind but your destruction - rather they will probably never throw a spear in your direction if you're a little smart about it. They'll generally just try to get out of your way, and if you get really annoying they might hit you with a rock to show you what's what. If you however dedicate yourself to making enemies with them, you might be able to slowly crank up the hostility to something like this. Congratulations, you have effectually broken your save file by making the game mind-numbingly difficult! The idea is that this should by no means happen by accident though - that would be if you spend several cycles murdering scavengers, in which case you kind of had it coming for you  Evil