Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411283 Posts in 69325 Topics- by 58380 Members - Latest Member: bob1029

March 29, 2024, 03:45:36 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsProject Rain World
Pages: 1 ... 101 102 [103] 104 105 ... 367
Print
Author Topic: Project Rain World  (Read 1421903 times)
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #2040 on: September 22, 2014, 06:12:59 PM »

KillForFun

joar turning the brutality up to 12
Logged

JLJac
Level 10
*****



View Profile
« Reply #2041 on: September 23, 2014, 01:14:49 AM »

A quick question that popped up: How do the blue lizards react to the green ones? Did you make them afraid of green ones by default, or do they realise that they are being hunted and then register the hunter as a threat? Or maybe they are just completely oblivious to the fact that they are about to be eaten?  Shrug

I also loved the lizard backing up when he suddenly sees the slugcat below him in the reverse rain world gif! The way you handle the AI makes the creatures feel truly alive!
Thanks! That specific relationship is pretty much just me testing the system by this point, I don't know whether it'll make it to the final game. It might though! Or maybe green lizards could become aggressive towards blues if they're competing over prey. In any case, the creatures are going to know what other creatures to watch out for by default. They've been living in this world a long time, so they have a hunch. If they'd have to actually figure out what's dangerous and not, they'd not really stand a chance - because they're unable to see through walls they'd spot the threat as it was currently charging at them, and wouldn't really have any time to draw conclusions. I guess that the same rule as in actual nature could apply though: if something is bigger than you, get out of there!

Sounds really cool.

Are multiple lizards of the same color able to hunt cooperatively? For example not choosing the same path and/or keeping a constant distance to each other?
The yellow lizards (not in yet) have cooperation as their trait, the others are rivals with varying hostility towards each other.

I must admit that I haven't read all of the 102 pages, but just wanted to say that I really like the style of this project. It looks awesome and, judging from the gifs you're posting, has a great feel to it. Any chance to get an ETA on when this game will be released? Smiley
Thank you! No exact date yet, James and I need to pin down some design choices first!

Update 313
Got a utility based AI system up and running, with a little class keeping track of each utility level, multiplying it by a strength, etc. Seems to run pretty well! Also made it so that you can give it a bias to continue the current behavior, and a function that compares all utilities and returns the highest.

One problem I ran into today was this - I want the Fear parameter to tick down slowly rather than just drop as soon as the creature is out of the threat's immediate proximity. It makes sense to continue staying away for a bit, right? The problem I encountered is that even very minor threats (say 0.2 on the "how afraid am I of this thing"-scale) should be able to cram the Fear meter up to max if they're very close.

You might be more afraid of bears than wolves, and that should make a difference if you spot either creature on a distance. If you walk around a corner and end up eye-to-eye with either animal the difference in shock and panic wouldn't be very big though.

I have something like this in - the threat alert divides with an exponential of the distance, making it so that a threatening creature has a large blob of super scary tiles around it, while a less threatening creature is only really scary in its immediate neighborhood.

The problem is that if the AI is scared by a less scary creature, but scared to max scaredness, it still takes a long time for the Fear to tick down. I don't quite know how to tackle this one just yet. One idea is that every frame that the Fear parameter is something high, a counter ticks, and then the Fear parameter ticks down slower depending on that counter... Like, if the creature was panicked for 20 seconds it takes longer to calm down than if it was only scared for 4 seconds. Hmmmm....

I wanted to post a gif of some lizards hunting each other and the player today, but the fleeing behavior never quite got to a place where it didn't look stupid, despite some efforts to make it look more consistent. I know you guys liked the panicked hesitation, but there was a bit much of it, making it look like a flickering back and forth rather than a somewhat consistent following of a flight path.

The problem is mainly that the creatures don't commit to a flight path, instead they constantly change their mind as to where they're going. I have been able to tackle some of that today though. I identified the problem to be that when evaluating if a certain spot is a good place to flee to, you can't only look at how scary it is at the destination, you have to look at how scary it is along the path to get there. Example - a safe place that is behind a threat, meaning that you have to move by very close to the threat in order to get there.

