Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411576 Posts in 69386 Topics- by 58444 Members - Latest Member: darkcitien

May 05, 2024, 03:03:15 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsProject Rain World
Pages: 1 ... 248 249 [250] 251 252 ... 367
Print
Author Topic: Project Rain World  (Read 1449572 times)
Forstride
Level 2
**



View Profile
« Reply #4980 on: December 13, 2015, 02:06:51 PM »

On the other, it worries me because after enough time and playthroughs the map might becomes familiar and perhaps boring.

I mean, you can't expect a single game to last forever for some one.  I personally only play through games like this once, and while I'm sure there will be people who play through it multiple times (Speedrunners especially), I don't think the game not having procedurally generated areas will hurt it in any way.
Logged

lakithunder
Level 0
**


The Coolest of Turtles


View Profile
« Reply #4981 on: December 13, 2015, 02:15:33 PM »

Awesome! The way the map scrolls and overlays the game is really cool! Maybe it's more clear when playing the game, but the map is just really confusing to me, It's hard to connect the game-space places to the map places. My theory is that in the game you recognize locations by the aesthetic details, like chains in a certain way, or specific elements that you don't find anywhere else, but the map only shows the shape of the platforms. Especially with the big beams that the slugcat is standing on in the screenshot. In the game, they register as one object that you can walk inside, but on the map they look like two beams with some space in the middle, and it's hard to connect that they are both the same thing (or at least longer than it should).
Logged
JLJac
Level 10
*****



View Profile
« Reply #4982 on: December 13, 2015, 02:25:06 PM »

Procedural content is really cool and we'd love to experiment with it in the future! For this game, we're a bit too perfectionist to let go of control though... Also, I think it's important to note that it's not the same as infinite content - the human brain is a powerful pattern finder, and after a while you learn how the algorithms work at which point you have effectually exhausted the content. To extrapolate you could take the example of white static noise - it could be argued to have "infinite combinations" but after a few seconds you have understood how it works; you get the idea.

That said, the game is largely procedural except from the geographic layout of the rooms. We don't have a single enemy that is spawned on some trigger when you enter an area - they all move about as independent agents throughout the world, and the combination of creatures that you might come upon when entering a room is completely up to the RNG working through the creatures' AI behaviors.

Our aspiration is that this will create interesting narratives that will keep the game fresh. As the rooms are static you'll be able to learn your way around in the world, but what happens to you when moving through those rooms should be new each time!
Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #4983 on: December 13, 2015, 02:30:23 PM »

It's worth noting that pattern is also true for created content, in fact created content tend to varies slower and have more repetition than good varied procedural content. the main difference is "meaning" taken broadly, human are better at varying concise specific idea.
Logged

Christian
Level 10
*****



View Profile WWW
« Reply #4984 on: December 13, 2015, 03:04:39 PM »

Maybe I misread this somewhere, but the world is procedurally generated right? Or is it the same map every time?
Nope, completely hand-made. Over 1100* rooms (insane!), if I remember correctly.

Woah... On the one hand that excites me because it means there's a lot more they can do with progression, mechanics, and storyline.
On the other, it worries me because after enough time and playthroughs the map might becomes familiar and perhaps boring.
While the map is the same everytime, nothing else is. The ecosystem and AI is dynamic so you never know what you'll encounter, no matter how many times you play

Plus, the devs have some ideas for new game plus, and there's multiplayer
Logged

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



View Profile
« Reply #4985 on: December 13, 2015, 03:05:18 PM »

Procedural content is really cool and we'd love to experiment with it in the future! For this game, we're a bit too perfectionist to let go of control though... Also, I think it's important to note that it's not the same as infinite content - the human brain is a powerful pattern finder, and after a while you learn how the algorithms work at which point you have effectually exhausted the content. To extrapolate you could take the example of white static noise - it could be argued to have "infinite combinations" but after a few seconds you have understood how it works; you get the idea.

That said, the game is largely procedural except from the geographic layout of the rooms. We don't have a single enemy that is spawned on some trigger when you enter an area - they all move about as independent agents throughout the world, and the combination of creatures that you might come upon when entering a room is completely up to the RNG working through the creatures' AI behaviors.

Our aspiration is that this will create interesting narratives that will keep the game fresh. As the rooms are static you'll be able to learn your way around in the world, but what happens to you when moving through those rooms should be new each time!

I guess I will have to wait until the game comes out so I can try it! Are you allowed to give us any information regarding release times, like are we talking early 2016 or something later in the year?
Logged
JLJac
Level 10
*****



