Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411525 Posts in 69377 Topics- by 58431 Members - Latest Member: Bohdan_Zoshchenko

April 28, 2024, 05:21:58 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsProject Rain World
Pages: 1 ... 103 104 [105] 106 107 ... 367
Print
Author Topic: Project Rain World  (Read 1447718 times)
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #2080 on: October 04, 2014, 08:30:38 AM »

oh wow that direct comparison is really nice! everything looks pitch perfect, just BETTER. smoother, cleaner, deeper. really really freaking impressive considering the huuuuuuuuuge amount of things that have changed under the hood.
Logged

iambored
Level 0
**


View Profile
« Reply #2081 on: October 04, 2014, 11:45:18 AM »

Hey, Joar, can you please talk some about the lighting? I'm currently implementing shadows in my own game, and I'd love to get some tips on efficient dynamic lighting. For instance- is the lighting parallel-projected?  i.e. does it have a source point, or is it only directional? From what I can tell, the shadows fall mostly on the back-wall and the floor, which suggests that the whole world is viewed slightly from above.
Logged

JLJac
Level 10
*****



View Profile
« Reply #2082 on: October 04, 2014, 05:33:55 PM »

Yup, parallel. The shadows are created with a pretty simple mechanic. As the level is rendered, is saves the depth of each pixel, ie how far into the Z dimension it is.

Now we're in the shader, and we're rendering a pixel P.

What we need to do is find a... let's call it shadow check coordinate S.

S is to the left of and above P. How much to the left and above increases linearly with the depth at P.