The correct solution for this would be to actually calculate the entire path, I guess, and evaluate how scary every tile is along that path. This isn't viable though, as these evaluations have to happen several times per frame. Instead I made some kind of hacky little approximation, where I check the tiles in a straight line between the creature and the possible target position. This actually seems to get rid of the absolutely worst running-straight-into-threat scenarios.

Things are moving along rather well. I found myself playing the game as a game from time to time when playtesting, which is a first for the Unity version. The very core elements of sneaking, running and out-maneuvering are in now, and the ability to very quickly change creature relationships on a whim creates a lot of cool opportunities for experimentation. Tomorrow I hope to be able to show you something.
Logged
iambored
Level 0
**


View Profile
« Reply #2042 on: September 23, 2014, 03:11:24 AM »

We need some tasty GIFs to go with all this delicious logic  Hand Fork Left Evil Hand Knife Right
In any case, looking good as always!
Also, I just had this idea- is there a hunger parameter in the game? If so, it could affect behaviour in interesting ways; for example- a starved lizard might opt to continue its pursuit of the prey in spite of nearby threats (self-preservation is overridden, or rather, another facet of self-preservation is prioritized).
Logged

JLJac
Level 10
*****



View Profile
« Reply #2043 on: September 24, 2014, 05:31:16 AM »

I know, I will give you something to look at! I'm just so caught up right now... Please be patient just a liiiiittle longer! Yeah, that idea crossed my mind as well! It would be super easy to implement.

Update 314
I've entered some kind of turbo mode, and am working like crazy. That said, I find it difficult to describe what I've been doing today in simple terms. Creating lizard behavior, and changing what needs to be changed in order to create lizard behavior, I guess is what's going on. Today the lizards got a ton more going on for them. Mostly I've worked on idle behaviors. When idle, they slow down some, stop a while, move between different spots. They sit and look at other objects - taking things such as how fast the objects are into account when deciding what to look at. They all have different preferences when it comes to choosing a spot to sit - green ones like an open floor, pink ones like to lurk in a narrow space, and blue ones prefer sticking to some wall high above everything else, ready to drop down on whatever might pass by.

I think what's going on here is that I've suddenly found myself creating the game, rather than paving the road for creating the game. This process is a little different, as I can't be as brainy about it - it's not a bunch of tasks that can be crossed off, but rather a creative thing. That said, I should be able to devlog properly... So sorry about how this week has been so far haha! Tomorrow I promise to pull myself together and give you some gifs to look at!
Logged
JLJac
Level 10
*****



View Profile
« Reply #2044 on: September 25, 2014, 01:10:01 AM »

Update 314
The lizards now have three of their main behaviors more or less done - idling, hunting and fleeing. The one missing is fleeing from the rain - when they can do all those things they're "feature complete" in that they'll work as a game mechanic, though the particulars of the behaviors can of course always be improved.

The very first step towards making them flee away from rain is introducing the dens they'll flee into - so that's one thing I've done today. It's a change that goes pretty deep in the most basic infra structure of the game (rooms, connections between rooms, how rooms are loaded. Basically the foundation of the game world) and it's been a long time coming. It wasn't as bad as I expected it to be though, just an hour or so later the game ran again with no problems. The worst part was having to dive back in the lingo level editor to fix some stuff (yuck!) but other than that the new build seemed to be able to handle the changes. Something's gonna pop up down the line though, I guarantee it :S

Other than that I've actually worked a little on cosmetics as well. As the idle behavior is slowly but surely coming together, there are some animation details that need to go with it. I know this has been the devlog's most boring week ever, but here's at least something visual to look at:



Sorry about the chubby tail and tail gradient, I know we decided that was going away but I haven't gotten around to changing it yet. What you're supposed to look at here is that the head can move, and that there's subtle movement in the tail and a hint of breath contractions around the chest area. If the lizard is dead or knocked out those movements should probably stop.
Logged
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #2045 on: September 25, 2014, 04:52:46 AM »

sausage lizard!!!!!

idle animation looks promising. probably hard to judge outside of the context. i do believe we are heading toward some Nice Gifs though!
Logged

SafetySnail
Level 0
***



View Profile
« Reply #2046 on: September 25, 2014, 06:42:35 AM »

A room full of these things just hanging and watching you like that would be super intimidating. Will lizards ever wait in shadows or plants to try and surprise the player or is it more of a see and attack kind of deal?
Logged
JLJac
Level 10
*****



View Profile
« Reply #2047 on: September 26, 2014, 12:26:19 AM »

As is they're pretty straight on, but it could be cool to have some other behaviors as well. The white ones ambush, but the point of that behavior is that you don't see them sit and wait for you as they're camouflaged. I can't really come up with any situation where a passive behavior would be beneficial to them... But yeah, it'd look totally cool.

Update 315
This morning I set James up with the level editor, and introduced him to the eldritch horrors that are its interaction design and general user hostility. Three years worth of "I'll just assign it to a button, I'll remember which one" has not turned out pretty. That said, he seemed to get a good grasp of it, and it's going to be a lot of fun to see what he'll produce!

Other than that, I did some more work on idle behavior, making them have a more reasonable way of tracking what to look at. Now they judge what creature to focus on depending on several parameters, such as distance, size of the creature, how intense the relationship to the creature is, how scary the creature is considered to be, and whether the creature is in view. Here's a gif with two lizard having their hunting behavior turned off, just chilling out and looking at each other and the player:



Apart from that I've been further tweaking overall behavior, and the big change of the day is that lizards now have a limited field of vision. It varies some depending on breed, but is usually around 180 degrees, meaning that you can fairly easily sneak by behind them.

Here's three lizards in a level without the player, tracking each other and moving about. The green one has an "eat" relationship to the blue one, but a pretty weak one, meaning that it'll hunt it if it doesn't really have anything better to do, and give up pretty soon if the hunt is not going well. The blue lizard has a similarly lukewarm fleeing behavior. If the player were to enter the room they'd probably both stop caring about each other. The pink lizard is just trying to hang out, and you kind of get the impression that it's a little annoyed by the other two. The networks of little squares coming out of each lizard is a visualization of the Tracker, meaning that those are basically each creature's hypothesis of where each other creature might be. The pink lizard, which isn't really interested in any of the others, does very minimal tracking - basically just saving the last position they were seen. This slimmed down tracking behavior is one of the things I got done yesterday, I think. The blue and the green however run the full algorithm on each other.



Have a nice weekend everyone! See you Monday!
Logged
JLJac
Level 10
*****



View Profile
« Reply #2048 on: September 28, 2014, 11:50:07 PM »

Update 316

*flap flap flap*

Logged
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #2049 on: September 29, 2014, 03:54:23 AM »

YAAAAAAY
Logged

JLJac
Level 10
*****



View Profile
« Reply #2050 on: September 30, 2014, 12:48:27 AM »

Update 317

Hey, remember these guys? (Blue for your viewing convenience)



I've had a lot of fun with the flocking behaviors of these. The creature is ... eh... half bat, half (butter?)fly, and they're able to switch between a flapping bat flight and a buzzing insect flight - this time around I explored that aspect even further by having them engage in some kind of swarming ... dance? ... where they use the buzzing flight for a slightly longer time, hovering in place. The framerate of the gif doesn't really make those rapid wing movements justice, but you get the idea. They actually flap once per frame, so 40 times per second, but the graphics engine I've got going extrapolates between frames, meaning that you'll see as many frames as your computer can render. Her's the flapping in SUPER SLOWMO:



