—    —  Home

   JLJac 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...






   JLJac on December 15, 2015, 12:57:05 PM (Last Edit: December 16, 2015, 12:24:05 AM):

@insaneinside, welcome and thank you so much! That looks really interesting, I will look into it. Also, thanks for letting me know the proper maths notation.

Indeed, you would have trouble producing an analytical solution for a in terms of b here!  There may be a way to determine it numerically, but I doubt it would be possible (let alone a good idea!) to do so in a shader.

This wouldn't be in the shader though, but in the C# code - I'm trying to do the shader maths backwards in order to place a marker on the map within the game logic. As for the issue being solvable, it should theoretically be possible seeing how every a only has one b, if you get me  Huh? Anyways, thanks a million, I'll take a closer look at your math Hand Thumbs Up Left

Update 497

Fog of war and "slow reveal" animation for the map.

The fog of war is pretty straight forward. As you move through the world it draws to a texture, which is then used to determine what of the map to reveal.



The "slow reveal" animation looks like this (on a fully explored map, it looks slightly different if you just have bits and pieces uncovered):



It's essentially a flood-fill out from the player's position. We implemented this for a few reasons.

One is that we want it to feel like you're accessing the slugcat's spatial memory rather than just bringing up a map on some HUD - the slugcat is an animal, not a cyborg super soldier. If it takes a bit of time, its communicated to the player that this is an act of thinking long and hard about what was where, not just "bringing up the map".

Another is that that the animation doubles as a time penalty. The idea is that the filling in animation should be somewhat satisfying and fun to watch, masking the penalty aspect from the player while the actual gameplay implications of it remain; namely that you spend precious seconds just standing still. Hopefully this will incentivize fewer and longer map sessions rather than quickly tabbing in and out of it once every room. We want the player to look at the game, not the HUD - if you flicker in and out of the map you don't pay as much attention to landmarks in the environment, and looking at the environment is exactly what we want you to do as much as possible. Also we want the player to have to keep at least some of their route in their head, as that's part of the game's challenge.

A third one would be that your inability to move in combination with the enemy still being mobile will require you to find a good hiding spot for bringing the map up, which feels like a nice atmospheric element.

The flood fill has a bit of a bias towards where you're panning the map, so you can sort of "pull" it a bit in one direction or another. If you release the map button quickly, your map reveal progress is saved, but if you wait for too long or move around too much it's reset. There is some forgiveness though, if you take the map down and quickly move a few steps in some direction you can bring it up again without it being reset.

The blue color in the map signifies an edge of the explored area which is not a wall - basically somewhere you might potentially explore further. Not 100% settled on the aesthetic of that element just yet, but I think the functionality is sound, it makes a lot of sense that you should be able to easily browse for potential exploration destinations.

The dotted lines are, as I'm sure you've understood, longer connections between rooms.



These have been a bit of a problem in some of the earlier regions, that were developed when we thought of the rooms more as free entities rather than part of a whole that should make geographical sense. HI (pictured) is sort of on the edge of that paradigm shift. In the gif you can see that I first pan over a bunch of rooms that make a lot of geographical sense, but then I pan to the right and things get pretty jumbled with lots of dotted lines crossing over each other and the rooms they're connected to. That latter chaotic look is part of what we're going to try to tone down in the upcoming level work. A big majority of it seems to be solvable just by re-connecting the rooms, and where that doesn't work we'll add the occasional simple little connector room. Not all of the dotted lines will necessarily be eliminated though - personally I kind of like having a few of them spicing up the look of the map. The criss-crossy chaos in the rightmost part of this map however will be worked with a bit.





   JLJac on December 15, 2015, 01:19:05 PM:

Valid concern!

I think that the reason why it looks very busy and overwhelming is that you're unfamiliar with it. In the context of the game, you will yourself "draw" the map by moving through the region over and over again, so at any given time you should not be presented with more information than you can handle.

For comparison, when you first enter a region the map won't look any more impressive/confusing than this:



Which should definitely be within what anyone can deal with. From there you build the insane crazy big map yourself by moving around, meaning that you have an actual relationship to all the places shown in the map as you're guaranteed to have seen them in the actual game before.

Reducing the map to an abstract node graph crossed my mind, but it has a pretty big downside - if the rooms are not at least to some degree depicted, how do you know which room is which?





   jamesprimate on December 15, 2015, 11:15:46 PM (Last Edit: December 15, 2015, 11:24:47 PM):

eh, its important to note that what you are seeing in these gifs is mockup maps that Joar threw together based on the old (pre-polish) region layout paradigm. We havent even started putting the maps together in a clear manner, so these are intended to show the functionality of the map code (which is AWESOME) rather than examples of the finished product. Further, the map tools allow us to orient the room positions any way we wish, with up to 3 layers of depth if necessary, so im pretty confident that we can find clear solutions.

its true that any map with be complex though. the world isnt aligned on a 2d plane (and *cant* be), so if a map is to be usable at all, it will have to have depth and 3dimensionality.

Imagine the Fez map:



but literally 10x times larger and more complex. AND we need a much higher visual fidelity if we want the map to serve any utility at all. Its a tall order.





   JLJac on December 16, 2015, 12:05:06 AM:

Yeah, there is still a lot of work to do! Maybe I kind of rushed ahead in posting those gifs of the fully revealed map of a fully un-polished region - looking at it again with your eyes it does look very confusing  Who, Me? These gifs were to show off a technical implementation, not the content of the map, which will make a big difference. A few notes that may address some of your concerns:

The map will be mostly on a 2D plane - as many of the rooms as possible will be fitted next to each other. The multiple layers will be for some edge cases and the occasional secret passage branching off from a main 2D map. Hopefully this will feel exciting rather than confusing, imagine finding a passage that leads to a little secret area that is "off the map" so to speak.

The movement of the map in that very short gif is really hard to follow. When you are in control of it yourself it comes across as way less hysterical - especially the layer switching is a looooot easier to understand when you have pushed a button yourself to make it happen.

Once we have the rooms placed in a sensible manner, the map textures will get a manual touch-up to make them appear more like a cohesive whole rather than a bunch of disconnected little blocks.

The fog of war really helps to make it understandable. I was showing the map to my dad, and initially he had the same impression as you guys - that it was an overwhelming information overload. Then I tried to turn the fog of war on and move through a few rooms, after which I brought the map up again. He was able to make sense of it because he had seen all the areas I had been running through and could recognize them on the map. This made him change his opinion about it quite a lot!

As for the complexity, many of the regions are insanely complex! Talking about complexity here, not geographical disconnectedness - the former we want to keep, the latter we want to work with. We're fans of the complexity and size, it drives home an emotional point about the relentlessness of Rain World and the smallness of the slugcat. The vast size and sprawling nature of the regions is something we think of as a core aspect of the atmosphere of the game. We'd like the map to reflect and visualize that aspect. Which, of course, shouldn't get in the way of actual playability, so if it does we will definitely take measures to make it easier.

End of the day, I think it's pretty hard for any of the parties involved here to judge. James made the rooms, I made the map, and you guys have a 4 second gif of an unfinished chaotic region to look at which you can't control yourself but which just pans around frantically (my bad!). When we have a player going in fresh in a finished region with fog of war on and uncover it themselves, that would be a better measure of its utility. Depending on the outcome of that scenario we'll make the necessary edits to have the map be both an artful representation of the world and a useful tool for playing the game.

As for now, I have to move on to some creature implementation, as map progress can't really proceed much further until we have some polished regions. But don't worry guys, we will make the map cool and useful  Smiley Not gonna let you down!





   JLJac on December 16, 2015, 12:16:53 AM:

If you're already rendering the map as one texture with a distortion effect, can't you just include the markers in that texture to distort them along with the rest? Huh?

Or am I missing something?

I'm not drawing the map texture's color to the screen, rather its pixels are color coded on the separate rgb channels to signify some different aspects (solid/open, presence of water, etc). Also the map is 1/4th resolution, so stuff like a perfect circle couldn't be drawn in it.

