Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411596 Posts in 69387 Topics- by 58445 Members - Latest Member: YomiKu_0

May 07, 2024, 09:38:08 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsProject Rain World
Pages: 1 ... 148 149 [150] 151 152 ... 367
Print
Author Topic: Project Rain World  (Read 1450513 times)
JLJac
Level 10
*****



View Profile
« Reply #2980 on: February 24, 2015, 11:39:30 PM »

Update 401

I'm pretty happy today, because I had a bit of a breakthrough in the lizard behavior. As players of the alpha will know, lizards would tend to get stuck at times, especially in corners and tricky geometries involving slopes.

Here's a tip for anyone working with A*-following NPCs that tend to get stuck in loops. It's pretty much a magic fix, and super obvious, so it's really strange I didn't think of it earlier!

Keep a list of the last 10 or so connections selected by the NPC when moving. Every time you're evaluating which new connection to take, go through the list. If the connection is in there a certain number of times, don't pick it. If you exclude connections that occur just once you'll get rid of some options you might actually want, as there are natural situations where a creature might want to turn around and backtrack etc, so I recommend some higher number. I use 2 - if a movement choice has been selected twice or more in the last 10 choices, don't pick it again. Boom! Now the creature is simply not allowed to make the same choice over and over, it has to vary its behavior. And when it varies its behavior, it's sooner or later going to have to move away from the problematic area, and can pick up a better path.

The lizard getting-stuck-ness has been drastically reduced because of this.

In other news, gamepad support is in and working really well! We have made a build now that's our PAX candidate, and basically what I'm going to do these last couple of days up until the convention is cosmetics and little fixes to make the experience smoother.

I've been working some with the lizard/vulture interaction, and made it so that the lizards have some fear behavior that can be triggered in some situations. Their fleeing still needs some polish, at times it seems like they just forget that there is a threat haha. But things are definitely getting more refined.

Most of the stuff I'm doing now is polish rather than addition of new content, so not much in the gif compartment. As a compensation, I'll give you this truly horrifying situation instead:



Remember, no matter how hopeless it seems, you always have a choice! Like drown or get eaten  Evil
Logged
Slader16
Level 8
***



View Profile
« Reply #2981 on: February 24, 2015, 11:40:42 PM »

Are you guys going to PAX East this year?  Grin
Logged

JLJac
Level 10
*****



View Profile
« Reply #2982 on: February 24, 2015, 11:58:30 PM »

Yup! See you next week  Grin
Logged
Slader16
Level 8
***



View Profile
« Reply #2983 on: February 25, 2015, 12:01:24 AM »

Yup! See you next week  Grin
Cool! My brother has been nagging me about taking him, I might just bite the bullet! :D
Logged

Tobers
Level 1
*



View Profile WWW
« Reply #2984 on: February 25, 2015, 01:52:26 AM »

Damn damn DAMN this looks good.

The characters move so intelligently, I can feel them thinking. Makes it that much more eerie! And god is it gorgeous!

Run away little white ferret RUN AWAY!
Logged

Oh god make it stop.
marcgfx
Level 8
***


if you don't comment, who will?


View Profile WWW
« Reply #2985 on: February 25, 2015, 03:24:32 AM »

that vulture diving in is just terrifying and beautiful. when the vulture leaves you have some hope for slugcat, only for it to be crushed by the next attack. nice detail that the vulture is dripping when he leaves the water. great job.

one thing: I find the white water drops a little weird
Logged

Christian
Level 10
*****



View Profile WWW
« Reply #2986 on: February 25, 2015, 04:44:32 AM »

Update 401


Remember, no matter how hopeless it seems, you always have a choice! Like drown or get eaten  Evil
Oh, wow. Awesome stuff as usual. I love how the vulture just totally dwarfs the slugcat in size
Logged

Visit Indie Game Enthusiast or follow me @IG_Enthusiast to learn about the best new and upcoming indie games!
oahda
Level 10
*****



View Profile
« Reply #2987 on: February 25, 2015, 05:03:28 AM »

Nothing short of ømæizing.

Inspirational for me too now that I'm working on similar water impacts in my own game. The fact that the GIF was initially lagging was helpful in seeing the finer details. c;
« Last Edit: February 25, 2015, 05:15:39 AM by Prinsessa » Logged

oldblood
Level 10
*****

...Not again.


View Profile
« Reply #2988 on: February 25, 2015, 06:33:28 AM »

I see so many awesome GIFs on this devlog that sometimes I dont feel obligated to respond because the content is always great... and well-- you guys know its great. But just to reiterate and encourage, this is really great stuff you guys are posting. Keep it coming!
Logged

JLJac
Level 10
*****



View Profile
« Reply #2989 on: February 25, 2015, 08:13:45 AM »

I can feel them thinking.

Man, if you knew how much I've been trying to create this exact impression  Tears of Joy

@oldblood, you're too kind haha! Thanks for the encouragement though, it keeps us going!

@Prinsessa you're doing water surface physics? If you want to I can see if I can dig up the paper I used to get this thing going. I think I found in google scholar.

