—    —  Home

   jamesprimate on February 14, 2015, 03:10:23 AM:

right now im going back into first region i did, Suburban, and touching it up. both for the new widescreen look and to bring it up to the skill level of the more recent regions. its tedious work, but man the results are worth it:


detail: https://i.imgur.com/6damPma.png

as alpha players know, there aren't too many multiscreen rooms in that first region, so i want to make them count!





   JLJac on February 16, 2015, 05:49:08 PM:

Update 397

Shelter gates!



This animation has been sort of insane to get working, but by now I'm pretty happy with it. The segments move in at intervals that's a bit randomized, to give it some variety as you'll see this one a lot.

Futile is not rendering my pixel art pixel-perfectly, which annoys me. At the edges of the sprites it picks up color from the 0% alpha pixels outside of the sprite, and blends that in with the color that's supposed to be visible. Also the sprite edges flicker when the sprites move. Oh well, PAX is coming up and I better keep moving. I'm sure I'll be able to sort it out later.





   jamesprimate on February 17, 2015, 11:29:50 AM:

I think "excessive" is exactly the point!





   jamesprimate on February 17, 2015, 02:36:30 PM:

futile is a code based 2D framework for unity. basically it lets Joar skip all the module "click and drag" stuff / editor limitations and work directly with C#, but still use the unity platform for its strengths: publishing and compatibility, etc. its definitely pretty rough, and a lot of stuff has to be made from scratch (like, even the audio engine needed significant expansion to be usable), but works so far!

https://github.com/MattRix/Futile





   jamesprimate on February 17, 2015, 03:39:42 PM:

oh rain world is definitely is a 2d (ish) game, and the only way we could really do that in unity while retaining the "rain world look" when porting from the previous engine was with futile! so thank you Matt Rix, wherever you are  Beer!





   jamesprimate on February 17, 2015, 04:43:18 PM:

i mean the results so far are pretty dang good from our perspective, but took like a solid 8 months or something of Joar slaving over it to it get it up and running and honestly is still ongoing process. "port" is probably the wrong word really, more like "complete engine rebuild/upgrade/re-imagining". but hey were pretty happy with how its turning out so ¯\_(ツ)_/¯





   jamesprimate on February 17, 2015, 06:36:32 PM (Last Edit: February 17, 2015, 06:49:06 PM):

kind of a deep question!

as far as the rain world look, if you check out the first pages of the devlog... thats the look: 2d, refined pixel art-esque combination of 20x20 sprites and physic simulation animation in a layered diorama style environment. thats what caught peoples interest and thats what they backed on kickstarter and thats what got us a publishing deal. so we couldnt very well switch over to something like vanilla unity, which is a straight up 3d engine, and do a totally different looking / playing game.

even for "2d style games", unity just places a camera to the side of a 3d environment, using 3d meshes for textures, creatures and environments. it wouldnt work at all for the per-pixel animation style that Joar does. so yeah, the pixel art aspect, but also everything else about the look and engine really. we would have had to make an entirely different game from scratch and everyone would have hated us, so again praise be to Matt Rix, hallowed be his name! we get to use all of the original development tool kit that Joar developed for the lingo build: level editor, tiles, geometries, etc etc, and just place it into a modern game context, which is pretty dang amazing.

you might then ask "why port at all?", and the answer to that is the old programming language that was used for the original build (lingo) isnt compatible with modern systems/platforms/etc and just wasn't capable of the scope of the game we wanted to make. SO... 8 months of hell. But hey, here we are!





   JLJac on February 19, 2015, 01:48:16 AM:

I think the unity tools would have been totally useful, but I tend to think that trying to work with and around "user friendliness" is more annoying than doing more stuff myself - which is obviously 100% personal preference. And obviously just to a certain level, I'm super happy about not writing RW in assembly. I absolutely believe that everything I've done so far would be possible to do in actual Unity, but I think I would've been more frustrated at times haha. Not to say that frustration has been at an even zero as it is  Cheesy

Update 398
James and I are working on a build to show at PAX, so a lot of the stuff I've been doing is bug squashing and trying to make features already present more presentable, which is why updates are a little sparse lately.

Today I did however do some fun stuff! A few of the old special moves made it back:

This is the skid - if you run a while in one direction and then change direction the slugcat slides a little. The gif really couldn't capture it, here it just looks like some droplets, but the actual feeling when you play is rather prominent. I guess some sort of intimate eye-hand interaction has to be at play which doesn't really come across if you're not playing what you're seeing. Anyways...



If you jump while skidding, you get the backflip:



Which is cool for obvious reasons  Cool

Then there's the roll, which is achieved by holding down + a direction when hitting the ground. Doing the roll saves you from that little stun that can happen when falling from higher altitudes, and gives you a little speed boost in the direction you want to go. You have some control over how many times the slugcat rolls by holding the down key - if you release early you get just one roll, otherwise you get two or even three.



You need some height to get the roll, you can't do it from just jumping on a flat floor.

Jumping out of the roll makes for a special jump, where the slugcat flies like an arrow through the air.



Depending on how long you maintain the roll, this jump acts a little differently. You could say that it's charged by the roll, so there's an interesting dynamic at play: You want to maintain the roll longer to get a more powerful jump, but if you wait too long the roll is exited and you get no jump at all.