Yeah it looks ugly that the markers aren't syncing up.

I like the map system though. I don't think complicated maps should be a concern at all, as long as you introduce the player to them properly.

Yuuup, still haven't figured that math out completely. Will return to it.

Anyway, have you considered a clearer way of defining which "layer" of map you're on? Like a color code or a number or something.

Might be a good idea! Mostly I'd like to solve it by having the layer switching not be much of a concern - most of the map should be in layer 1, and when you do go to layer 0 or 2 there should ideally be a chunk of region in that same layer so in most cases you have the relevant information in the same layer displayed by default as you bring the map up. You will of course be able to switch between the layers, but there shouldn't be a significant amount of browsing between the z-layers. It should not be like flicking through a file cabinet, but rather just the occasional jump in or out to follow one path or another.





   jamesprimate on December 16, 2015, 11:12:24 PM:

 Wink Wink Wink Wink there might be some other lizards as well





   jamesprimate on December 17, 2015, 12:36:32 AM:

this is definitely a cool idea. there are some other odds and end that will very likely be going in, such as shelter locations icons, food sources, and maybe locations of deaths. So i wonder if that stuff could be done as an "erodible" layer of memory? We'll ponder on how these all might be done when we return to map land after the region polish is finished.





   JLJac on December 17, 2015, 12:07:38 PM:

Update 498

New creature! This one is the "scavenger", an intelligent creature that will play a part in the narrative that we won't spoil - however I'll share the development of the animation with your guys.

Here are some sketches. We're aiming for something along the lines of the central one standing next to the slugcat.



Here's what we have so far:



This one is a knuckle walker, a type of locomotion I haven't done before so that should be interesting. Another challenge is that this creature is native to the Garbage Waste region (though it will appear in other places as well) which has some difficult terrain. Generally it's easiest for the creatures to move on flat floors, where they can build momentum in an easy linear direction that is aligned to the tile matrix. Garbage wastes however is mostly slopes, which is a bit harder to work with.



I'm tackling this one by fetching a few stretch of a few tiles from the path finder rather than just the next tile to go to, and then I try to smoothen that a little bit.



Still not completely effortless, but better than if it went tile by tile on the ground! From here I will try to make it swing its body a little more back and forth, so I later can hook up the arms to that movement and have it approach the movement of a monkey where both hands are placed on the ground and the body swung forward between them.





   jamesprimate on December 17, 2015, 01:35:09 PM:

Quote

So...is there going to be a digital art book or anything like that? I love those sketches

Digital and physical!





   JLJac on December 18, 2015, 03:49:02 AM:

James just sent me the updated version of SU and we made a map for it. The new rooms look awesome, and the new geographical layout of the rooms really add to the experience. It feels really cool to be exploring this space and have coherent directions of travel between the rooms. Excited!   Hand Shake Left Grin Hand Shake Right It's not even possible to express the improvement this region has gone through in just a couple of days.





   JLJac on December 19, 2015, 01:10:45 PM:

Update 499

Knuckle walking coming along! Looking pretty funny at this point though, some polish will be needed after the skin is applied.



Also the lower body is supposed to have two little legs - a part  haven't entirely figured out yet.



I think that for this creature the behavior and the look are so intimately connected that I will have to develop them side by side. We have a very specific idea about what the character of the creature should be, which is kind of a new situation. Generally so far we have had a vague concept and then the creature has grown out of that, concept being shaped by the technical implementation as much as the other way around. This one we have a few key words for though, such as "intelligent", "mysterious", "intimidating" and "similar to you". Striking all of those is going to take some pretty fine tuning - as you can see I certainly haven't hit any yet  Tongue





   JLJac on December 22, 2015, 07:33:35 AM:

Thanks for keeping the expectations low Hand Thumbs Up Right Epileptic

I guess we'll either have to come up with something or start lobbying really hard for a global switch to hexadecimal counting base.





   jamesprimate on December 22, 2015, 08:17:41 AM:

Thanks for keeping the expectations low Hand Thumbs Up Right Epileptic