You might notice that some of them flap more with one wing than the other - that's when they're trying to move in the horizontal dimension.

And here's a slugcat ambush in regular moderate slowmo (no actual interactions yet, but the fleeing behavior is in):



Edit: Oh, yeah, in that last gif there's actually a floor, but it isn't visible because I've turned the background off. In case you wondered why the slugcat is hitting solid air all of a sudden.
Logged
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #2051 on: September 30, 2014, 04:52:48 AM »






Ahahahaha this looks so nature documentary, i loooooove it. the bat swarm movement looks fantastic!!!
Logged

Ninja Dodo
Level 4
****



View Profile WWW
« Reply #2052 on: September 30, 2014, 08:22:48 AM »

This is great. Love the bat behaviour. Really need to get around to reading more of this thread cause this stuff is fascinating.
Logged

iambored
Level 0
**


View Profile
« Reply #2053 on: September 30, 2014, 08:27:51 AM »

Hey again!
That first GIF of the bats inspired me to make this-

Download(jar)- http://www.mediafire.com/download/g9dqsjv9rbs433s/Flapper.jar
Controlled with the arrow keys. Hope you like it! I also might make a version with the different wing flap rates if I have some free time.
Logged

Thomas Finch
Level 8
***


@slowcircuit


View Profile WWW
« Reply #2054 on: September 30, 2014, 01:18:49 PM »



You have the best debug gifs.
Logged

JLJac
Level 10
*****



View Profile
« Reply #2055 on: September 30, 2014, 11:27:33 PM »

Why thank you!  Grin
 

Hahaha wow that's awesome! Especially like the little mini flaps in between... You should release it for the iPhone, it has one entire more dimension of freedom than flappy bird, so it should do ^2 the $$$ according to simple maths!

Update 318
Took it a bit easier today, and did stuff such as commenting some code. Might as well do it when it's fresh in memory. Also cleaned up the bat flight animation a bit - for example you might notice that the rapid flaps in yesterday's gif are upside down - they should be quick when going down and slightly slower when going up. Also the wings tended to be tilted upwards too much an not enough downwards, so I messed with those angles some and applied a Mathf.Pow to make the movement less stiff and linear.

Other than that I started implementing some bat grabbing. When I first just hooked the creatures up with the default grabbing code I got this behavior, which struck me as hilariously confused:



"Is it stuck to my neck!? It's stuck to my neck right... If I stand very still maybe it won't bite me..."
And the bat is like "Whoops stuck to a neck here. Guess I'll just keep on flapping"
 Cheesy

After a bit of tweaking it started to look better though:



It might not be very visible in these gifs, but the hands stretching out to reach for bats are in as well, but as I haven't gotten around to making the slugcat direct its gaze it doesn't look very good yet. Instead of looking at the bat and reaching for it it'll just stare blankly at the camera with the hand moving around in the background. Once the face movements are in I'm sure it'll look cool though.
Logged
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #2056 on: October 01, 2014, 01:47:41 AM »

I was expecting him to eat that flapping thing. Please eat it.. Smiley
Logged

JLJac
Level 10
*****



View Profile
« Reply #2057 on: October 01, 2014, 04:33:38 AM »

Eating the fly is planned as a Premium feature for Gold Subscribers.
Logged
Lucs
Level 0
**



View Profile
« Reply #2058 on: October 01, 2014, 07:55:02 AM »

Eating the fly is planned as a Premium feature for Gold Subscribers.

How do I subscribe ?  Hand Money Left Huh? Hand Money Right
Logged
Berry
Level 0
*



View Profile
« Reply #2059 on: October 01, 2014, 09:39:50 AM »

Love this thread! Love the slugcat! Love the lizards! love the flies! Love the informative posts!
I actually finished a course in utility theory last year in university so it's very nice to see what the application in games can look like.
Logged
Pages: 1 ... 101 102 [103] 104 105 ... 367
Print
Jump to:  

Theme orange-lt created by panic