The backflip ties in with the roll, meaning that from a backflip jump you can get the roll even if you're not falling from high up. This means that all of the moves I added today can be chained together, which looks pretty cool:






   jamesprimate on February 19, 2015, 02:37:19 AM:

 I LOVE THESE MOVES SO MUCH





   JLJac on February 19, 2015, 08:30:06 AM:

There will be a few more moves definitely, but not too many. The game should be about using a limited set of moves to maneuver creatively, not about memorizing a huge library.

Update 399

An old friend is back!



I have a decent implementation of the white lizard in now. The camouflage is working, and the different - way more passive - AI is running as well. Neither is top notch yet, but pretty functional.

I was thinking about doing the camouflage as some super high-tech shader, and I'm still considering an implementation like that, but... Actually I'm pretty fond of the flat color silhouette. It fits in with the art style better than shader madness, and actually it provides a pretty perfect amount of actual camouflage for gameplay purposes in my opinion. So, maybe I'll leave it like this for now at least.

For those of you who haven't read this devlog for years and years, the lizards come in different colors with some different traits. The white one is a chameleon that sits and waits instead of pursuing you.





   jamesprimate on February 20, 2015, 03:43:20 AM:

do it! people are going to need it  Cheesy





   JLJac on February 23, 2015, 12:42:47 AM:

Update 400

More old friends are joining us!



These guys mega janky still, they could use a lifetime of polish. But, as there isn't much interaction with them, the jankyness isn't game-breaking, so I'll move on for now.

I've always like the Garbage Worms because they're weird and because you don't really interact with them. It adds to the atmosphere when you enter a room and see this weird creature and don't really know if it's dangerous - and then you realize that it doesn't want anything from you, it just wants to live its own weird life in peace. It adds to the lived-in-ness of the world, somehow.



Yup, the animations need to be smoother. Moving on moving on, I'll revisit them down the line.





   jamesprimate on February 23, 2015, 04:08:20 AM:

GARBAGE WOOOOOOOORMS! how i have missed them. you dont even know how many times i had nag Joar to get them into this build  Cheesy

are those worms non-attacking?
I love it when there are creatures in a game just to flesh out the ecology of the environment

we have some plans for the worms (though exactly what depends a little on how some other things turn out), and the one of the upcoming regions (garbage dump) features them pretty heavily. but for this build at least they are just interesting background creatures doing their own thing, eating some garbage (or whatever). their movement and alien vibe creates a really cool mood though, and even just the mockup Joar did of them in the old lingo build was a highlight for me, so i cant wait to get hacking at some geometries for them!

the interaction in the water looks even better than i imagined!  Tears of Joy





   jamesprimate on February 23, 2015, 06:00:24 PM (Last Edit: February 24, 2015, 12:56:05 AM):

So guys. Oddball question here, but what are the odds of you putting up a download for the old alpha? Say, the one from the "slugcat life" video, or whatever it was prior to porting to unity. It may seem odd, but I kinda want to try it out, just to see how far its come. If not, do you think that there will be an option to play the old version in lingo when the game is finally released?

i think we might! probably wont do a big announcement about it, but for people who are interested and can understand that "this is the previous prototype alpha, NOT the actual game", it would be cool to show how much things have evolved. a lot of the single player in the lingo build is pretty much just a playable mock-up so not terribly exciting, but the mutiplayer is still totally relevant (and fun!)

one concern is that we kind of dont want streamers to get a hold of it and give people the wrong impression about where we are with the graphics and experience, cuz were light years beyond that now Smiley





   jamesprimate on February 24, 2015, 03:09:23 AM:

adult swim has some big streaming planz for us, but before we do any of that i think we want to wait until we have competitive multiplayer in for exactly that reason. 4 player multi with all these new creatures is going to be INSANE and we def want that to be a big part of the first impression.





   jamesprimate on February 24, 2015, 05:14:41 AM:

I have the utmost respect for the work you and Joar have done on this game, and even more so for the lightspeed pace it's done at.

Shocked

i literally dropped my mouse on the ground from the shock of someone saying that were developing quickly. you dont even know how relieving it is to hear those words! we feel like its taking forever of course.

and good considerations for the streaming. were totally interested, but just want to get the game into a shape were comfortable with first. that point is coming relatively soon though!


If I recall correctly, some MP plans involved playing as lizards, right?

eh, i dont recall that! unless it was an idea tossed out in a chat or something? definitely isnt in the GDD at least. were planning quite a few predators, and many of them with strange movement / hunting types, so its hard to see them as being playable. who knows though, were not there quite yet.





   JLJac on February 24, 2015, 08:16:51 PM:

...lightspeed pace...

 Tears of Joy Tears of Joy Tears of Joy
You're not mocking us, are you?  Cheesy

On the subject of streaming - as you say, very risky. If everything goes well, it could be a really cool way of reaching people. If there's some hiccup in the game that makes the streamer lose in some unfair way or something like that, that small little random occurrence could become a big problem. We'd have to be very secure and confident with the stability of the game. And as you also mention, atmospheric exploration is maybe not the best streaming material. That said Rain World does have a zanier side to it when it comes to creature interactions, and that side is further accented in the sandbox mode which will soon come around.

As for Lingo features, pretty much all of it will make it! Though some things might morph a bit to go with the new and more refined aesthetic. The red bubbles I don't really know about though, haha... If they make it in they're going to look quite different!





   JLJac 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





   JLJac on February 24, 2015, 11:58:30 PM:

Yup! See you next week  Grin





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