I've barely played the game since... forever, or at all, because it hasn't been a "game" for very long, but tonight I did a few runs. I encountered a situation I wanted to share with you because I want to brag about the game haha, but also because it spotlighted some of the goals we've been going for, and I think it's relevant to the design process as a template of the sort of situation we want as much of as possible.

Not all playthroughs are as good as this, some are still janky and buggy and kills you unfairly. With that disclaimer, here goes the brag story:

So I was moving about in Chimney Canopy, an aerial region with a lot of vultures. I enter a room, and see a vulture just sitting up in the corner of the room, looking at a group of bats as they're swarming. It's a really cool mood to it, this huge predator just chilling out for a while, idly looking at its little buddies mill about. (It was all probably due to some AI bug, but that's beside the point lol).

I'm like a deer in the headlights down in the other corner of the room. For a while it doesn't see me, but then its head turns and I see that it starts moving. So I just back down the entrance and leave the room. The last thing I see is that it unfolds its wings and take to the air, rather than pursuing me towards the exit.

In the other room, I pop out on a platform high up in the right corner. I'm momentarily safe, but I know that the vulture has not forgotten about me. It was just sitting there, so evidently it has nothing better to do than chase after me. At almost the same time as I, a pink lizard enters the room through an exit in the lower left corner. I get an idea.

I deliberately show myself to the lizard. The layout of the room is such that there's a shortcut going from the lower part to the upper part. The lizard bites the bait, and goes in the shortcut to get up to me.

I have some knowledge it doesn't have though. The vulture is on its way. As the lizard reaches the top part of the room, I jump down from my platform and scurry under cover. A moment later, the shadow of the vulture swoops across the screen, and the lizard is startled. The lizard doesn't get away in time, and given the choice of a prey that is right in front of it (the lizard) and one that it can't see any more (me) the vulture goes for the lizard, snaps it up and takes to the sky. I'm safe, both foes having been played out against each other.

The reason why I really liked this situation, and want to remember it, is because it defines what the rain world gameplay should be like ideally. The player is smaller and weaker than everything else, but by using wit and information advantages, the other creatures can be manipulated to your advantage. The situation relied heavily on the other creatures having relationships and interactions among themselves, contrary to only being aggressive towards the player. By being smart about it, I could turn two overpowered enemies into zero, without using any violence.

All of this is was heavily reliant on AI - as some of you might remember I've been talking about "trickability", i.e. the creatures being smart enough to be tricked or manipulated. It was really nice to actually see this play out, after all the work that has gone into it.

If the game has more creatures and more interactions, there will be more opportunities to do stuff like this. Using anecdotes like this, we can know what sort of behaviors to look out for, and then reinforce them. We still have a long way to go though - this sort of stuff should be the bulk of the experience, not a single occurrence that I'm so stoked about that I feel the need to put in on the devlog haha!

But it shows that the gears are starting to turn, and that the idea we've had is starting to be realized! Baby steps, but I'm really excited about how the game will play 5 more creatures down the line!
Logged
oahda
Level 10
*****



View Profile
« Reply #2990 on: February 25, 2015, 08:51:04 AM »

Poor lizard. Sad

you're doing water surface physics? If you want to I can see if I can dig up the paper I used to get this thing going. I think I found in google scholar.
Well, imitating or giving the illusion of water physics, I'd say. While your game lets the player move freely between land and water, mine is entirely set underwater with only a few things occasionally going through the surface, so it doesn't need to be as advanced.

I've got the basics working already and I mostly meant that I might be taking some visual inspiration from you~

Might be neat to look at the paper either way, tho!
Logged

Christian
Level 10
*****



View Profile WWW
« Reply #2991 on: February 25, 2015, 09:35:13 AM »

That story...
Epileptic
The hype intensifies

I love dynamic emergent worlds like this. One of my favorite game-related things to read is DayZ stories and the crazy unfolding of events that can occur. If Joar's quick tale is anything to go by, Rain World will be the source of some amazing stories

This game is begging for a sandbox vivarium mode, where you can just spawn different creatures and watch them interact
Logged

Visit Indie Game Enthusiast or follow me @IG_Enthusiast to learn about the best new and upcoming indie games!
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #2992 on: February 25, 2015, 06:20:39 PM »


This game is begging for a sandbox vivarium mode, where you can just spawn different creatures and watch them interact

sandbox mode was a big part of the lingo, where it overlapped with multiplayer: you would choose a game mode, room, number of players and what lizards you would play against, etc. so we definitely want to make that a big part of the game! the concept were running with now is tying all that it in to the single player game progression, so as you go through the game you can unlock additional rooms / creatures / etc to add to the sandbox/multiplayer mode.
Logged

JLJac
Level 10
*****



View Profile
« Reply #2993 on: February 25, 2015, 06:27:46 PM »

Another pretty fun thing I've been doing sometimes when developing is "documentary mode", where I just tie the camera to some creature other than the player, and follow it during its cycle. You can see it hunt, catch prey, bring the pray back, etc. Maybe that could be made into a screensaver or something - if you're okay with a screensaver that runs your processor on turbo and has the fan sound like a jet engine is sitting on your desk.
Logged
JLJac
Level 10
*****



View Profile
« Reply #2994 on: February 25, 2015, 06:41:41 PM »

@prinsessa, actually rather than digging up the paper it's considerably easier for me to just post my source code for the water stuff, so here you go! Might help out some other people too:


    

Code:
public class Water(){
//These are the parameters used by the surface simulation. Expect to spend at least a day tuning them haha
     float   dx = 0.0005f * 20f;
     float   dt = 0.0045f;
     float   C = 1f;
     float   R = C * dt / dx;


     surface = new SurfacePoint[100];
     for(int i = 0; i < surface.Length; i++)
         surface[i] = new SurfacePoint();
}


public class SurfacePoint
{
   height = 0f;
   lastHeight = 0f;
   nextHeight = 0f;
   public SurfacePoint()
   {
   }
}

public Update(){
 float averageHeight = 0f;

        for (int i = 0; i < surface.Length; i++) {

            //This here is the fancy math from the paper, which I don't claim to understand in the slightest :P
            if (i == 0) { //special case first point
                surface[i].nextHeight =
                  (2f * surface[i].height + (R - 1f) * surface[i].lastHeight +
                  2f * Mathf.Pow(R, 2f) *
                  (surface[i + 1].height - surface[i].height)) / (1f + R);
            }
            else if (i == surface.Length - 1) { //special case last point
                surface[i, 0].nextHeight =
                    (2f * surface[i].height + (R - 1f) * surface[i].lastHeight +
                    2f * Mathf.Pow(R, 2f) *
                    (surface[i - 1].height - surface[i].height)) / (1f + R);
            }
            else {
                surface[i].nextHeight = Mathf.Pow(R, 2f)
                   * (surface[i - 1].height + surface[i + 1].height)
                   + 2f * (1f - Mathf.Pow(R, 2f))
                   * surface[i].height - surface[i].lastHeight;
            }

            surface[i].nextHeight *= 0.99f; //points should slowly tend towards 0, or the water level will change over time

            averageHeight += surface[i].height;

        }

        averageHeight /= surface.Length;

        for (int i = 0; i < surface.Length; i++) {
            surface[i].lastHeight = surface[i].height; //This line here is the necessary line. Below is some stuff I came up with to stabilize the system, it tended to flip out in some scenarios
            float h = surface[i].nextHeight - averageHeight;
            if (i > 0 && i < surface.Length - 1) h = Mathf.Lerp(h, Mathf.Lerp(surface[i - 1].nextHeight, surface[i + 1].nextHeight, 0.5f), 0.01f);
            surface[i].height = Mathf.Clamp(h, -40f, 40f);
        }
}
« Last Edit: February 25, 2015, 09:06:22 PM by JLJac » Logged
Christian
Level 10
*****



View Profile WWW
« Reply #2995 on: February 25, 2015, 07:09:54 PM »

Another pretty fun thing I've been doing sometimes when developing is "documentary mode", where I just tie the camera to some creature other than the player, and follow it during its cycle. You can see it hunt, catch prey, bring the pray back, etc. Maybe that could be made into a screensaver or something - if you're okay with a screensaver that runs your processor on turbo and has the fan sound like a jet engine is sitting on your desk.
This sounds cool. Reminds me of when I'd follow NPCs in Red Dead Redemption and GTA to see what they did as the day went on
Logged

Visit Indie Game Enthusiast or follow me @IG_Enthusiast to learn about the best new and upcoming indie games!
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #2996 on: February 25, 2015, 08:17:50 PM »

Another pretty fun thing I've been doing sometimes when developing is "documentary mode", where I just tie the camera to some creature other than the player, and follow it during its cycle. You can see it hunt, catch prey, bring the pray back, etc. Maybe that could be made into a screensaver or something - if you're okay with a screensaver that runs your processor on turbo and has the fan sound like a jet engine is sitting on your desk.

come on that's what every good after dark screen saver do Well, hello there!
Logged

DarkWanderer
Level 3
***



View Profile
« Reply #2997 on: February 25, 2015, 08:49:27 PM »

I was thinking earlier that you could probably incorporate the old lingo red bubbles in some exclusive sand box levels which wouldn't necessarily have to be bound with the same cohesion as the rest of the world.
Logged
JLJac
Level 10
*****



View Profile
« Reply #2998 on: February 25, 2015, 09:07:35 PM »

I think they could make it in one way or another, they'd just look a little different! The old ones had some sort of early 2000's free flash game look to them with the radial gradients and all, I can probably do better now.
Logged
Teod
Level 1
*



View Profile
« Reply #2999 on: February 26, 2015, 12:54:31 AM »

Another pretty fun thing I've been doing sometimes when developing is "documentary mode", where I just tie the camera to some creature other than the player, and follow it during its cycle. You can see it hunt, catch prey, bring the pray back, etc. Maybe that could be made into a screensaver or something - if you're okay with a screensaver that runs your processor on turbo and has the fan sound like a jet engine is sitting on your desk.
That would be an epic in-game main menu background.
Logged
Pages: 1 ... 148 149 [150] 151 152 ... 367
Print
Jump to:  

Theme orange-lt created by panic