View Profile
« Reply #4986 on: December 13, 2015, 04:00:37 PM »

Awesome! The way the map scrolls and overlays the game is really cool! Maybe it's more clear when playing the game, but the map is just really confusing to me, It's hard to connect the game-space places to the map places. My theory is that in the game you recognize locations by the aesthetic details, like chains in a certain way, or specific elements that you don't find anywhere else, but the map only shows the shape of the platforms. Especially with the big beams that the slugcat is standing on in the screenshot. In the game, they register as one object that you can walk inside, but on the map they look like two beams with some space in the middle, and it's hard to connect that they are both the same thing (or at least longer than it should).
Yeah, I'm aware of these issues, it's not always super easy to recognize the rooms. The idea is that the map shouldn't really show a perfect depiction of the rooms, but rather a general abstract sense of what kind of routes you can take through the world - it's mainly supposed to be a route planning tool. If the current setup is in a sort of uncanny valley where you can sort of recognize the rooms but not enough, I'd actually feel more inclined to abstractize the visuals further rather than adding detail. The map is supposed to give a general sense of direction rather than anything else. We're also very much decided that we want to avoid incentivicing "playing the map", ie the game phenomena where the map is so useful that players tend to look at it more than the actual game. Rather it should be something you briefly peek at and then get back to the game - James spent a crazy amount of time on those rooms and we want the player looking at them! The map can never reach anything close to that visual fidelity anyways.

Update 496

More map stuff!



In order to make the rooms work in their positioning relative to each other, we needed some extra dimension rather than just the 2D plane. As the rooms are already made, retrofitting them into one cohesive world is a tricky thing, especially as some layouts have exteriors and interiors of the same buildings exist as different rooms, and similar situations.

