Heyo,
(why can’t i indent) So recently, I began work on a game, and it was half-way done. Then, I noticed that the code didn’t look pretty, like for my character state machine I had a singular function just for vaulting with a bunch of hardcoded values etc. and this (to me) looked ugly. I needed to apply body gyros and velocities to the character in two seperate instances:(the dictionary definition not roblox) where the character had to jump from a bar to another, and one for vaulting over objects. I turned it into a function because I also thought it was just hard to look at.
I hated it. I hated it so much and I had no solution so after my game is half done I decided to scrap it in favour of a rewrite. Why did I do this? Because (in my head) I thought that;
- it was ugly
- it was unprofessional
- it was like spaghetti
- and i felt like i couldn’t add on to it without a headache wondering where to do something
I needed some way to organize my game, so I tried looking for frameworks. Now I never used a framework before because they were so complicated, and I never really knew what they were used for because the language used by their creators is so technical and hard to read.
Anyways…
I tried using Knit. I made some dumb state machine thing that isn’t really a state machine because all it does is change a string value on function. At this point I really felt like giving up because frameworks in general are just complicated. Sleitnick’s only appliable tutorial on using Knit in a game never really covers things that SSA frameworks are useful for;
modularity and breaking down complex mechanics in a readable and editable fashion.
Not only this, he constantly replaces modules and changes the API to an unreadable mess. There used to be a function in his Component module called “.Auto(folder: folder)” and it automatically loaded all components in a folder (duh). The API included a mention of how using .Auto() is the best practice for loading components. Now, that mechanic and information is missing from the API, it doesn’t explain the best way to do it, and people had to ask about it themselves to others just to figure it out.
Programming in this modular way has always given me a headache. It adds so much unnecessary complication to the process of simply “Starting A Project” that it makes me not want to start. I genuinely feel lost when trying to program with this format. I know it’s possible, because a lot of games use Knit, but I really don’t feel like it’s for me. I feel obligated to use a framework or an SSA structure because all the “iNdUstRy pRoFeSsIonAls” say it’s the best practice.
I’m not saying using modules is bad, but using modules for every single thing in your game feels intoxicatingly complex for something that doesn’t even need to be.
I can’t, I literally just can’t. I’m turned away by MSA because of my previous experiences of not being able to handle complex scripts with specific actions like my previous example, but then I’m also unable to fluently program in SSA (again, mostly Knit) because I’m either;
- so caught up in trying to understand how to even use it
- or, trying to figure out how to apply a module script that is only ran once in the way that a normal script probably was meant to run.
I don’t know, I feel like I haven’t explained this properly yet I have nothing more to say. I just want to know what I should do because I don’t want to go back to MSA because people say it’s the devil or whatever, and then I don’t want to use SSA because for me it’s just demotivating. I used to be worried about what I was going to add and what kinda cool stuff I would make, now I’m worried about how I’m going to even start.
Thanks for reading my stupid rant, any help is appreciated.