Post AUNlRLbRqCDvtW8PfE by eniko@peoplemaking.games
(DIR) More posts by eniko@peoplemaking.games
(DIR) Post #AUDT4Pjl55FpiiReNc by eniko@peoplemaking.games
2023-04-01T17:59:08Z
2 likes, 0 repeats
lots more time spent wrangling my python export script and i finally have it so it can export a nice spritesheet with some accompanying json
(DIR) Post #AUNlR486o1ebhbHF4a by eniko@peoplemaking.games
2023-04-01T21:16:07Z
0 likes, 0 repeats
hmmm. yes. yes. this all seems very... normal π
(DIR) Post #AUNlR5DokHoZ5axJbs by eniko@peoplemaking.games
2023-04-01T21:25:50Z
0 likes, 0 repeats
im stoked, tomorrow i get to start tinkering with the actually 3D part of this since everything is all set up now :ameowbongo:β
(DIR) Post #AUNlR5nyZqjotjsByC by eniko@peoplemaking.games
2023-04-02T14:49:47Z
0 likes, 0 repeats
whew ok g-buffer is working and i'm sending custom imposter sprite quads to a custom shadernow the fun starts :3
(DIR) Post #AUNlR6XhppJlBZGiFU by eniko@peoplemaking.games
2023-04-02T18:51:56Z
0 likes, 0 repeats
and now i've got world positions from height going including proper depth sorting :Dgetting the world positions is super easy too, just `input.WorldPos + unitHeight * worldHeight + cameraPos`
(DIR) Post #AUNlR78De4Wb0oLsA4 by eniko@peoplemaking.games
2023-04-02T19:11:51Z
0 likes, 0 repeats
its easier to see the world positions if i separate them out by component, so here's X (right), Y (forward), and Z (up) in orderi'm obviously only using the fractional part of the position here for display purposes
(DIR) Post #AUNlR7jnOMaAtLvsjQ by eniko@peoplemaking.games
2023-04-02T20:14:14Z
1 likes, 0 repeats
behold... cube!figured cubes were a good idea to really visualize the world positions
(DIR) Post #AUNlR8iljfM5wSSZlo by eniko@peoplemaking.games
2023-04-02T20:16:41Z
1 likes, 0 repeats
notice how the character clips through the cubes properly. keep in mind: there's no 3D geometry in this scene, it's all sprite quads!
(DIR) Post #AUNlR9sjQ6v1Xe82wC by eniko@peoplemaking.games
2023-04-02T20:24:25Z
0 likes, 0 repeats
i'm really happy with how this is turning out. in the past i made this engine but it was about 2000% more complicated and incredibly cumbersome to work with. figuring out that i could simply use the height values of the geometry as both depth *and* to calculate world positions from has simplified things enormouslykeep in mind there's only 4 quads, 8 triangles in this gif too
(DIR) Post #AUNlRBBuYHr3bQ6sTI by eniko@peoplemaking.games
2023-04-02T21:11:12Z
1 likes, 0 repeats
okay i really wanted to do *some* lighting with this before i went to bed so i quickly crowbarred in a hacky directional light. nice!
(DIR) Post #AUNlRCLsEjPzCbmLdg by eniko@peoplemaking.games
2023-04-03T13:25:12Z
0 likes, 0 repeats
whew okay i now have world height encoded into a floating point texture and a way to visualize it (basically goes red > green > blue for every single unit of height)
(DIR) Post #AUNlRDP6KDasSuIRJA by eniko@peoplemaking.games
2023-04-03T16:22:31Z
0 likes, 0 repeats
behold! i have fashioned a crude facsimile of a cornell box!
(DIR) Post #AUNlRENigq5DUueqnI by eniko@peoplemaking.games
2023-04-03T20:22:15Z
0 likes, 0 repeats
an attempt at screen space shadows
(DIR) Post #AUNlRFY2Lxvj7CUbVw by eniko@peoplemaking.games
2023-04-03T20:45:28Z
0 likes, 0 repeats
i mean if i don't do any smoothstepping it's not... like... terrible?
(DIR) Post #AUNlRH6oY9LJxLltMO by eniko@peoplemaking.games
2023-04-03T21:47:55Z
0 likes, 0 repeats
things look pretty funny if i set the directional light to point straight down the negative X axis
(DIR) Post #AUNlRI8yhafTALn8N6 by eniko@peoplemaking.games
2023-04-03T21:57:26Z
0 likes, 0 repeats
anyway i think this is looking pretty neat. didn't think it'd work out this welli should be resolving this at a lower res with some blur to hide the artifacts and once i do that it'll be pretty good
(DIR) Post #AUNlRJHsRzNeiExksi by eniko@peoplemaking.games
2023-04-03T22:15:36Z
0 likes, 0 repeats
okay one more then i gotta sleep >_>
(DIR) Post #AUNlRKTc1qMUOvSdoO by eniko@peoplemaking.games
2023-04-04T13:19:35Z
0 likes, 0 repeats
i have refactored my shadow casting code. it's nice to have a clean house βΊοΈβ
(DIR) Post #AUNlRLbRqCDvtW8PfE by eniko@peoplemaking.games
2023-04-04T15:39:29Z
0 likes, 0 repeats
and there you have it. screen space global illumination. beautiful, ship it
(DIR) Post #AUNlRMnBQ3ClaCdIau by eniko@peoplemaking.games
2023-04-04T18:52:04Z
0 likes, 0 repeats
okay this is starting to look a lot more reasonable
(DIR) Post #AUNlRO9CNgPRmlwOY4 by eniko@peoplemaking.games
2023-04-04T21:15:26Z
1 likes, 0 repeats
after more endless tinkering i would have to say that this ain't looking half bad for 6 sprites stacked inside a trenchcoat :D
(DIR) Post #AUNlRPBMX7jazlxdYm by eniko@peoplemaking.games
2023-04-04T21:16:48Z
0 likes, 0 repeats
and a wide shot of the whole scene
(DIR) Post #AUNlRQGiUhbyMfTQXo by eniko@peoplemaking.games
2023-04-04T22:11:04Z
0 likes, 0 repeats
okay i've tinkered with it some more and if i don't clamp the values like i was it actually looks way better, although it does push the scene into HDR which i'll have to deal with but that might actually be worth italso realized i can increase the screen step size to get better GI and longer shadows(image cropped cause the edges have artifacts now)
(DIR) Post #AUNlRRuoN7HHTJExg8 by eniko@peoplemaking.games
2023-04-04T22:45:43Z
0 likes, 0 repeats
oh *snap*! i figured it out! i was using a weight to blend between the last frame and current frame for global illumination and the problem was that if the weight was too low the effect of the GI was too subtle, but too high and it got unstable. this was the secret to fixing it:float weight = 0.375 * float(nHits) / NumRays;so the amount it uses the GI for the current frame depends on how many rays actually hit anything, so it basically accumulates more strongly for samples where more rays hit, i.e. we're more confident it's the correct result :Dgif shows the new method first (brighter) and then the old method, which looks more subtle *and* has way more shimmer to itahahaha! i am unstoppable! :ameowbongo:β
(DIR) Post #AUNlRTag8wMUfRpuZk by eniko@peoplemaking.games
2023-04-04T23:00:54Z
0 likes, 0 repeats
anyway here's a gif of me toggling global illumination on and off repeatedly so you can really see the difference it makes
(DIR) Post #AUNlRVJNkDiM0Nl7tQ by eniko@peoplemaking.games
2023-04-05T14:33:48Z
1 likes, 0 repeats
aha! i have figured out how to use GI in LDR without completely blowing out the bright colors from adding GI + direct lightingin the shader where i combine em i calculate the luma of the direct lighting using `dot(direct, float3(0.299, 0.587, 0.114))` and then scale the contribution of the GI by `pow(1 - directLuma, 2)`here's a screenshot with just direct on the left and direct+GI on the right with photoshop color picker to show how slight the difference is on the ground
(DIR) Post #AUNlRWWXEnpVlSv928 by eniko@peoplemaking.games
2023-04-05T15:48:32Z
0 likes, 0 repeats
and now i've stabilized the noise from the GI. and i wanna show the same scene with 0 ambient light first with, then without GIit's really dramatic the difference. without global illumination the black parts not lit by the directional light are just a black inky void, but once you toggle GI on you can suddenly make out the geometry in the shadows
(DIR) Post #AUNlRXf50WG7IFvTzU by eniko@peoplemaking.games
2023-04-05T16:15:04Z
1 likes, 0 repeats
i could watch this gif all day#GameDev #IndieDev #GlobalIllumination #PixelArt
(DIR) Post #AUNlRYq6d0fmwk5noe by eniko@peoplemaking.games
2023-04-05T20:34:12Z
0 likes, 0 repeats
oh no ive converted from srgb to linear internally up til the final step and now everything looks like ass πβ
(DIR) Post #AUNlRa2CBXwCeWkyIa by eniko@peoplemaking.games
2023-04-05T23:34:59Z
1 likes, 0 repeats
oh no ive discovered a fatal flaw in my renderer (this is a scene with zero light sources)
(DIR) Post #AUNlRb8G6UNk3cbKO8 by eniko@peoplemaking.games
2023-04-06T13:03:09Z
0 likes, 0 repeats
there, fixed that, fixed some of the unwanted blooming there was going on, and added some noise to the GI layer to prevent bandinglooking really good now, i think! here's a gif toggling between GI and no GIand just as a reminder, this is all sprites :3#GameDev #IndieDev #GlobalIllumination
(DIR) Post #AUNlRcDy2kXhRcHOvQ by eniko@peoplemaking.games
2023-04-06T15:57:03Z
0 likes, 0 repeats
aha! i was having issues with color banding now that im converting from linear to sRGB when showing the screenand it's because turning 8-bit values into other scaled 8-bit values skips over a bunch of colors. i changed all my buffers to 10-bit RGB and now the banding is gonei added a bit of noise to the GI too to prevent any further color banding and now things look nice and smoove even in very dim scenes#GameDev #IndieDev
(DIR) Post #AUNlXB5jppx9205CUq by T0xF01AE@koyu.space
2023-04-02T20:24:44Z
1 likes, 0 repeats
@eniko That started out as me thinking: "yes the floor is made out of floor."But then I realised the absolute magnitude and the absolute batshit insanity at display here... The character clips through the cubes properly, and they are all sprites.:blobcat_glitch:
(DIR) Post #AUNm7BhV32NFLSusEa by esdin@peoplemaking.games
2023-04-05T23:37:43Z
1 likes, 0 repeats
@eniko "fatal flaw" or "accidental feature"?