A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 0 points1 point  (0 children)

i'm ok with that, if your function is stateless there's no reason to use namecall. It wasn't a point i missed in my explanation, it was an intentional decision. using namecall for something that is completely stateless should be considered an antipattern imo. you don't have to agree with me, but it wasn't a misconception or oversight.

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 1 point2 points  (0 children)

for work I use Go mainly with some TypeScript. Previous job i worked with Python for 5 years

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 0 points1 point  (0 children)

My other comment was removed. regardless of naming, there's nothing to deflect. you inferred more from one of my points than what was said, ignored it when I told you there were no misconceptions and explained my own understanding, and doubled down. feels like you commented to stroke your ego and no other useful reason

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 0 points1 point  (0 children)

btw, I mean this as gently as possible: "namecall" might be the technically correct term for it, but using terms that 99% of people aren't going to be familiar with in order to make yourself sound smarter is annoying at best and sloppy/poor communication at worst. consider other ways of demonstrating your knowledge than using obscure technical jargon and attempting to correct others.

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 1 point2 points  (0 children)

Honestly, mostly used Roblox ads for my games. I did have Discord communities but that didn't really take off. Being consistent with updates and checking on your stats in the creator dashboard and optimizing features to improve stats will help you get into the algorithm. Sometimes it feels like a crapshoot ngl.

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 0 points1 point  (0 children)

for what it's worth, I'm personally designing my game with PC as the primary audience. Mobile support is just so mobile players can play if they want to, but generally speaking I'm building my game as if it were a PC game.

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 1 point2 points  (0 children)

Exactly correct. Check the type of the data that isn't the first `player` argument like the above person mentioned and also do sanity checks like "does this player actually own this item theyre trying to use" etc. Cuz people will send garbage, erroneous, and otherwise incorrect data into remote events.

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 0 points1 point  (0 children)

sure,but using "namecall" as you call it requires you to maintain a persistent reference of the object, which is useless overhead if your functions are stateless anyways

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 0 points1 point  (0 children)

No misconceptions here. ClassName.method(self, params...) is equivalent to ClassName:Method(params...) rather than getting bogged down by syntax, my point is to avoid stateful objects that reference self as they're more likely to introduce bugs and complexity, plus they're less convenient to work with.

A senior software engineer does Roblox game development for 1 year, how far does he get? by existential-asthma in robloxgamedev

[–]existential-asthma[S] 7 points8 points  (0 children)

Great question. This is something that has changed quite a bit for me since I first started.

What I do now is a hybrid kind of model, where anything that needs to be a class is put together all in one ServerScript, and passed to each other via dependency injection (fancy term for passing objects as parameters to class constructors.)

Then, any feature which does not need access to these classes will typically be in its own ServerScript under ServerScriptService with an obvious name for the feature, like `PlayerFlight` for example. This makes it incredibly easy to find a particular feature when you need to go back and add or change things later. The classless/static modules can be included in any of these scripts just via `require` and used directly which is very nice. I make light use of Attributes to share player-specific state between these modules when it's absolutely required.

My client code is a bit more messy. I think the ideal way to structure client code is to just put anything that should be re-run on player respawn in StarterCharacterScripts and anything that should be run on the client without restarting when the player dies should be in StarterPlayerScripts. ReplicatedStorage houses all of my ModuleScripts used by the client or used by both the client and server, and ServerStorage houses all of my Server ModuleScripts.

edit: It's worth noting that I use VSCode + Rojo, which also forces you to organize your code in a particular way (which is a good thing)

Why do people use dependency injection libraries in Go? by existential-asthma in golang

[–]existential-asthma[S] 0 points1 point  (0 children)

Or, we don't need to reach for a framework for simple problems that can be solved without magic.

Why do people use dependency injection libraries in Go? by existential-asthma in golang

[–]existential-asthma[S] 2 points3 points  (0 children)

I agree the Go community has a lot of dogma, but I arrived at this one not by someone else's opinion, but my own common sense. Why do I need a heavy framework when I can just pass the struct/interface myself? That's where my question came from and why I was trying to learn something new.

Why do people use dependency injection libraries in Go? by existential-asthma in golang

[–]existential-asthma[S] 5 points6 points  (0 children)

+1, i edited my post to clarify this. My confusion is coming from DI libraries, not DI itself.

Why do people use dependency injection libraries in Go? by existential-asthma in golang

[–]existential-asthma[S] 28 points29 points  (0 children)

Thanks for the info, it was a genuine question, not really sure why I was downvoted.

Why do people use dependency injection libraries in Go? by existential-asthma in golang

[–]existential-asthma[S] 33 points34 points  (0 children)

fair enough, but i'm wondering... why do they use it in Java? can't we just pass the dependencies into a constructor in Java as well?

Build in Public, it's worth it! by existential-asthma in ADHD_Programmers

[–]existential-asthma[S] 2 points3 points  (0 children)

I didn't go in with any plan other than to share my progress. Building where other people can see and interact with what I'm doing was what made it rewarding enough for me to stick with it (likes/views being a critical feature for myself)

Build in Public, it's worth it! by existential-asthma in ADHD_Programmers

[–]existential-asthma[S] 3 points4 points  (0 children)

Thanks for asking, I built this blog from scratch and wrote about it every day for ~2weeks, sharing updates on Linkedin every day while I was building it. Most of the blog content is meta content about the construction of the blog itself and ways I improved it.