I struggle with a lot of impostor syndrome when I code and the topics you talked about at the end really gave me a boost of confidence, you're awesome man ty
@@ikqqslate_ Impostor syndrome, also known as impostor phenomenon or impostorism, is a psychological occurrence in which an individual doubts their skills, talents, or accomplishments and has a persistent internalized fear of being exposed as a fraud.[1] Despite external evidence of their competence, those experiencing this phenomenon do not believe they deserve their success or luck. They may incorrectly attribute it to the Matthew effect, or they may think that they are deceiving others because they feel as if they are not as intelligent as they outwardly portray themselves to be.[2] Impostor syndrome can stem from and result in strained personal relationships and can hinder individuals from achieving their full potential in their fields of interest.[3] When impostor syndrome was first conceptualized, it was viewed as a phenomenon that was common among high-achieving women. Further research has shown that it affects both men and women, in the collective sense that the proportion affected are more or less equally distributed among the genders.[1][4] Individuals with impostor syndrome often have corresponding mental health issues, which may be treated with psychological interventions, though the phenomenon is not a formal mental disorder.[5]
Your channel really gives me the motivation I need. I think I have commented this once before, but you actually have the best tutorials for LUAU programming on TH-cam.
As an experienced developer, primarily working in Lua, C++, C, and C#, I've always valued clean, simple, and maintainable code. However, I’ve noticed that as you start creating highly advanced and interconnected systems, especially in Roblox Lua, things get significantly more challenging. When building complex projects with 20 to 80 interdependent systems (or even more), it becomes increasingly difficult to manage how each system interacts and depends on others. Even outside of Roblox Lua, similar issues arise as the complexity scales. But within Roblox, the limitations and idiosyncrasies of the platform make it even harder to keep the codebase clean, optimized, and free from performance bottlenecks. For a solo developer with advanced coding skills, managing this level of complexity in Roblox Lua without compromising on code quality and performance can be a major challenge.
Yeah lua was self-proclaimed NOT made for large projects, and a game by definition is one of the largest programming projects one could undertake. It's a bit awkward in the context it was shoved into, but I still love lua as a configuration language for stuff like Neovim and a good intro language to scripting. Hopefully as Luau develops it can address some of the scaling issues, especially with stuff like types.
As a C++ dev, UML diagrams help with having to do refactoring way less in lua too. Just plan out the components as input and output boxes, then think about how they are modularly grouped. Though I learned in this video that there are technically constructors and destructors in luau. Ofcourse planning stuff out requires experience and I like to use roblox to practice overall structure of games, since there is less I have to worry about Refactoring the inside of the component makes sense though, but also having the proper structure preplanned means less changing of directories and etc, though sometimes an oversight might happen, which mostly is an easy fix, since the structure already is very modular I also am that dev that thinks that if you have to comment something, there is a good chance the naming of variables and methods is bad, abbreviating is what causes code to be harder to read for example. Its good to comment out meaningful debug prints if you ever comeback to that point in code to modify it. Comments before the function are useful if you can write something meaningful that isn't already in function's name, like the unit for example - seconds, or what it can return - number or nil for an error, just the average C++ comments before a more complex function that clearly needs it Ofcourse this is all assuming this is a bigger project, otherwise if the naming is good, there might be no comments needed or anything complex This comes from smbd who did the refactoring approach on a SDL2 C++ game engine, and thats just too time consiming. Actually taking the time to plan it out on a big project makes sense, it costs less time in the future, like with NASA taking their time to make sure it will work in the end, instead of paying it with time when its refactored every time. Not saying this is a bad approach for a begginer learning new stuff though! Refactoring/rebuilding the project can help aton. But after a lot of practice, its way better to plan ahead on bigger projects. Everyone codes different though, so im not forcing anything, thats how I do things, as long as something works for smbd, thats perfect. I do have bottom up thinking, so that may be another reason why I preffer my method. I hope I gave proper arguments to why I think planning it out might have benefits in the long run! ^^
fax, people do really advanced and complicated things but like at the end of the day thats nice but it makes it over complicated and at the end of the day the game just needs to be released...
I'm pretty new to roblox studio and I'm getting tripped up on when you use a . Vs a : it seems like . Is properties and methods, when : is event related
What do you mean at 9:59 that java forces you to keep classes to their own scripts(I assume you mean methods)? Do you mean like every method we want for the object we have to keep in the same class? Cuz in java we could work around that by just creating a class with static methods to call at any time and use these methods for the other classes if we wish to do so. An example would be the Math class in java or creating for example a custom sorter class with static methods that sorts collections with user-defined methods.
how can i do this in roblox studio i have an idea for making a world where there are a millions of little spheres that can bond or attract to other tiny spheres and interact with each other basically like having air particles in the air but adding forces to make them move so i can make "oxygen molecules" or maybe sun light or if i get far enough i want to create a sun that spawns hundreds or millions of particles that fly off the sun and can be collected as "energy" but i want the "sun" to have a limit of a certain amount of particles like the real sun and when this "energy" is depleted it transfers to a device that simulates "light" making "photons" but i will make those "particles" bright neon colors to simulate heat and light that fills a bulb but then after time goes on the "particles" start to delete themselves and loses "energy" over time which takes the "suns" "particles" basically transferring "light" into gravitational energy that falls from the sky and theoretically having a "solar panel" that attracts the particles that are lost from the sun and over the course of a couple days the "sun" dims and the limit on particles radiating off the sun goes from 100% down too at least 75% and so on and so forth if that makes sense
Hey, B Ricey, I mainly came here to ask you if you could make a tutorial or let us know how to use the keyword "do" by itself. I've seen it being used a couple of times before and was wondering what purpose it really has.
It literally does something and then ends nothing more, it can be used to separate scopes so you don't accidentally reuse them when they are not needed.
Interesting to see how you would do it if you rewrote the 1000 line code into refactored code and showed us I always find my modules then don’t work and everything stops working and I have no errors reporting so I’m clueless
I wouldn't say that... also functional code (although I absolutely love it) doesn't mean better performance (I guess unless you have like 80 CPU cores for parallelization). It's always tradeoffs, but oftentimes if performance isn't an issue clean code is better
@@BRicey I am looking at other's scripts I am having hard time when it comes to math. I don't know if you know about those fighting games that have rocks after an impact, but basically I searched up on yt how to make one of these effects and they used math but not in the way I learnt at school. I can't seem to understand the math behind effects and other stuff. Another example about lighting effect using cylinder, I just can't understand what they are doing and that is really demotivating.
I would lean toward not doing so just to be safe. Either way, I’m not sure why you’d ever *need* to leave explicit language within your code anyways lol. Good professional practice anyways.
How can I solve my problem with OOP. I created my object (also creating an Instance), return that object (maybe call it metatable), and then store that object inside "Main" table. And when the Instance attached to that object (metatable) for some reason got destroyed, the object (metatable) for that doesn't get removed from "Main" table. I have tried checking if Instance is nill or not when I tried to do something with the object (metatable), but that didn't work. Do not ask me why the Instance can be destroyed not by the assigned object (metatable).
This reminds me of one of my OOP classes. I made a UI button class which replaces a placeholder instance with a set of styled instances (background, label, transparent layer to brighten the button when it's highlighted, etc.), then it destroys the original button. The button itself works and responds to clicks, but for some reason, it can't detect when the new button instances get destroyed (using the Destroying event). I tried to program it so it would destroy the button object if that happened, but that doesn't happen. My hackish fix was to add an array to my Window object class, which it iterates through when it closes, forcing any buttons in it to destroy themselves. I don't know why the Destroying event ignores what it's supposed to react to like this, but I have a feeling this issue will affect me again with later objects…
Quick Question: Can you explain to me how you can teleport your camera to a part but also freeze it when it has been teleportded, this happens when you touch a part.
Do you mean like in-game? Use a local script inside the script change players camera type to Scriptable then take the parts CFrame value and set it as Cameras CFrame. When you dont need it anymore just reset the camera type
yo can you make a tutorial on the tycoon series where you can reset your data or as in restart your tycoon progress i really need that so far also nice video
Could you please make a video explaining how to make buttons that will only appear after a rebirth? (also buttons that appear after multiple rebirths please). It would help me a ton! :D
I struggle with a lot of impostor syndrome when I code and the topics you talked about at the end really gave me a boost of confidence, you're awesome man ty
sus
Impostor what????
^^
@@ikqqslate_ Impostor syndrome, also known as impostor phenomenon or impostorism, is a psychological occurrence in which an individual doubts their skills, talents, or accomplishments and has a persistent internalized fear of being exposed as a fraud.[1] Despite external evidence of their competence, those experiencing this phenomenon do not believe they deserve their success or luck. They may incorrectly attribute it to the Matthew effect, or they may think that they are deceiving others because they feel as if they are not as intelligent as they outwardly portray themselves to be.[2] Impostor syndrome can stem from and result in strained personal relationships and can hinder individuals from achieving their full potential in their fields of interest.[3]
When impostor syndrome was first conceptualized, it was viewed as a phenomenon that was common among high-achieving women. Further research has shown that it affects both men and women, in the collective sense that the proportion affected are more or less equally distributed among the genders.[1][4] Individuals with impostor syndrome often have corresponding mental health issues, which may be treated with psychological interventions, though the phenomenon is not a formal mental disorder.[5]
@@YourNumberOneRated1997Salesman Feeling like you call yourself a programmer when you aren't really one
Your channel really gives me the motivation I need. I think I have commented this once before, but you actually have the best tutorials for LUAU programming on TH-cam.
I appreciate that!
You're probably the most underrated youtuber I have ever stumbled upon ever
Lol thanks
Thanks, these tutorials have really helped me understand how to implement my Lua knowledge into actual game design
I'm glad I could help!
I've been developing Roblox games for 4 years now, this is the big problem for my game development, thank you so much!
definitely some underrated scripting tutorials
You are hands down THE BEST Lua tutorialist on TH-cam, you are Lua version of Corey Schafer
I know it's my birthday when b ricey posts
@SortaIrish they sure do this guy is literally ahead of the technology while all these other youtubers and explaining how to make a kill brick
Well with my upload schedule it might as well be...
@@refusalstudios This This This This This This This
Thanks, I learned new ideas. This will help me for my next project. Stay safe bro.
Love the vids keep helping us young devs
Go play more apex legends
@@blizzard4551 go watch anime
@@blizzard4551 bros salty because it's above his level of comprehension 🗿
@@nezzled you guys got it all wrong he has the same name with a famous apex legends content youtuber lmao
@@nezzled and he hasn't uploaded apex in a while 💀💀💀
thanks, helped a lot with OOP, will try to implement it in my game
Glad it helped!
IT’S ALIIVVVEEEEE!!!!
Really cool explanation to this.
As an experienced developer, primarily working in Lua, C++, C, and C#, I've always valued clean, simple, and maintainable code. However, I’ve noticed that as you start creating highly advanced and interconnected systems, especially in Roblox Lua, things get significantly more challenging.
When building complex projects with 20 to 80 interdependent systems (or even more), it becomes increasingly difficult to manage how each system interacts and depends on others. Even outside of Roblox Lua, similar issues arise as the complexity scales. But within Roblox, the limitations and idiosyncrasies of the platform make it even harder to keep the codebase clean, optimized, and free from performance bottlenecks.
For a solo developer with advanced coding skills, managing this level of complexity in Roblox Lua without compromising on code quality and performance can be a major challenge.
Yeah lua was self-proclaimed NOT made for large projects, and a game by definition is one of the largest programming projects one could undertake. It's a bit awkward in the context it was shoved into, but I still love lua as a configuration language for stuff like Neovim and a good intro language to scripting. Hopefully as Luau develops it can address some of the scaling issues, especially with stuff like types.
Extremely helpful tutorial, thank you!
awesome tutorial, good explanation of basic OOP in roblox
🙏 you are great. thank you for making this. i really needed it.
As you said my biggest problem is trying to make everything perfect.
You are so cool.
Thanks for the very helpful tips.
As a C++ dev, UML diagrams help with having to do refactoring way less in lua too. Just plan out the components as input and output boxes, then think about how they are modularly grouped.
Though I learned in this video that there are technically constructors and destructors in luau.
Ofcourse planning stuff out requires experience and I like to use roblox to practice overall structure of games, since there is less I have to worry about
Refactoring the inside of the component makes sense though, but also having the proper structure preplanned means less changing of directories and etc, though sometimes an oversight might happen, which mostly is an easy fix, since the structure already is very modular
I also am that dev that thinks that if you have to comment something, there is a good chance the naming of variables and methods is bad, abbreviating is what causes code to be harder to read for example. Its good to comment out meaningful debug prints if you ever comeback to that point in code to modify it. Comments before the function are useful if you can write something meaningful that isn't already in function's name, like the unit for example - seconds, or what it can return - number or nil for an error, just the average C++ comments before a more complex function that clearly needs it
Ofcourse this is all assuming this is a bigger project, otherwise if the naming is good, there might be no comments needed or anything complex
This comes from smbd who did the refactoring approach on a SDL2 C++ game engine, and thats just too time consiming. Actually taking the time to plan it out on a big project makes sense, it costs less time in the future, like with NASA taking their time to make sure it will work in the end, instead of paying it with time when its refactored every time.
Not saying this is a bad approach for a begginer learning new stuff though! Refactoring/rebuilding the project can help aton. But after a lot of practice, its way better to plan ahead on bigger projects.
Everyone codes different though, so im not forcing anything, thats how I do things, as long as something works for smbd, thats perfect. I do have bottom up thinking, so that may be another reason why I preffer my method.
I hope I gave proper arguments to why I think planning it out might have benefits in the long run! ^^
i think im getting very close to taking up a commission or part-time job that includes multiple scripters
wow, I can't believe I didn't know about this
This was very good
fax, people do really advanced and complicated things but like at the end of the day thats nice but it makes it over complicated and at the end of the day the game just needs to be released...
PSA: use "--!strict" at the start of a script, it enforces lua type safety and shows you errors before they happen
I'm pretty new to roblox studio and I'm getting tripped up on when you use a . Vs a : it seems like . Is properties and methods, when : is event related
What do you mean at 9:59 that java forces you to keep classes to their own scripts(I assume you mean methods)? Do you mean like every method we want for the object we have to keep in the same class? Cuz in java we could work around that by just creating a class with static methods to call at any time and use these methods for the other classes if we wish to do so. An example would be the Math class in java or creating for example a custom sorter class with static methods that sorts collections with user-defined methods.
how can i do this in roblox studio i have an idea for making a world where there are a millions of little spheres that can bond or attract to other tiny spheres and interact with each other basically like having air particles in the air but adding forces to make them move so i can make "oxygen molecules" or maybe sun light or if i get far enough i want to create a sun that spawns hundreds or millions of particles that fly off the sun and can be collected as "energy" but i want the "sun" to have a limit of a certain amount of particles like the real sun and when this "energy" is depleted it transfers to a device that simulates "light" making "photons" but i will make those "particles" bright neon colors to simulate heat and light that fills a bulb but then after time goes on the "particles" start to delete themselves and loses "energy" over time which takes the "suns" "particles" basically transferring "light" into gravitational energy that falls from the sky and theoretically having a "solar panel" that attracts the particles that are lost from the sun and over the course of a couple days the "sun" dims and the limit on particles radiating off the sun goes from 100% down too at least 75% and so on and so forth if that makes sense
this helped my spaghetti code, thanks
amazing video
How does this happen..
I literally just had my first college lecture on OOP this morning! xD
Nice!
very cool!
Is all of this just for organization and ease of access purposes or does it have performance benefit?
Hey, B Ricey, I mainly came here to ask you if you could make a tutorial or let us know how to use the keyword "do" by itself. I've seen it being used a couple of times before and was wondering what purpose it really has.
it means what it says.. while true "do" which means DO it ! lol. like for _,v in ipairs(workspace:GetChildren()) do ... end
It literally does something and then ends nothing more, it can be used to separate scopes so you don't accidentally reuse them when they are not needed.
Interesting to see how you would do it if you rewrote the 1000 line code into refactored code and showed us
I always find my modules then don’t work and everything stops working and I have no errors reporting so I’m clueless
what are the benefits of using private variables?
Good advice
I have a quick question, How do i open the output cause for me it does not show it for some reason
Clean code kills performance just use functional or procedural programming
I wouldn't say that... also functional code (although I absolutely love it) doesn't mean better performance (I guess unless you have like 80 CPU cores for parallelization). It's always tradeoffs, but oftentimes if performance isn't an issue clean code is better
Knit framework is no more get update, do you have suggestion for alternative?
"We don't talk about java"
also him:"I have a lot of experience in Java"
Thus is the greatest paradox of life: when school and your robotics team force you to learn a language u hate, you must master it or be mastered
can you make a tutorial on how to make a unique tycoon game like restaurant tycoon?
Is there a possiblity that you update ur Tycoon Series some stuff you did there doest work or just Outdated just cerious
Hey could you make a video on state machines and how to implement one into roblox studio
Good idea!
When will you show how to make animation in vector3?
Do you have any tips to improve my logic and scripting skills?
Practice, but honestly more importantly, look at other's code, browse good github repos, and just overall learn from the best.
@@BRicey I am looking at other's scripts I am having hard time when it comes to math. I don't know if you know about those fighting games that have rocks after an impact, but basically I searched up on yt how to make one of these effects and they used math but not in the way I learnt at school. I can't seem to understand the math behind effects and other stuff. Another example about lighting effect using cylinder, I just can't understand what they are doing and that is really demotivating.
I guess the real question is how I use math in game development
@@grgroyale eyy same the math is where I struggle at the moment
thank you man
thanks now i can code like gnome code
i don't know what i learned watching this
Can someone get banned for leaving commentaries with swear words on a script?
This was something roblox talked about implementing, however, its unsure if they ultimately will.
I would lean toward not doing so just to be safe. Either way, I’m not sure why you’d ever *need* to leave explicit language within your code anyways lol. Good professional practice anyways.
They might do it now that they are monitoring developers' code.
why is your icons on roblox studio different than mines
Does roblox have auto boxing and wrapper classes?
It's not strongly typed so it doesn't have a need for either. I mean you can manually make wrapper classes if you want
How can I solve my problem with OOP. I created my object (also creating an Instance), return that object (maybe call it metatable), and then store that object inside "Main" table. And when the Instance attached to that object (metatable) for some reason got destroyed, the object (metatable) for that doesn't get removed from "Main" table. I have tried checking if Instance is nill or not when I tried to do something with the object (metatable), but that didn't work. Do not ask me why the Instance can be destroyed not by the assigned object (metatable).
This reminds me of one of my OOP classes. I made a UI button class which replaces a placeholder instance with a set of styled instances (background, label, transparent layer to brighten the button when it's highlighted, etc.), then it destroys the original button.
The button itself works and responds to clicks, but for some reason, it can't detect when the new button instances get destroyed (using the Destroying event). I tried to program it so it would destroy the button object if that happened, but that doesn't happen.
My hackish fix was to add an array to my Window object class, which it iterates through when it closes, forcing any buttons in it to destroy themselves. I don't know why the Destroying event ignores what it's supposed to react to like this, but I have a feeling this issue will affect me again with later objects…
Quick Question: Can you explain to me how you can teleport your camera to a part but also freeze it when it has been teleportded, this happens when you touch a part.
press F when u have the part selected
Do you mean like in-game? Use a local script inside the script change players camera type to Scriptable then take the parts CFrame value and set it as Cameras CFrame. When you dont need it anymore just reset the camera type
5:01 yeah make 101 places like me until you get an idea, Btw i still got no idea ; - ;
7:00 it launched by the way
Omg your right its a miracle... eh whatever the metaphor still stands
yeah
ill need diz
yo can you make a tutorial on the tycoon series where you can reset your data or as in restart your tycoon progress i really need that so far
also nice video
hello bricey, I used oop for my gun client is that good?
Yea sure if you needed it
how do you have custom editor ui??
They just recently updated all of the icons for the editor
@@BRicey really?! Mine didn't update
Could you please make a video explaining how to make buttons that will only appear after a rebirth? (also buttons that appear after multiple rebirths please). It would help me a ton! :D
With a variable
how old are you ?
I really like your videos, but had to quit on this one.. too much spit in your mic technique.. sorry bro.. you gotta work on mic technique.
"LUAU"??? DAWG ITS LUA-U
Wtf???
👀
I don't use Knit so uhh.
What do you mean Knit isn’t even used in the video 💀
@@steroid2884 at 18:15, he does bring it up
Lawless 🤣🤣😂😂
Funny how i didnt understand shit
Ok
Yooo
skibiditoilet.__index = skibiditoilet
beyond brainrot