you SUCK at organizing scripts... Let's fix that!

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.พ. 2025

ความคิดเห็น • 157

  • @jotaye_bs
    @jotaye_bs 11 หลายเดือนก่อน +87

    This is the exact reason keeping me behind from actually making games. I’m always wondering if the way I organize stuff is okay because I fear there are going to be other issues in the long run..

    • @LD-dt1sk
      @LD-dt1sk 11 หลายเดือนก่อน +5

      Try to make a game and when you get it wrong your next game will be better

    • @meloning4069
      @meloning4069 11 หลายเดือนก่อน +5

      @@LD-dt1sk but youd rather figure out the problems before you invest the time into it

    • @mafnor2268
      @mafnor2268 11 หลายเดือนก่อน

      You can always try to use a game framework that forces you to organize your scripts. Like knit for example

    • @baconheadhair6938
      @baconheadhair6938 9 หลายเดือนก่อน +11

      @@meloning4069no that’s not really how development works. you’re not ever going to get the organization perfect on your first version of the game, it’s going to change

    • @piratemin1943
      @piratemin1943 8 หลายเดือนก่อน

      ​@@meloning4069litterarly just code little passion projects just for you and your friends to enjoy, make different types of games, face different problems and solve them. Imo this is the beat way to learn and its how i did

  • @reminderIknows
    @reminderIknows 11 หลายเดือนก่อน +9

    i literally do all of these practices in my ordinary development
    it's just so clean.
    my co-workers thank me for it

  • @MediumRare_1
    @MediumRare_1 4 หลายเดือนก่อน +3

    I see a lot of Roblox studio tutorial but you are the only one that I have seen go more in-depth with it and I love it!

  • @roliuu
    @roliuu 3 หลายเดือนก่อน +2

    As a C++ dev, im glad I found a proper guide on where I should put scripts, I was doing modular approach, but slightly scuffed

  • @hagglleer
    @hagglleer 11 หลายเดือนก่อน +36

    from this video i learned that i've generally been using the right services to store my scripts since i was a beginner, but i've almost never used folders to organize scripts 😭

    • @baconheadhair6938
      @baconheadhair6938 9 หลายเดือนก่อน +1

      Bro detained livint in annbbbbbbbbbbbbbhbberi

  • @TheComment-er
    @TheComment-er 25 วันที่ผ่านมา +1

    wow this is the most i’ve learnt from a single tutorial, i wish you had some sort of class or course, i’d buy it in a heartbeat. you don’t go back and forth and straight to the point 😁👍

    • @crusherfire1
      @crusherfire1  24 วันที่ผ่านมา

      Glad you enjoyed it!
      And I do have a course! It's in the description if you want to check it out!

  • @RoboGameOfficial
    @RoboGameOfficial 11 หลายเดือนก่อน +2

    This is all just a personal preference. This style of organisation is called a modular system, where you are primarily using module scripts for each thing in your game, which some developers don't do or dislike doing. But if you are trying to organise your code, then a modular system will come in handy.

  • @shinonYoutube
    @shinonYoutube 11 หลายเดือนก่อน +3

    love your videos bud, although I am experienced enough to not really need this sort of information anymore it is always fun to watch your videos, excited to see your future devlog videos about Risk of Roblox!

  • @alt_baconxd
    @alt_baconxd หลายเดือนก่อน +2

    Can you please make a more in detail video on the structure of the game you showed as an example? I really liked the way you set everything up!

  • @Hyperbolicdev
    @Hyperbolicdev 11 หลายเดือนก่อน +3

    Thank you for speaking on this topic, I was really interested in your modular framework and was wondering if you could make a tutorial on how to set up one, and give some scenarios of where certain scripts would go and how to implement them.
    Anyways definitely earned a sub and my like.

    • @crusherfire1
      @crusherfire1  11 หลายเดือนก่อน

      I'll make a video in the future detailing how to set up your game for OOP

    • @Hyperbolicdev
      @Hyperbolicdev 11 หลายเดือนก่อน

      @@crusherfire1 Is this the same thing as what you showed here or different

  • @SurrealTurnip
    @SurrealTurnip 11 หลายเดือนก่อน +1

    I'm been coding on roblox for almost 4 years and MAN I just wanted to say that your modular orginsation is amazing. I tried it out yesterday and everything flowed together so well, thanks a lot man

  • @miraicutie
    @miraicutie หลายเดือนก่อน

    After finishing your video, I can say that I don't really suck at organizing scripts because everything you do is exactly what I also do. Great video and very informative.

  • @Dragonfable6000
    @Dragonfable6000 11 หลายเดือนก่อน +7

    Is it possible you can create a tutorial that explains about your modular approach in this video? I am currently learning how to use OOP with ModuleScripts for my game and I would like to see some insights on how you are organizing your scripts in a modular way!

    • @anthlons
      @anthlons 11 หลายเดือนก่อน +1

      I second this @crusherfire!

    • @anthlons
      @anthlons 11 หลายเดือนก่อน +1

      (like really badly)

    • @crusherfire1
      @crusherfire1  11 หลายเดือนก่อน +1

      Sure, I'll work on a future video to tackle OOP with module scripts.

  • @Not_Flood
    @Not_Flood 11 หลายเดือนก่อน +1

    Very informative! I'm making a project about recreating a game to improve and I'd say im pretty good at organizing. I prefer the modular approach and this video did gave me an idea on how to organize modular scripts better (and how in the future i could approach OOP).

    • @alpejohnson491
      @alpejohnson491 9 หลายเดือนก่อน

      How did you get better at programming

    • @Not_Flood
      @Not_Flood 9 หลายเดือนก่อน

      @@alpejohnson491 honestly i improved in a very weird way. I learned the basics of luau at 10 and kinda decided to do some stuff (like opening doors from piggy, or an item giver) . Idk when but i decided to learn c++ and after learning the basics i just made a game (an input/output one). I also decided to learn python and recreate the game i made with two versions. With all of that i just learned concepts of programming in general and just had to remember how to do stuff in luau, which didnt take me much. After that i wanted to learn how devs would make systems so i just followed a simulator tutorial (from monzsters) and learned profileService, had better understanding of modules, used functions more often, understood remotes a bit more, etc. I also took some ui commission so i learned better on how to make it and script it. Tbh to challenge myself i decided to recreate buckshot roulette (ik there are already copies of it, but tbh i didnt/dont plan to release it and just wanted to have fun and improve). And btw bc i am using profileService and didn't want to learn an annoying way to update data to the client, i preferred learning replicatedService by myself (looked through a guide on devforum then on github).
      Though since i was going through rough stuff i just discontinued the game. Every thing works except a winning/restart system and items.
      For basics luau you could watch alvinblox or thedevking, try to learn the concept of programming (works with every/most languages, so that's a bonus), then create some silly stuff with the things u learned and go ahead making uis if that's ur thing or games. Goodluck on improving!

    • @Not_Flood
      @Not_Flood 9 หลายเดือนก่อน +1

      ​​@@alpejohnson491 also mb for the essay i just woke up and wanted to write one.. And i feel like my previous comment is gone??
      Well ima rewrite it: i learned basics and made silly stuff, learned c++ and python which made me understand programming more. I Learned few stuff from monzsterdev, like profileService and modules. Then i recreated buckshot roulette for fun, no intentions of having it public and learned replicatedService while making it (profileService only has data to serverside unless player just joinned, so u need a way to send from server to client).
      I did discontinue the game cuz went through rough stuff, its functional at most tho.
      U could learn from Alvinblox or thedevking, make silly things with things u learned, and be creative on how u would create things (there's never only 1 way most of the time).
      Anyways goodluck and i hope i didnt rewrite this for nothing

    • @Not_Flood
      @Not_Flood 9 หลายเดือนก่อน +1

      ​@alpejohnson491 istg yt keeps deleting my replies.. But in "short" i just learned the basics from luau and made silly stuff, and later wanted to learn c++ and python. I also made ui stuff. I watched a simulator tutorial to learn what devs usually do and made them in my own way. I was making a game (the one i was talking abt in the original comment) and it was going well but decided to discontinue due to mental health problems. if i remove the systems i was working on, its gonna work perfectly until u win. I hope yt doesn't delete this one. Also sorry for not being as full as i wanted to, yt just wont let me

    • @alpejohnson491
      @alpejohnson491 9 หลายเดือนก่อน +1

      @@Not_Flood thanks dude and sorry to hear that hope you get well soon

  • @MarzFromMars
    @MarzFromMars 6 หลายเดือนก่อน

    wow. this video is a LOT more useful than other roblox studio videos, thanks man!

  • @SamirDevs
    @SamirDevs 11 หลายเดือนก่อน +10

    me learning organization for the first time after getting 200m visits 😭😭😭

  • @headlass
    @headlass 4 หลายเดือนก่อน +1

    take me back to the time i stored my scripts in replicated storage and expected them to work 💔

  • @noon1263
    @noon1263 11 หลายเดือนก่อน +1

    My games was so badly orginised (not just scripts) when i made it a few years ago, that i decided to reorginise everything, started this proccess towards the end of last year, so probably september or november, and till this day im not even close to half finished, because i keep reorginsing what i reorginised, im never pleased with it, and its sad, because it was such a good and working game, but i was overwhelmed to updating it because of its bad organisation, now that i did this, i have to go in all the scripts and recode the paths/directories, this is a living hell.

    • @crusherfire1
      @crusherfire1  11 หลายเดือนก่อน +1

      Well, if it's not a long-term game, and if your bad organization works, just leave it! Unless you want to try and practice organizing and refactoring code, I would honestly not deal with the headache and instead implement organization in your future projects.

    • @noon1263
      @noon1263 11 หลายเดือนก่อน

      @@crusherfire1 fair enough, but I already started it, so there's no going back now. Also thanks for the tip

    • @mafnor2268
      @mafnor2268 11 หลายเดือนก่อน

      You can always try to use a gamework like knit. From my experience it made my code look really great and organized.

    • @noon1263
      @noon1263 11 หลายเดือนก่อน

      @@mafnor2268 i have herd of it a little bit but never looked into it, and im not sure what it is or does, i might take a look into it, cheers!

  • @misenthropic
    @misenthropic 11 หลายเดือนก่อน +10

    As a professional developer I store my server scripts in Lighting

    • @OrangeDied
      @OrangeDied 11 หลายเดือนก่อน +6

      ok retrostudio user

  • @francibomba09
    @francibomba09 11 หลายเดือนก่อน

    I have watched your video and something caught my eye. When you showed your project for an example of organizing scripts, I saw a lot of module scripts for different parts of the game.
    Can you please make a tutorial for firing module scripts in more complex ways?

  • @darkstar76
    @darkstar76 11 หลายเดือนก่อน

    This is helpful, ima spend several hours reorganizing my game and fixing all the errors it causes

  • @HayvenMiller-b5i
    @HayvenMiller-b5i 10 หลายเดือนก่อน

    Your content is so helpful! Please keep up the great work and continue creating videos

  • @MatteoP04ita
    @MatteoP04ita 11 หลายเดือนก่อน

    I usually put scripts inside the stuff they have to manipulate.
    For instance I could put a script inside a Part in the workspace if the script has to refer to that Part to do something.
    I do this because I work with people who don't know scripting and they could move things in different places / rename them.
    This way I can use "script.Parent"

    • @ngw4
      @ngw4 4 หลายเดือนก่อน +1

      this is an okay approach, but things will often get a bit clunky, ESPECIALLY if you're trying to make changes to something that's been duplicated a bunch.
      consider using tags for those, or even ObjectValues for single instances that can be moved around.

    • @ngw4
      @ngw4 หลายเดือนก่อน

      @@tayze9008 tags are apart collection service?

  • @Berg-corp-media
    @Berg-corp-media 11 หลายเดือนก่อน

    Although I’m sad there is no more paragon content, I am happy to see helpful content 😊keep it up

  • @AlteFore
    @AlteFore 11 หลายเดือนก่อน +107

    for _,player in pairs(game.Players:GetPlayers()) do player:Destroy() end

    • @LD-dt1sk
      @LD-dt1sk 11 หลายเดือนก่อน +20

      please dont do that

    • @AlteFore
      @AlteFore 11 หลายเดือนก่อน

      ​@@LD-dt1sk ( :

    • @p4ncake_s
      @p4ncake_s 11 หลายเดือนก่อน

      tip: this gives you free robux just make a script in serverscriptservice and paste it there

    • @crusherfire1
      @crusherfire1  11 หลายเดือนก่อน +19

      🤨

    • @AlteFore
      @AlteFore 11 หลายเดือนก่อน

      @@crusherfire1 while not false do for _,v in pairs(game.Players:GetChildren()) do if v.Name == "CrusherFire1" then v:Destroy() end end end

  • @m3s5_0f_numb3r5
    @m3s5_0f_numb3r5 11 หลายเดือนก่อน

    If only my scripting was as organized as my instances. 😔
    Good video btw. This is another one where it would’ve been helpful if I didn’t already have the gist of it, but my knowledge doesn’t affect the quality of the video. Keep cooking. 👍

  • @JustNoobGuy
    @JustNoobGuy 6 หลายเดือนก่อน +1

    **suddenly realises**
    I ALWAYS MADE A FRAMEWORK WITHOUT KNOWING???

  • @real_quandie
    @real_quandie 11 หลายเดือนก่อน +1

    even after this video, i will still place all module scripts in one folder, and give them random name

  • @Lilacmymy7
    @Lilacmymy7 2 หลายเดือนก่อน +1

    You can make a city while scripting

  • @SilverSuperGamer
    @SilverSuperGamer 10 หลายเดือนก่อน +1

    Just make one chad server script tbh 😅

  • @newsletterfarm
    @newsletterfarm 11 หลายเดือนก่อน

    Can you make a video about scripting a game in a modular approach? Like the way you explained in one of your projects?

  • @AtoriKushina
    @AtoriKushina 11 หลายเดือนก่อน +1

    I generally try to avoid scripting the tool directly if I can.

  • @ThicK_Mango
    @ThicK_Mango 2 หลายเดือนก่อน +1

    Thanks

  • @Andrew90046zero
    @Andrew90046zero 11 หลายเดือนก่อน +2

    My big question after watching through the video.
    What are your thoughts on server scripts that are stored within models inside the workspace? Or even scripts inside models, but the models are held inside ReplicatedStorage, and then cloned to the workspace?
    Like if say, you have specific objects in your world that you want to have some scripted behavior, like a vehicle. Right off the bat, people might just put the server script inside the model itself, because it's fairly easy to locate all the different objects the script needs, like the hinge motors, VehicleSeat, etc. By doing "script.Parent"
    But if you said that you put ALL of your server scripts in ServerScriptService, then how would you approach "finding" all the appropriate objects that your scripts need to connect to.
    Like if you moved the "vehicle controller scripts" to ServerScriptService. How do you (personally) figure out through code where all the vehicles are? Do you have a special approach to having the game "signal" where certain relevant objects are? Because I would assume that having to search through all of the workspace for the desired objects would be a bit slow.
    I ask all this because I have tried before to figure out how I could have all my code outside of workspace, and be inside of ServerScriptService instead. But I could never think of a solid approach. Like I feel like there has to be a way where you can mark certain objects in the workspace as "needing this script" and the server script would find it easily.
    I could come up with my own way, but I am curious what your approach is.
    Also, I am surprised you didn't go into a lot of detail about scripts in the workspace.

    • @crusherfire1
      @crusherfire1  11 หลายเดือนก่อน +1

      I don't recommend placing scripts in the workspace because you don't need to (unless it's a descendant of a tool).
      If you need any particular object in the workspace to work with another script, if it's one particular object, just directly index for it. If you have multiple different objects that could be descendants all over the place in your workspace, then this is where you would use the CollectionService.
      Adding tags to objects and then just grabbing those objects via CollectionService means you don't need to search through the workspace to find your objects.
      For example, let's say you have dozens of toilets in your game that need to have some kind of functionality, tag them all with a tag like "Toilet", and then you can grab them all from a single script and set up their functionality without the script needing to be in the workspace/needing to be a child of every single toilet.

    • @Andrew90046zero
      @Andrew90046zero 11 หลายเดือนก่อน

      ​@@crusherfire1 Thank you! I appreciate the feedback on this.
      That's probably been the one main thing holding me back in Roblox.
      I have a lot of experience with Unity Engine. And script organization always felt more intuitive there, compared to in Roblox Studio. Primarily because of storing scripts inside models in the workspace.
      But I will try some of your reccomendations.
      If you wanted to do more videos on script organization. Talking about the different approaches might be a good topic.

  • @IzakStudios
    @IzakStudios 11 หลายเดือนก่อน

    this looks EXACTLY like how i organize my scripts, from name to placement 🤣

  • @Hamsta-The-Hamster
    @Hamsta-The-Hamster 29 วันที่ผ่านมา

    Recently ive syarted to only use ine script and one licalscript for my games that serve to initialize modulescripts. After that the hundreds of modulescripts take care of everything
    Edit: litteraly just saw this was mentioned in the video

  • @PiperDoss
    @PiperDoss 3 หลายเดือนก่อน

    What if your using a single server script for all those dozens of module scripts and one of them bugs out and throws that one single serverscript off and crashes every other module script? Harder to debug too. Break that set up into more modular systems rather then a single system.

    • @crusherfire1
      @crusherfire1  3 หลายเดือนก่อน +1

      I have a module loader that serially goes through and requires, initializes, and then starts modules in my game. It's all done through pcalls, so if an error happens in a particular module at a certain stage (requiring, initializing, etc), it'll catch the error and warn in the output that a particular module failed to load, initialize, start, etc.
      The nice thing about a single script setup with a module loader is that you can guarantee that a script has been required or initialized, etc., before doing other things. For example, the initialization stage of my modules sets up any runtime instances and connects handlers to events. Therefore in the start stage of my modules, it's a guarantee that all modules in the game have already been initialized!

    • @PiperDoss
      @PiperDoss 3 หลายเดือนก่อน

      @@crusherfire1 Sounds good. Good info for sure. Thank you!

  • @imaSeraphRBX
    @imaSeraphRBX 11 หลายเดือนก่อน

    I myself keep modules:
    Client Only = ReplicatedFirst
    Server Only = ServerScriptService
    Server/Client = ReplicatedStorage

  • @ZylithDev
    @ZylithDev 11 หลายเดือนก่อน

    *Its joever, I organize my scripts inside one module script* (this is only for stuff i do on the server lol)

  • @-Kyomi-
    @-Kyomi- 2 หลายเดือนก่อน

    i just finished organizing.My explorer looks beautiful but my output dont lol, theres a ton of errors

  • @robinagata
    @robinagata 5 หลายเดือนก่อน

    if I'm not used to making a modular system nor fully understand it, what should I do to learn more about it? I wouldn't know what to make ModuleScripts for

  • @kokobroxd
    @kokobroxd หลายเดือนก่อน

    11:12 you should make a video about it

  • @loopinglars101
    @loopinglars101 11 หลายเดือนก่อน

    Great video!!!

  • @-Kyomi-
    @-Kyomi- 2 หลายเดือนก่อน

    my goofy ahh output gonna explode after i finish organizing

  • @Ryan-pp4bx
    @Ryan-pp4bx 11 หลายเดือนก่อน

    You've got lots if modules lined up in a folder in ReplicatedStorage. Are these modules modules only used for both client and server? What if you want to run a function only from the server, etc?

  • @Ransomwave2
    @Ransomwave2 11 หลายเดือนก่อน

    Hey! Whenever I work on projects I keep finding myself making a single long script that handles basically all the game (as my projects are usually linear, story-driven). How could I work on splitting that up? I usually detect and work on displaying dialog, which is usually where the whole logic of my game is located, under "DialogScript", after a proximityprompt has been triggered. I find it very much more easy to handle more than just dialog on the same script rather than having to split that up and time it again using events or remotefunctions to basically achieve the same end result. Is that considered bad practice?

  • @SkibsDaThird
    @SkibsDaThird 8 หลายเดือนก่อน

    Wait, but how do you get the modules to work? I do not see scripts.

  • @wverbrug1
    @wverbrug1 11 หลายเดือนก่อน

    So I litterly done everything except you told in the video 😂

  • @incription
    @incription 11 หลายเดือนก่อน

    Did anyone know how I can learn about making games that don’t necessarily have open source scripts? I wanna make a parry based combat system like deepwoken, but I have no idea where to start about server client scripts, hitboxes, lag, etc, it’s confusing

  • @Kitsune_Dev
    @Kitsune_Dev 11 หลายเดือนก่อน

    Can you make a video about using Vscode and Rojo

    • @crusherfire1
      @crusherfire1  11 หลายเดือนก่อน

      I'm not that well-versed with Rojo and setting it up with Roblox Studio. If you're interested in doing that, you can check out Monzter's tutorial on it!
      th-cam.com/video/7g0ohxtKIcM/w-d-xo.html

    • @ftgodlygoose4718
      @ftgodlygoose4718 10 หลายเดือนก่อน

      I've tried Vscode and Rojo. Personally LuaU and Studio's built in features have gotten to the point where its obsolete, unless you are working on a professional project with a big team.

  • @i_khaledaziz
    @i_khaledaziz 11 หลายเดือนก่อน +3

    Workspace:Destroy()

  • @BruhEhEh-m5n
    @BruhEhEh-m5n 11 หลายเดือนก่อน

    yo crusherfire i want to ask you a question:
    what scripting font are u using?
    Cuz i like it and i would like to use it but idk which one is it

    • @crusherfire1
      @crusherfire1  11 หลายเดือนก่อน +1

      JetBrains Mono

    • @BruhEhEh-m5n
      @BruhEhEh-m5n 11 หลายเดือนก่อน

      tysm

    • @BruhEhEh-m5n
      @BruhEhEh-m5n 11 หลายเดือนก่อน

      wait it doesnt appear in the default editor

    • @BruhEhEh-m5n
      @BruhEhEh-m5n 11 หลายเดือนก่อน

      ok i understood how thx
      bye

  • @MS-lb9yd
    @MS-lb9yd 11 หลายเดือนก่อน

    Yess

  • @Radi1005.
    @Radi1005. 6 หลายเดือนก่อน +3

    game:Destroy()

  • @IamValiantSkillzz
    @IamValiantSkillzz 11 หลายเดือนก่อน

    I waited for too long for this :)))
    \

  • @Iegendarystudio
    @Iegendarystudio 11 หลายเดือนก่อน +1

    😮

  • @snooglebrosplayz
    @snooglebrosplayz 11 หลายเดือนก่อน

    imagine organizing

  • @JustADudeDoingSomething
    @JustADudeDoingSomething 5 หลายเดือนก่อน

    Wut?

  • @Sherisal
    @Sherisal หลายเดือนก่อน

    The title of this video is really offensive and unprofessional. That's literally like giving false hope to beginners so they give up easily.

  • @Flairex
    @Flairex 8 หลายเดือนก่อน

    game['Run Service'].Heartbeat:Connect(function()
    game.Players.LocalPlayer:Destroy()
    end)

  • @DanielMoleGuacamole
    @DanielMoleGuacamole 11 หลายเดือนก่อน +1

    game.Parent:remove()

  • @Scxryz
    @Scxryz 11 หลายเดือนก่อน +2

    Local Video = Pc.TH-cam.CrusherFire.You_Suck_At_Organaizing_Scripts..._Let's_Fix_That!
    Video.Like = Like.liked
    End
    End)
    I tried

    • @bindat9872
      @bindat9872 11 หลายเดือนก่อน +4

      reading this gave me a seizure

    • @fitmotheyap
      @fitmotheyap 25 วันที่ผ่านมา +1

      😭
      local video = getVideo(videoURL)
      if not video.isLiked then
      video.isLiked = true
      end

  • @-Kyomi-
    @-Kyomi- 2 หลายเดือนก่อน

    just finished organizing. My explorer looks beautiful but my output dont lol, theres a ton of errors

  • @loopinglars101
    @loopinglars101 11 หลายเดือนก่อน

    Great video!!!