So if P has a depth of 6, S might be 6 pixels to the left and 6 pixels above P. (Except it's actually scaled by a factor in the actual game, and can have different angles that are not necessarily 45 degrees)

When we have S we do a check whether or not coordinate S is occupied by any sprite. If yes, then coordinate P should be in shadow.

What this essentially means is that if a wall is far behind the play layer, the shadows will appear far down to the right of the sprites. If the wall is close, the shadows will appear close to the sprites. But it's on a per-pixel level, meaning that she shadows can be distorted by different shapes in the background.

Simple as that! If you want to do some digging through the thread I think I did this stuff back in May, so there are more details to get there  Hand Thumbs Up Right
Logged
DarkWanderer
Level 3
***



View Profile
« Reply #2083 on: October 04, 2014, 06:06:51 PM »

I haven't been following the thread enough to quite remember entirely, but I was wondering how much progress of what you have made so far with RW in unity is from presets in the engine & how much is from your own actual coding? & what language do you use when you do code?
I'm asking because I have a friend playing around with unity who seems convinced you don't really need to know a language to make a game with it, & I'm fairly certain if you want some more complex things going on in your game you need to write the code yourself, & I figured this game would be a good reference point to show him. Would I be wrong in assuming a lot of the mechanics, physics, lighting, etc are things you wrote yourself?
Logged
Nico May
Level 0
***



View Profile WWW
« Reply #2084 on: October 04, 2014, 06:33:20 PM »

from watching this, basically everything is done by hand, he's not even using the unity editor (I believe) he's using a very minimal framework that uses unity as a renderer. So everything you see on this thread has been done from scratch.
Logged

JLJac
Level 10
*****



View Profile
« Reply #2085 on: October 04, 2014, 07:49:39 PM »

Yeah, it's all done from scratch. I'm using Unity to handle input, it has a very convenient framework where you can just ask if a button is pressed. Also I use the unity engine for some extremely basic stuff such as float maths and random numbers, but I think there are probably a million libraries for that, so it's not really Unity specific.

The main reason why we're in Unity to begin with is to use its graphics engine to render sprites through the Futile framework. But that's some pretty basic stuff as well, importing a graphic, declaring a sprite that uses the graphic, that kind of stuff. And I have been digging a tiny little bit into that as well, doing customizations, for example the tails of the creatures are a custom version of the Futile FSprite class.

So yeah, I haven't touched the Unity Editor and it's all written in C# from scratch. That is cool and all, but it comes with its problems. For example I have my own home brewn "physics engine", which is not the best all of the time for all scenarios. So, pros and cons. Because on the other hand, if there is a problem in my code, I can attempt to fix it, as the entire code is accessible to me.

If I got a fresh start at making games, I'd probably not try to learn how to do everything myself though! I think you can achieve really cool results way more quickly by using for example the Unity Editor and presets. It's probably a way more efficient work flow, and the code doesn't end up an obscure nightmare haha!
Logged
DarkWanderer
Level 3
***



View Profile
« Reply #2086 on: October 04, 2014, 10:07:20 PM »

Thanks for taking the time to answer my inquiry Coffee
Logged
BarchKing
Guest
« Reply #2087 on: October 05, 2014, 02:18:17 AM »

for the shadows I would recommend making them a bit darker, its a brilliant effect but I missed out on seeing them until someone pointed them out. it would be a shame if it wasnt noticed in game
Logged
JLJac
Level 10
*****



View Profile
« Reply #2088 on: October 05, 2014, 05:47:08 AM »

Yeah definitely. The ones shown are the standard palettes, and in those I want to keep the shadows from being distracting - but when the game gets some more areas that are focused more on mood rather than action, there'll be palettes with much greater contrast between light and shadow, so you really can't miss it!
Logged
Lucs
Level 0
**



View Profile
« Reply #2089 on: October 05, 2014, 05:47:44 AM »

Shadows look perfect imo
Logged
Christian
Level 10
*****



View Profile WWW
« Reply #2090 on: October 05, 2014, 08:09:01 AM »

 Shocked  Epileptic Tears of Joy





GIFs from the latest Kickstarter update
Logged

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


View Profile
« Reply #2091 on: October 05, 2014, 11:08:57 AM »

Update 303

It already is exponential in the old gifs actually, ^3 or ^4 I think.  Shortening the span though was a good idea, tried it out and it did look better!

Not that it makes any difference, but x^3 and x^4 are still polynomial. Exponential is e^x or 10^x or anything^x
In practice, when bounded on -0 to lizard tail- and -0 to 255-, polynomial and exponential are not fundamentally different. Just setting the record straight.

Last for today, a thing that I'm not keeping but which ended up looking pretty cool - I tried to have the algorithm grow at random, and the effect ended up looking like a tesla coil, or veins:



What exacly is that? Randomly calculated flee map from the location of the creature as opposed to a fully-calculated map of location dead-endness?

Update 306
Well, most of the day was spent in hesitation over above issues - I did some calculating back and forth but that obviously didn't help me much as I do realize that what I think of as "big numbers" or "small numbers" is irrelevant to the scope a computer. I didn't want to start implementing it without knowing it was going to be an actual realistic solution, so I kept away from it and did some other poking around today.
I say 200kb per map is OK. That's what, 10-100 megs of RAM for the whole game, considering this will probably end up being the most memory-heavy part of it?

The performance question I'd ask is "will all that data (for the currently loaded map) fit in cache?". And even if it won't fit, nothing you can do about it. You can't compress data for cache, that's like disassembling half your car so it can fit in a parking space closer to home.

Programmer time is the most precious resource, don't hesitate over optimisation: that's what profiling's for.

Then again, you're the guy with your own company, I'm just a chump who hasn't used c++ in 4 years, still hasn't learned the modern opengl pipeline, and never started his own game. Take everything I tell you as personally untested but comforting-sounding hearsay.
Logged
iambored
Level 0
**


View Profile
« Reply #2092 on: October 05, 2014, 12:25:38 PM »

Yup, parallel. The shadows are created with a pretty simple mechanic. As the level is rendered, is saves the depth of each pixel, ie how far into the Z dimension it is.

Now we're in the shader, and we're rendering a pixel P.

What we need to do is find a... let's call it shadow check coordinate S.

S is to the left of and above P. How much to the left and above increases linearly with the depth at P.

So if P has a depth of 6, S might be 6 pixels to the left and 6 pixels above P. (Except it's actually scaled by a factor in the actual game, and can have different angles that are not necessarily 45 degrees)

When we have S we do a check whether or not coordinate S is occupied by any sprite. If yes, then coordinate P should be in shadow.

What this essentially means is that if a wall is far behind the play layer, the shadows will appear far down to the right of the sprites. If the wall is close, the shadows will appear close to the sprites. But it's on a per-pixel level, meaning that she shadows can be distorted by different shapes in the background.

Simple as that! If you want to do some digging through the thread I think I did this stuff back in May, so there are more details to get there  Hand Thumbs Up Right

So you're not limited to just floor and backwall shadows! Nicely done! I'd love to see some more complex background shapes.
Unfortunately, for my own game, I can't afford going per-pixel like this. I tried to implement dynamic shadows today in the most efficient way I could think of, and yet it still fell flat on its face at ~30 fps. Guess I'll have to stick to static shadows. I'll give that earlier material a read, though.

Edit: oh, and thank you, of course, for replying! I really appreciate it!  Beer!
« Last Edit: October 05, 2014, 01:17:01 PM by iambored2006 » Logged

JLJac
Level 10
*****



View Profile
« Reply #2093 on: October 05, 2014, 02:39:35 PM »

Not that it makes any difference, but x^3 and x^4 are still polynomial. Exponential is e^x or 10^x or anything^x

Oops! I never took maths after ... ugh school systems ... upper secondary perhaps? So I really don't have the faintest what I'm talking about o.0 Thanks for the correction though!

The gif is just a work in progress that looked interesting but was never used. What you're seeing is a dijkstra map being generated with a completely random next-tile-to-expand-heuristic, and as each new tile is added it traces back to the origin point and increments the values along the way, creating the tree-like structure.

I say 200kb per map is OK. That's what, 10-100 megs of RAM for the whole game, considering this will probably end up being the most memory-heavy part of it?

The performance question I'd ask is "will all that data (for the currently loaded map) fit in cache?". And even if it won't fit, nothing you can do about it. You can't compress data for cache, that's like disassembling half your car so it can fit in a parking space closer to home.

Programmer time is the most precious resource, don't hesitate over optimisation: that's what profiling's for.

Then again, you're the guy with your own company, I'm just a chump who hasn't used c++ in 4 years, still hasn't learned the modern opengl pipeline, and never started his own game. Take everything I tell you as personally untested but comforting-sounding hearsay.
Not all rooms will be loaded at the same time, so this is probably not going to be a problem at all. It's just that it'd feel kinda weird to release a pixelly retro platformer that's 30GB big and requires a monster of a computer, haha.

I guarantee you that my chumpness trumps yours! I'm just a kid to whom a kickstarter happened, and I have no idea what I'm doing. But things seem to be going good enough so far, touch wood!

So you're not limited to just floor and backwall shadows! Nicely done! I'd love to see some more complex background shapes.
Unfortunately, for my own game, I can't afford going per-pixel like this. I tried to implement dynamic shadows today in the most efficient way I could think of, and yet it still fell flat on its face at ~30 fps. Guess I'll have to stick to static shadows. I'll give that earlier material a read, though.

Edit: oh, and thank you, of course, for replying! I really appreciate it!  Beer!
Technically I'm actually limited to only back wall shadows, but all surfaces are built out of several layers of back wall Wink I think that if you're doing anything per-pixel, it has to be done in a shader. If you do that stuff on the processor, it's just too slow. Oh and you don't need to thank me for bragging about my game haha!   Crazy
Logged
cainex1
Level 0
*


View Profile
« Reply #2094 on: October 05, 2014, 02:57:55 PM »

Second post here ever, still watching the thread with great intensity. Joar, your drive and commitment are inspiring, it reminds me of the early days of 3d gaming, there were brilliant madmen out there just trying new stuff to see if it works and BAM colored lightsources. It pleases me that I pledged, you guys are completely worth it. James, I like your style and if what I've seen so far is any indication, you 2 will make a smashing team. The amount of progress in the amount of time here is staggering.
Ok, praise aside, it looks like you already have the makings of 2 interesting new game modes, Game+ with no UI, a slightly expanded FOV (like 100 degree in front with a bubble of maybe a metre, expandable in greated light/visibility) and perhaps a mechanic to indicate things out of sight (a few lizard bubbles in the dark or directional sound for example). The other of course being Bizarro/anti rainworld where the slugcat is the honey badger of the world who mercilessly hunts down lizards both for the joy of the hunt and to provide for its family (most things being afraid of an uninjured adult slugcat and at least wary of an injured one), clear a path to the lizard corpse and bring out the cubs to feed, of course such an exceptional animal would have a massive metabolism (mere flybats would hardly even be a snack).
Anyhoo, enough of my rambling, good luck and godpseed you glorious bastards.
Logged
BurningBright
Level 0
*



View Profile
« Reply #2095 on: October 05, 2014, 07:58:19 PM »

Shocked  Epileptic Tears of Joy





GIFs from the latest Kickstarter update

I've watched these so many times, and made my dear ol' mum and other assorted friends and family watch them as well.  After the update received today, I had to register here at the forums just to say that it's with a happy heart that I watch the progress of this game!  It's looking seven sorts of spectacular, I tell you what. 
Logged
SafetySnail
Level 0
***



View Profile
« Reply #2096 on: October 05, 2014, 09:06:47 PM »





I really like that you can see Slugcat look up before the lizard falls into the screen. So many lovely subtle hints to look for while playing, this is looking so great guys.
One thing though, it seems super unclear to me right now where the shortcuts lead to, it'll probably make more sense playing it but do you have any plans to make it any more obvious?
Logged
Christian
Level 10
*****



View Profile WWW
« Reply #2097 on: October 05, 2014, 09:20:18 PM »

It's been 12 hours now and I'm still not over how good those GIFs look. I mean, the game always looked great, you always had the menacing animalistic animations nailed down. But everything just clicks so perfectly here. The silky smooth animations, the little subtle movements that just make sense (slugcat hoisting its lower body onto the pipe), the heavy coiling bodies of the lizards barely grasping onto footholds, the reaching limbs of both slugcat and lizards, the shadows

So happy I had backed at the Early Access tier, because I can't wait to finally play this whenever it's finally available

Had a question: will the environment stuff like hanging roots and vines move, either from wind or rain, or from animals passing by?
Logged

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


bad, yells


View Profile WWW
« Reply #2098 on: October 05, 2014, 10:02:11 PM »

i love the bubbly splashes the crocs get when they land/hit something; they feel very oily and fluid
Logged

ArsCreativa
Level 0
**



View Profile WWW
« Reply #2099 on: October 05, 2014, 11:44:44 PM »

Astounding animations! I love the subtle shadow effect on the background.
Logged
Pages: 1 ... 103 104 [105] 106 107 ... 367
Print
Jump to:  

Theme orange-lt created by panic