I guess we'll either have to come up with something or start lobbying really hard for a global switch to hexadecimal counting base.
New trailer is quite an unrealistic expectation, and chaining milestones to arbitrary numbers is not a good idea in general. But can we expect at least a kickstarter update soon-ish? The last one was in august and not everyone reads deeper than your page there.

See this is why I like you Teod. Yep yep and yep. But since I'm blazing through the region polish right now, I'm in a pretty good spot to record some footage of the updated regions (Neo Suburban!), show off the map system in context (which is working out really well with the refactored region layouts!), etx. As you rightly inferred, the Kickstarter backers are restless for an update... so I'll try to kill 2 birds with one video!





   jamesprimate on December 23, 2015, 03:23:21 PM:

Haven't announced a release date yet! But yes we'll def be at pax east. Might have a rain world party too!  Hand Metal Right





   JLJac on December 25, 2015, 02:22:02 PM:

Hope you all have enjoyed your holiday celebrations!

Update 499.5

Scavenger coming along.



Color etc still up for change, and loooots of details still missing - hands for example.



Antler/ear head appendages are procedurally generated so each individual will be recognizable. The upcoming cosmetic stuff will take that even further - I want to aim for at least the amount of individual customization that the lizards currently enjoy.

Still a few animations that need to be implemented, such as climbing, swimming.





   JLJac on December 27, 2015, 02:04:50 PM:

Family holiday stuff stretched out for a few days longer, so sorry about the low tempo. Should be able to step it up again from now!

Update 499.75

Further scavenger individualization.



The faces are already fairly individual, and the body types have some stuff going on (fatness, muscularity of arms) but could definitely go with more. More importantly though I want to attach some scales and tufts to them - that stuff is usually what gives the best effort/return ratio. My experience with the other creatures is that varying the thickness of some limb between 10% and 190% is generally barely noticeable, but just sticking some random stuff on that sticks out and breaks up the silhouette has a huge impact immediately.

For this purpose I've started on tracking their spines (red dots), therefor this mad cucaracha science. The first thing I want to do is put some tufts on their backs, for which I think I'll have to track the shoulders and find some sort of surface for the back. What's different here compared to the lizards is that these guys have a neutral (neither facing left nor right) position where they have their stomach to the camera, whereas the lizards have their backs to the camera in the neutral position. This might mean that I can't put colored decals on their back (because of overlapping issues) but will instead have to go with flat color stuff. We'll have to see how it goes though!





   JLJac on December 28, 2015, 02:27:39 PM:

Thank you sir!  Gentleman

Update 499.875

Update labeling officially out of control. Project discontinued.

As for scavangers, I suggest adding a light colored spot on their chest. Maybe even a full chest tuft. With color, shape and size being random it can add quite a lot of variety.
This was a very good idea and went straight in. A colored field on their belly definitely brought some volume to their shape and made them appear as more of a creature and less of a flat color blob. Thanks  Hand Thumbs Up Right Hand Thumbs Up Right

I'm putting off showing them as I currently have them in a horrible looking debug state trying to attach scales to their backs, which is a bit troublesome due to their necks folding over forwards in front of the body. I count on sorting that out relatively quickly though, and then I'll just add some detail to them and the individualization phase will be done for now. Stay tuned!





   JLJac on December 29, 2015, 03:41:12 PM:

Update 500

So we're doing update 500 finally Smiley James is doing a video that shows a playthrough of the new Heavy Industrial region - it will probably be up in a few hours. It won't show you anything like new creatures or so, but for those of you who have played the alpha in particular it might be interesting to see how the game plays in its current form, contrary to cut up trailer footage. Also the map will be demoed.

In the mean time, I thought maybe some scavengers would be exciting!

 
 
 
 
 
 





   jamesprimate on December 29, 2015, 05:31:28 PM:

Happy Holidays from Rain World! Santa brought new vids, UI, maps, art and critters:
https://www.kickstarter.com/projects/rain-world/project-rain-world/posts/1454923




Full size: http://i.imgur.com/a6sQWMm.png