—    —  Home

   JLJac on November 02, 2015, 01:31:23 PM:

It's one of those numbers where scientific notation doesn't do you any good, you end up with stacks of exponents kilometers tall.





   jamesprimate on November 02, 2015, 08:38:40 PM:

yep! the ambient music and sfx will be arranged in a procedural way, and in addition to that there will also be other music, such as the Else series, Grumblebum etc, that are for set for certain regions, locations or narrative events in order to create a specific mood and set emotional context, yadda yadda.





   JLJac on November 03, 2015, 01:55:23 PM (Last Edit: November 03, 2015, 02:01:22 PM):

Update 495

Gotten started on the new region. Where the previous one was laaaaaaarge with lots and lots of different sub-regions and creature sets, some of which were weird and kept secret, this one is going to be smaller and less internally varied, but in return way stranger. Like, really really turning a lot of things about the standard rain world formula upside down. Basically we want to take everything you think you know about the world and switch it around in this region, where slugcat is far out on thin ice. Within the stylistic confines of the project of course, it's not going to become a text heavy interactive novel or anything like that  No No NO

As the region will be considerably smaller than the previous one, we expect to move through it a lot quicker even though it will have these strange elements and new mechanics. We're going for an economic approach where we want to get as much strange player experience as possible out of the work we put in. One day of work in it looks hopeful - we already have a mechanic in that we hope will surprise you guys and make the region stand out.

Sorry to continue keeping the lid on! We're almost through, and then we'll get back to normal devlogging and let you guys come along through the final stretch. Hang in there!





   jamesprimate on November 04, 2015, 05:00:23 AM:

I believe we have crossed a very crucial threshold today, and that is the threshold where people have made slugcat costumes for Halloween and/or cosplay: https://twitter.com/rainworldgame/status/661885217574121473





   JLJac on November 11, 2015, 01:01:00 AM:

Thank you thank you! Hang in there guys!

Programming purity question:

With an integer rect struct, should the upper digits be thought of as included or excluded?



It's a silly question I know, but I just can't figure something out that feels right. The inclusive one makes sense because, well, look at it, but what doesn't make sense is that if I ask for its width I get 7-4=3 tiles, where the width very obviously is 4 if you look at it.

I'm gravitating towards the inclusive version and then just slapping on a +1 on the width and height accessors, but that feels horribly unpure to me as the same logic could hardly be applied to a float rect. Should I just accept that integer logic and float logic are different here?





   JLJac on November 11, 2015, 08:37:10 AM:

Ah, exactly the sort of insight I was looking for! Thank you so much  Hand Thumbs Up Left Smiley Hand Thumbs Up Right

That Dijkstra article is cool! I assume this is the same guy as in "Dijkstra Maps" - the pathfinding algorithm?





   jamesprimate on November 17, 2015, 05:26:34 AM:

the bar keeps getting raised guys  Cheesy





   JLJac on November 20, 2015, 01:06:06 PM:

This region has so much stuff. So. Much. Stuff. Like, four regions worth of new stuff.

I have been in absolute agony not to be able to post two or three specific gifs I have over here  Shocked

Tell them James! Tell them how much stuff there is O__O





   jamesprimate on November 28, 2015, 05:28:57 AM:

This region has so much stuff. So. Much. Stuff. Like, four regions worth of new stuff.

I have been in absolute agony not to be able to post two or three specific gifs I have over here  Shocked

Tell them James! Tell them how much stuff there is O__O

way too much stuffs, its crazy. i used to be proud of how many rooms there are but at this point its just ridiculous. were well over 1200 screens at this point WTF

this new region is about the size of 4 of the earlier regions and absolutely PACKED with new visuals and mechanics. its mind blowing. fortunately though... it is coming to an end!!!

were doing a bit of smoothing work and debugging right now, but by the end of this weekend region 12 will be a WRAP!! meaning that after over a year of solid level work, 12-16hrs a day pretty much every day, ALL REGIONS ARE NOW COMPLETE and we can start into the next phase  Tears of Joy Tears of Joy Tears of Joy i cant even tell you what an insane relief this is.

next steps will be polish pass, where we go through and touch-up the earlier regions and add narrative / context / setpiece stuff. but thats easy, just spruce things up here and there using our new toolkit. nothing remotely like having to create distinct, internally-consistent, playable architecture and layout for an open world of 1200+ screens from scratch. while thats going on we should be able to post normal updates too, which will be nice. we miss you guys/gals!

but first we are taking a bit of a break. next week Joar and i will be on the same continent (a rare occasion!), so were going to hang out and plan all the final bits and pieces. WE MIGHT ACTUALLY FINISH THIS GAME SOON  Shocked Shocked Shocked Shocked





   jamesprimate on November 28, 2015, 12:43:14 PM:

We have one in the devtools already that uses realtime data from the actual map files, but it'll probably take some creative effort to make it work in the context of slugcat land in a way that doesn't seem super HUD awkward. We have some ideas though! since the mechanism is literally already in there, I'm pretty confident we can make it happen





   jamesprimate on November 29, 2015, 05:36:55 PM:

it'll still be a *little* while. we need to polish everything up, get all the progression mechanics tied in, balance the damage system, UI and menus, finish the music and audio, do some heavy QA etc. BUT all that is pretty straight ahead compared to what we have been doing. so yeah sort of! you'll very likely be seeing some announcements about release timeframe soon  Beer!





   jamesprimate on December 06, 2015, 05:20:44 PM:

Yo! Yeah this has all been in the pipeline for a bit, but it takes soooooooo long to make it official and go through all the proper channels! Even now, with it being shown onstage and in the official PlayStation videos and all that, there are STILL quite a few hoops yet to jump. But hey it's officially official: PS4 and Vita





   jamesprimate on December 07, 2015, 12:04:15 AM:

I'm just waiting for an official site with correct information and a preorder function so I can go around telling people to buy this game Tongue


VERY TRUE





   jamesprimate on December 13, 2015, 01:41:36 AM (Last Edit: December 13, 2015, 02:07:03 AM):

Hello friends! We are back from a week of brainstorming with a pretty solid plan for completion, as well as some significant progress on new fronts. Joar will be back to devlogging tomorrow, so in the meantime ill bring the log up to date a bit so he can hit the ground running. Pardon, most of these images are big so might need some scrolling.

Food UI

This is something that has been discussed a lot over the course of the devlog, but now its actually in the game and functional (amazing!) Replacing the old "number appears over the head" when consuming bats and other foods, now we have this minimal circles and lines system that will appear and disappear from the bottom left:



I think its a little large right now, but thats super easy and we'll play with that a bit later. Simple UI, but gives us a clear way of communicating some key things beyond just "food eaten":



just ignore the typo on "demarcates"  Cry




Map UI

This is a biggie and im sure there will be opinions. As much as we'd like it to be otherwise, given the ridiculously huge size and complexity of the game world it would be heinous to not include a map function for the player.

Here is an early mockup of the map overlay:



Fairly self-explanatory, the map will fill in as the player moves through the world and the red circle indicates the location of the player. Food sources that are discovered will be indicated on the map, as well as possibly locations of player deaths and other important information. Left shoulder button will bring up the map, and D-pad movement will switch to map scrolling, allowing the player to plot new routes, see areas they may have missed, etc. Time will proceed as normal when in the map (so player can be eaten or rained on, etc), so the background will be semi-opaque, allowing to player to see if a predator is sneaking up.

One thing that we are concerned with is avoiding a situation where the player “plays” the map, running around with it semi-opaque, or quickly tabbing in and out like its a HUD, etc etc. Our concept for this is something like the slugcats visual memory, which requires some time and concentration. So the idea is that the player finds a safe place to hide for a minute or two and think hard about where its been. The map will appear at first to only be the nearby surrounding area and far off locations will take a little while to fill in, etc. This vibe stuff will be dealt with after the map is functionally implemented so we'll talk more on that later.



Problems:

Here is what Joar has in the currently implemented version:



Looks decent so far, but one thing you will notice is that it still seems pretty blockly... like a series of interconnected single screen rooms. because thats what it is  Cry Thats not the visual impression we want to give, and its going to be a bit of a biggie to fix. We want to move the world map from its current room by room layout into visually cohesive region maps that show consistent movement through 2d space. And heres how we plan on doing that:





**Heavy Industry Map spoilers ahead**


Here is a shot of the current crude devtool map for Heavy Industry region:



Notice that there are plenty of chaotic connections and bits that dont make sense on a 2d plane. Thats my fault. Initially the game concept was "popping in and out of rooms of vague distances apart, and not necessarily all on the same axis" rather than the current "large structurally cohesive regions on a 2d plane" concept that we've evolved into.

Fortunately, with minor adjustments, it starts to make more sense:




And you can imagine that adding a connecting room here and there will make it even more clear.

Since Ill be going back through the levels and regions in polish pass anyways (starting today!), part of my work will be remixing the earlier chaotic regions into these more structurally cohesive forms. Joar will then take these "canonical room placements" and stylize them a bit, with the output being a region map thats something like this where "it all makes sense":



We think this will add a lot to the player experience, allowing them to piece together the "puzzle" of the world map with a visually satisfying end result. This will also give the regions themselves more of an individual personality and "vibe" beyond just an endless series of rooms.





   JLJac on December 13, 2015, 06:21:38 AM:

There will be! Just not very practical to implement before you have the actual map running  Wink





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





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





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





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





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