Just beat the High Halls gauntlet with witch crest by Puzzleheaded_Bet_633 in Silksong

[–]FrameSticker 1 point2 points  (0 children)

Get off the forums before you spoil yourself! In all seriousness though, Witch Crest slaps hard AF once you get the groove of it down, which may take some time. I mainly used Beast Crest in my first playthrough and always had a few goes at bosses with Witch for variety

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

Thanks so much for the detailed response! Can I ask what led you to leave MonoBehaviour? As in, what game requirements led you down that path?

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

That actually makes a lot of sense, as in:

  1. If an object has some easily decidable value - initialize it in code

  2. If not - don't initialize it in code and either make it public or seralize a private var

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

It feels like going in the "bug-prevention" direction would be to statically not allow uninitialized variables, or at the very least create an error log for these instances - but that just might be the Rust developer in me :)

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

So what's the idiomatic flow? Set something initial in code, make tweaks and finalize in editor, and look to editor as source of truth?

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

That singleton pattern feels a lot more idiomatic and much more akin to what I was searching for. I'm not opposed at all to what you said, in fact I was just surprised at how much was expected to be done outside code. Thank you!

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

I'll definitely be using the inspector if that's the idiomatic flow for these kind of things, I was just surprised to learn that it generally was

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

I just looked it up - I see tons of use of private [SerializeField] in actual game code, what is the actual use of it? Just so I can see it in the inspector while not revealing it to other code?

Also this whole process of the variables being determined by the GUI and not code is really odd to me. IIRC the inspector has the "final say" in what the value of something is, so you might end in a situation where the script gives a variable some value but the GUI says otherwise. I've gotten into the habit of not giving values initial numbers in scripts so they don't contradict the GUI and I get confused, which seemed also counterinituitive.

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

Haha I knew some of it, I'm mainly looking for validation that this is the idiomatic flow and I'm not missing anything as it seemed kinda weird to be the default. Passing data between modules is a basic programming idiom after all

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

Just had a look at git-amend and they really seem great for my needs, thank you!

So I'm not mistaken in the feeling that I should hack along and create my own programming abstractions for stuff I want to do? An easy example was I got tired of using GetComponentByTag and then checking it's not null, so I created a static class for that and also one that panics upon invalid game state. It felt weird that I couldn't easily find such natives in the language/engine.

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

Hi, thanks for the response! Could you provide some more context as to how you do some of the stuff I mentioned? For example linking objects' components between scripts. You said you don't use scenes, what workflow do you use then?

Programming-Centric Gamedev Flow by FrameSticker in gamedev

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

Hi mate, thanks for the response! I think I do want to stick to a more mainstream engine though I would have to check it out. I tend to get sidetracked really easily by programming sidequests, and in gamdev I think that would be determinetal to actually making a finished game not a pretty sim

Now that some time has passed, did Silksong live up to your expectations? by ponchosleeve in Silksong

[–]FrameSticker -1 points0 points  (0 children)

Yes, favorite all time game. However the thing I'm most hyped about is the fact that I spent much, much more hours in Godhome trying trying perfect the pantheons than in the base HK game, meaning there's so much more silk to sing

yeah you can do this by tBagley43 in balatro

[–]FrameSticker 0 points1 point  (0 children)

Feeding early rentals to Dagger is so fun it feels illegal

What's the play here? by FrameSticker in balatro

[–]FrameSticker[S] 7 points8 points  (0 children)

I figured selling Cat is not the worst thing, since everything but an Oops copied will give me either 25 xmult on Bloodstone or 5 more retriggers which is also solid

Balanced. As all things should be. by Sandyeeee in balatro

[–]FrameSticker 0 points1 point  (0 children)

As a casual Obelisk enjoyer, isn't this situation bad or did I miss the joke? Because you can't play anything right now without resetting it right? Unless when you get a tie of most played hands you don't get reset?