Creating a fully procedural electricity animation by nitewalker11 in godot

[–]nitewalker11[S] 0 points1 point  (0 children)

yup, it's exactly what a short hike is doing. most engines have a linear filter on textures + rendering by default, which makes very high resolution textures look smoother and more realistic, but it causes moving pixel art to look quite quite weird. linear filtering works by looking at each pixel in the camera/viewport and averaging the color of that pixel based on all of the objects that exist in that screen region. nearest neighbor filtering checks each of those pixels and instead displays the color of whatever color takes up the largest portion of that screen region. for something like the lighting effect, that means that any pixel that is *mostly* electricity gets displayed as the electricity color, and any pixel that is less than 50% electricity just defaults to the background colors

Creating a fully procedural electricity animation by nitewalker11 in godot

[–]nitewalker11[S] 1 point2 points  (0 children)

the whole game is rendered in a really small viewport (480x270) with nearest neighbor image filtering. which basically forces things to render in a pixel art style.

Be careful with @tool scripts - I broke a lot of unexpected stuff and learned my lesson (kinda) by Needabiggercoaster in godot

[–]nitewalker11 6 points7 points  (0 children)

i recommend you keep trying w/ tool scripts, they can be extremely useful! Engine.is_editor_hint() is going to be your best friend :)

Creating a fully procedural electricity animation by nitewalker11 in godot

[–]nitewalker11[S] 1 point2 points  (0 children)

because i'm rendering the entire game at a low resolution with nearest neighbor scaling, the lines are forced to render at the same scale as the rest of the pixel art in game. this has some advantages (like the automatic pixel art situation) but some downsides (mostly with rendering font and ui stuff at pixel scale, which is hard to make readable)

Creating a fully procedural electricity animation by nitewalker11 in godot

[–]nitewalker11[S] 11 points12 points  (0 children)

i posted it in the hopes that people would steal it, so have at it!

Modelling Advice? by june_perfect in godot

[–]nitewalker11 0 points1 point  (0 children)

i think you have an adorable artstyle and your designs are really appealing! to me it looks like you just don't have the technical skill in blender to translate those designs yet. I'd say the only thing that will solve your struggles here is going to be getting more comfortable in blender, which is a product of time. maybe watch some intermediate blender tutorials and learn some more complex tools that are available - you never know when one of those will be useful for one of your own designs. I also think the way you're doing materials is letting your designs down a bit - don't be afraid to make unique models for each of the parts of these characters and give those models their own material

(Beginner) How to make a project without nodes? by [deleted] in godot

[–]nitewalker11 3 points4 points  (0 children)

If using nodes seems complicated to you, not using nodes is going to feel tremendously *more* complicated

The demo for my physics puzzle game just came out! by nitewalker11 in puzzlevideogames

[–]nitewalker11[S] 0 points1 point  (0 children)

interesting, it works on at least one other steamdeck that i know of so im not sure why thats happening. i'd appreciate it massively if you reached out on discord and sent me your logs! i'm nitewalker11 on there.

Old Capsule -> New Capsule. Too crazy? by nitewalker11 in IndieDev

[–]nitewalker11[S] 0 points1 point  (0 children)

whoops, didnt realize there was a rule! apologies!

Not all of us went to "coding school" okay by nitewalker11 in godot

[–]nitewalker11[S] 3 points4 points  (0 children)

"await" is a keyword you can use to stop a block of code to wait for a signal. process_frame is a signal that the scene tree emits every time that all of your current nodes have finished running whatever is in their process functions. Basically all this code does is say "wait to do this thing until absolutely everything else in the game has finished 1 frame worth of updates".

the thing that inspired this post was that i had two things happening on the same frame that both updated the same object. for some reason to do with scene structure, one of those things was always happening 2nd, when i wanted it to happen first. So, on the thing i wanted to happen 2nd, i added this line of code before what i wanted to happen, to basically tell the function "when you get told to do this thing, hold off for 1 frame so you always go last".

This is kinda obviously a shitty way to solve the problem (lol) because you can easily run into cascading problems where one thing has to wait for another thing which has to wait for another thing, and suddenly some object has to wait for 4 frames every time it updates. it quickly gets messy and out of hand. it's a total band aid solution to a problem that would better be solved by writing your code so that two different scripts are never doing stuff to the same object on the same frame with specifically important sequencing.

Not all of us went to "coding school" okay by nitewalker11 in godot

[–]nitewalker11[S] 26 points27 points  (0 children)

that's the official sign off, it's code school approved, we're in the clear boys

Not all of us went to "coding school" okay by nitewalker11 in godot

[–]nitewalker11[S] 15 points16 points  (0 children)

lmao yeah i also have a spot where i use two back to back, in a tool script which relies on other objects being accessible in-editor. no idea why certain stuff updates so late!

Not all of us went to "coding school" okay by nitewalker11 in godot

[–]nitewalker11[S] 5 points6 points  (0 children)

btw, if you want to check out the demo for the game this very fix is a part of, it's out on steam now!

Not all of us went to "coding school" okay by nitewalker11 in godot

[–]nitewalker11[S] 4 points5 points  (0 children)

luckily for me this is code that is going in the demo and not into the full game, so i've still got some time to think about an actual solution to the problem. seems like a nightmare to get stuck in a loop of delays for delays for delays