We contemplated a few solutions to make it work, such as having long shortcut connections that connect to little "mini maps" around the main map. The solution that felt the cleanest however was to just make the map layered - then if two rooms are fighting for the same space they can just be layered on top of each other. Such conflicts occur quite a lot through the regions, for example when many rooms have an open sky and feel like they should all be on the same ground level, or when water levels should be consistent between a bunch of rooms. The layered map is a good solution for many of these problems, as it allows an entire new dimension (sort of, it's 2 or 3 layers depending on the region) of freedom.



There are still a few unresolved visual issues, such as how to show inter-layer connections between rooms, but it feels like a solid direction! The sense of space really benefits from the map tool - contrary to just feeling like you're in an undefined room "somewhere" you get a clear understanding of where you are in the world, which serves the sense of scale.
Logged
chriswearly
Level 3
***


prince slugcat


View Profile
« Reply #4987 on: December 13, 2015, 11:09:35 PM »

This may sound weird, but I actually think I will be the (a) person who never opens the map, just for that added challenge, of memorizing every connection and crawl space Tongue

And actually, if RW gets added in some degree to the speed-running community, a "map-less" version would be like hardcore. That'll be interesting to see if it ever happens Smiley

Anyway, great progress with the maps themselves! Looking forward to seeing what you guys end the year with.
Logged

TheWing
Level 1
*



View Profile WWW
« Reply #4988 on: December 14, 2015, 12:32:30 AM »

Love the map, but as chriswearly said, I too might be a person not opening the map; Usually in games like these I map the world in my head, and pretty much rely on that.

That said, having a map is certainly a good thing, and with the scale of the world in mind, I might actually take a couple peeks in it while playing.. if it's just to see how nice it looks <3

Every single update you guys post makes me more eager to get to play the game :D
Logged

- - - -
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #4989 on: December 14, 2015, 12:34:56 AM »

That's not weird at all! I'd love to have a hardcore mode that removes the map and severely punishes deaths. We've discussed including metrics for speed runs as well, but that stuff will probably come in post release updates.
Logged

Woodledude
Level 0
***

What does this text field do?


View Profile
« Reply #4990 on: December 14, 2015, 12:55:15 AM »

UPDATES ARE BACK! Waaagh! They look great! Can't wait to stick my face in it and suck up all the mappy goodness. That said, I feel like maybe I'm someone who would REALLY love the map, and I'm not sure if the tension of looking at it while there *might* be lizards or more horrific things around is going to allow me to pore over it like I'd like to. That's probably not a bad thing exactly for the reasons you guys have stated, but it would be nice if you could just look at the same basic map in-between dry spells in the den to see what's left to explore, where you've been, and try to piece together what good routes might be. Almost like the slugcat is having geographical dreams. Who, Me?
Logged

Fledgling game designer. Be prepared for walls of text with little coherency and much rambling. Thank you for your time, and tell me what you think.
Teod
Level 1
*



View Profile
« Reply #4991 on: December 14, 2015, 01:40:18 AM »

Glad to see the pudates again.
We contemplated a few solutions to make it work, such as having long shortcut connections that connect to little "mini maps" around the main map. The solution that felt the cleanest however was to just make the map layered - then if two rooms are fighting for the same space they can just be layered on top of each other. Such conflicts occur quite a lot through the regions, for example when many rooms have an open sky and feel like they should all be on the same ground level, or when water levels should be consistent between a bunch of rooms. The layered map is a good solution for many of these problems, as it allows an entire new dimension (sort of, it's 2 or 3 layers depending on the region) of freedom.

https://giant.gfycat.com/MediumHarshBabirusa.gif

Damn, that looks cool. At this point you could actually texture the thing to make it look like your normal level renders, but smaller. And when the player is looking at it - show the current room as simplified semi-transparent outline, while the map is fully drawn. Although, on second thought, that's probably not that good of an idea.
« Last Edit: December 14, 2015, 01:45:51 AM by Teod » Logged
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #4992 on: December 14, 2015, 01:56:17 AM »

it would be nice if you could just look at the same basic map in-between dry spells in the den to see what's left to explore, where you've been, and try to piece together what good routes might be. Almost like the slugcat is having geographical dreams. Who, Me?

i was thinking exactly this! we have some other stuff that will be going into the "hibernation screen" as well, so should be perfect.
Logged

Dinomaniak
Level 2
**



View Profile WWW
« Reply #4993 on: December 14, 2015, 02:10:45 AM »

The maps look insanely good !
Logged

JLJac
Level 10
*****



View Profile
« Reply #4994 on: December 14, 2015, 05:33:25 AM »

Thank you!

Math/programming question, guys. You have noticed that bending effect of the map I have going, right? I'm having a slight problem with that. What it's about is that I have to run the algorithm backwards, and my mathz are not good enough.

This is the practical issue - I want to place markers on the map with pixel precision. This means I basically have to compensate for the distortion effect.

The distortion effect is a fragment shader that works like this:



We are at fragment x1, y1. What color to render? In order to get that coordinate (x2, y2) I go through a little formula. This formula basically moves the x2,y2 towards the center of the image, and the distance of this movement (magnitude of black arrow in illustration) is dependent on the distance between the texture's center and x1,y1 - d1. The effect - the further towards the edge a coordinate is, the more it will go inwards toward the center to grab its color, resulting in a concave sort of bend to the image rendered.

All good, this part works well! However, I just can't figure out how to do this backwards. When placing a map marker, I know the default coordinate it should be placed at were there no distortion, and theoretically it seems like it should be as easy as moving it outwards from the center with a magnitude dependent on the distance to the center. So basically I have x2,y2 and want to get x1,y1 this time around.

If it was a linear correlation between distance to the center and movement magnitude, I could accomplish this by just switching multiplication for division in the code. However, it's a much more complex formula, which uses the value d1 several times.

When doing this backwards, I get a sort of catch 22 as I don't have d1, I have d2, which I don't know what to do with. My only way of getting d1 would be to have the point x1,y1, which is actually the result I'm after, so the key is locked in the box.

The horrible formula I have for deriving x2,y2 from x1,y1 is nothing less than:
x2, y2, = x1,y1 + (x1,y1 - midPoint).normalized * (1-d1)*(d1 ^ (4 + 2*d1))*2;

And this is what I have to flip and do backwards. I can switch it around so that I have for example x1 on one side of the equal sign, but as all the d1's in the formula are dependent on the values of x1 and y1 I still can't get a workable result.

I guess my question is basically this - is this mathematically solvable or is it an equation with infinite solutions or something like that? Pretty stuck on this one!
Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #4995 on: December 14, 2015, 08:19:37 AM »

So x2 is the displacement of x1 relative to midpoint?
What you want is to compute a reverse displacement such as from x2 relative to midpoint give you x1?

That mean there is a factor for which x2 relative to midpoint would give you x1. So I'll try to define what is this displacement factor. I would replace d1 by the whole formula ie (midpoint - x1), isolate the factor and simplifies from this.

Edit:
Nasty pow is nasty!

edit2:
an x am = anm
(am)n = amn

edit3: damn expending that is tough
by the way normalize should be x1/|x1| ie x/sqr(x²+y²) , y/sqr(x²+y²)

edit4
Quote
The horrible formula I have for deriving x2,y2 from x1,y1 is nothing less than:
x2, y2, = x1,y1 + (x1,y1 - midPoint).normalized * (1-d1)*(d1 ^ (4 + 2*d1))*2

x2 = x1 + (x1 / ( sqr( (x1-mx)²+(y1-my) ) ) * (2-(mx-x1))(mx-x1)^(2*(mx-x1)+4)

Huh?

edit5
 Cry

( (x1(-mx+x1+2)(mx-x1)²(mx-1)+4) / ( ( sqr( (x1-mx)²+(y1-my)² ) ))) + x1

edit6:
it's basically
result = position + displacement * relativeFactor
so
position = result - displacement * relativeFactor

You would need to redefine relative factor obviously

 Shrug

I don't see other way right now

edit7
Given you already know any arbitrary x1 at any given time you can use that data from a first equation and compute the displacement then use that as parameter in the second!

Relative factor = (result - position)/displacement

with displacement non zero but it's a normal it shouldn't right?

edit 8

if we assume position 0 and displacement always at 1 it gives us x2 = (2-(mx-x1))(mx-x1)^(2*(mx-x1)+4)

assuming x2 = 0
then x1 = mx or mx-2 (mx = midpoint)

edit 9

above is the stupidest thing I have write  Facepalm
« Last Edit: December 14, 2015, 10:09:29 AM by Jimym GIMBERT » Logged

gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #4996 on: December 14, 2015, 10:27:09 AM »

http://www.wolframalpha.com/input/?i=%282-%28x%29%29%28x%29%5E%282*%28x%29%2B4%29+%2Bx

Your displacement function is quite squiggly how did you design it?
Logged

JLJac
Level 10
*****



View Profile
« Reply #4997 on: December 14, 2015, 10:43:06 AM »

The same way I design everything, I have some basic mathematic building blocks and then I tweak and tweak until I get the result I want O___O

Here is the actual cg code:
Code:
float dst = clamp(distance(i.scrPos, half2(0.5, 0.5)), 0, 1);
half2 displace = normalize(i.scrPos-half2(0.5, 0.5)) * (1-dst)*pow(dst,lerp(4,6,dst))*2;
half2 grabPos = half2(_mapPan.x + (i.uv.x - 0.5) * (_screenSize.x / _mapSize.x) / lerp(3.25, 4.75, i.clr.y), (_mapPan.y / 3.0) +  ((2.0*h)/3.0) + ((i.uv.y - 0.5)  * (_screenSize.y / _mapSize.y) / lerp(3.25, 4.75, i.clr.y)) / 3.0);
grabPos -= displace;

Sorry about the mistake where I wrote + instead of - earlier!

it's basically
result = position + displacement * relativeFactor
so
position = result - displacement * relativeFactor

Yeah basically, but the magnitude of the displacement depends on the resulting vector, which would be the catch 22...

http://www.wolframalpha.com/input/?i=%282-%28x%29%29%28x%29%5E%282*%28x%29%2B4%29+%2Bx

Your displacement function is quite squiggly how did you design it?

Hm, it outputs imaginary numbers... That might be why I can't reverse the equation, the answers end up on the imaginary axis...

Logged
Crispy75
Level 0
***


View Profile
« Reply #4998 on: December 14, 2015, 11:37:23 AM »

Could you not just do a lookup table/texture for both transformations and linearly interpolate? It'll introduce some distortion, sure, but I get the feeling you don't want a smooth/clean look anyway. Multiply/divide by a small factor either side of 1 to get the other layers.
Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #4999 on: December 14, 2015, 12:35:52 PM »

Well that's why it's the RELATIVE factor Wink

You can try to find a curve that have roughly the same slope, it only exist on the 0-1 scale so easing formula should help do teh work, generally just power stuff would be enough:


http://hosted.zeh.com.br/tweener/docs/en-us/misc/transitions.html

various other for the fun
http://gizma.com/easing/#l
http://www.timotheegroleau.com/Flash/experiments/easing_function_generator.htm

Using that I plugged the formula and it's really close to a simple quintic tweening.
Logged

Pages: 1 ... 248 249 [250] 251 252 ... 367
Print
Jump to:  

Theme orange-lt created by panic