What Roblox Doesn't Tell You | Roblox Studio

Поделиться
HTML-код
  • Опубликовано: 1 дек 2024
  • ИгрыИгры

Комментарии •

  • @stewiepfing539
    @stewiepfing539  6 месяцев назад +43

    Optimize the amount of memory your using!!

    • @workindad
      @workindad 6 месяцев назад +2

      That :Once is interesting. You can use that for day/night cycle when the first player enters on a new server so that everyone is sync'd or perhaps when there's a timer on how long a server has been online.

    • @1Teb
      @1Teb 6 месяцев назад +1

      Wrong your

    • @ProSureString
      @ProSureString 6 месяцев назад

      @@1Tebyou’re* wrong

    • @Kitsune_Dev
      @Kitsune_Dev 6 месяцев назад

      @@workindadyou can use modulus operator with a shared timestamp value

    • @enpiesie
      @enpiesie 6 месяцев назад

      ​@@workindad I was really surprised when I saw :Once() existed. Usually I just use connect and then disconnect it when I'm done. this is so useful

  • @pingolein
    @pingolein 6 месяцев назад +106

    most of the roblox scripting content creators don't teach about optimization and more unknown functions / features, Keep up the great work!

    • @detsuk1
      @detsuk1 6 месяцев назад +2

      "if you really don't know about programming, become a programming youtuber"

  • @berendberend702
    @berendberend702 6 месяцев назад +36

    Great tutorial! One thing to keep in mind is that roblox automatically cleans up memory from variables that are no longer in use, so you don't have to manually do variable = nil (although this will free up the memory faster than roblox's automatic garbage collection afaik). As for the last part of the video, roblox now automatically destroys players and characters (previously an option called PlayerCharacterDestroyBehavior).

  • @nicraftstudios0
    @nicraftstudios0 6 месяцев назад +15

    Meanwhile me with hundreds of poorly optimized loops constantly running at the same time: hm I wonder why my game’s so laggy

  • @mathesimard
    @mathesimard 6 месяцев назад +5

    I totally agree. I think this is definitely a thing they should fix as it may cause a decent amount of lag/delay on low-end or also called potato devices. I am a scripter myself and I totally agree with you.

    • @ExplyDev
      @ExplyDev 6 месяцев назад

      Disagree

    • @mathesimard
      @mathesimard 6 месяцев назад +1

      @@ExplyDev Why?

  • @_demosthenes
    @_demosthenes 6 месяцев назад +4

    you don't need to manually destroy the players or characters, afaik that issue only happened with characters and it has since been fixed. just manage your event connections and avoid globals, lua is a high level interpreted language anyways so it's always going to have some performance issues or lack of fine control of memory

  • @norepinafrina
    @norepinafrina 6 месяцев назад +1

    As a expl. script dev, doing these will strongly optimise it. Most scripts are laggy and unoptimised, funny

  • @AleyzRo
    @AleyzRo 6 месяцев назад +2

    dusty trip is an example, it fr crashed my roblox when i wanted to go in a round💀 (sometimes)

  • @firepalmmy5933
    @firepalmmy5933 6 месяцев назад +5

    Title: what roblox doesn't tell you
    in video: roblox also says that clearing up tables when they are no longer needed is another way of optimizing

    • @stewiepfing539
      @stewiepfing539  6 месяцев назад +1

      Yeah roblox doesn’t tell you about memory optimization but they still have documentation 🤡

    • @firepalmmy5933
      @firepalmmy5933 6 месяцев назад +1

      @@stewiepfing539 could you make a video explaining all tabs in developer console: memory, network, etc.

  • @ImNot_Nightmare
    @ImNot_Nightmare 6 месяцев назад +2

    Great example of a memory leak is parkour reborn

  • @thedrogba246
    @thedrogba246 6 месяцев назад +7

    just use maid, trove or janitor and you are good, disconnecting stuff is time consuming those modules do that for you, never heard of destroying the character on leave, but that's just a visual thing, their character will stay there for 2-3 seconds but the character will be removed anyways

    • @chibisayori20
      @chibisayori20 6 месяцев назад +1

      I think people confuse removing the character in studio within the client window
      Because studio is both the server and the client, some issues can occur that might not occur on a live game.

    • @zenstarz2406
      @zenstarz2406 6 месяцев назад +1

      far too much unnecessary bloat from some of those modules you are recommending when you could really just make a table containing all things that are planned to be cleaned up and iterate through them later on

    • @chibisayori20
      @chibisayori20 6 месяцев назад

      @@zenstarz2406 or make a module script, call it Globals or smth and cram all your utility functions and constants inside it.

  • @Martinchi
    @Martinchi 6 месяцев назад +5

    Great video! I'm relatively new to scripting, though I've been on the platform for the better part of 13 years, and optimization in my opinion is heavily neglected (judging by the lack of tutorials or videos that speak about it). This was quite informative, keep it up.

    • @cargonewjeanz
      @cargonewjeanz 6 месяцев назад +1

      how and when did you learn how to script

  • @johanildpg5414
    @johanildpg5414 6 месяцев назад +1

    Actually very useful, thanks!

  • @vrfrenzy8451
    @vrfrenzy8451 3 месяца назад

    ty, optimisation needs to be focused on by more people

  • @ufoulroo2035
    @ufoulroo2035 6 месяцев назад +9

    3:00 the assistant is so annoying when trying to code 😂

    • @AlreadyCode
      @AlreadyCode 6 месяцев назад

      fr. you can get rid of it though

    • @NurJoel
      @NurJoel 6 месяцев назад +1

      yeah it sometimes stresses me because ik when those three loading points finished there'll be a code. And then it distracts me from what I wanted to code

    • @jujhar.
      @jujhar. 6 месяцев назад

      Yeah, I know what I wanna write it just starts going
      *. . .*

    • @NurJoel
      @NurJoel 6 месяцев назад +1

      @@jujhar. Isn't there a way you ca turn it off?

    • @restartartyt
      @restartartyt Месяц назад

      @NurJoel Go to FILE > Studio Settings > Script Editor then find the Code Assist topic then disable auto-trigger Code Assist (self-explanatory) Now you can still trigger it using Alt + \ or Option + \

  • @KashTheKingYT
    @KashTheKingYT 6 месяцев назад +1

    nice, you should make a video about luau compiling and how roblox optimizes your script on compile time

    • @jujhar.
      @jujhar. 6 месяцев назад +1

      Kash 🤑🤑🤑

  • @bebra3392
    @bebra3392 5 месяцев назад +2

    Ofc roblox's max amount of memory is "6.9" GB

    • @frbestguy
      @frbestguy Месяц назад

      Thats still alot considering theres ALOT of games on roblox, no?

    • @bebra3392
      @bebra3392 Месяц назад

      @@frbestguy I mean the funi number

  • @epic_devz
    @epic_devz 6 месяцев назад +1

    This was really helpful, Thanks!

  • @hayden2638
    @hayden2638 6 месяцев назад +1

    It's pretty useful to know this, although for small games it won't make a huge difference, but for big projects it sure will.

    • @DynoDeso
      @DynoDeso 6 месяцев назад +1

      It will make a pretty big difference. If it's a small game and these connections are constantly being made and not created then the memory usage will keep piling up

  • @jujhar.
    @jujhar. 6 месяцев назад +1

    I love running thousands of unnecessary loops at once 😊😊😊

  • @didymos03
    @didymos03 6 месяцев назад

    Didn't know about this. I just started making my own game. Thanks for the tut.

  • @cool_roblox_guy
    @cool_roblox_guy 2 месяца назад

    roblox doesnt always crash when using more than 7gb of ram, hell parkour reborn when v1.3 released managed to use 12gb on my system before i had to force close it so my pc wouldnt crash

  • @MOHA_1484.
    @MOHA_1484. 6 месяцев назад +2

    Bro I was like I will learn scripting I alreaddy saw some vedios but now I'm scary I mean my dream is to make games now I cant
    and I dont have money

  • @Lazu_o
    @Lazu_o 6 месяцев назад +2

    destroying players and characters upon their removal is weird. aren't they automatically destroyed when removed?

    • @ProSureString
      @ProSureString 6 месяцев назад

      Sometimes if values still exist and are somehow tied to the player, it will remove them

    • @Te.le.
      @Te.le. 6 месяцев назад

      Nope, the motor6d instances are just deleted.

  • @Duck-King
    @Duck-King 2 месяца назад +1

    Hello, why did you say at 3:53 that nil takes more memory than 0? I think your statement is false because nil is just nothingness while 0 is something. But if what you said is true then please clarify.

  • @xzenkaidragon9664
    @xzenkaidragon9664 6 месяцев назад

    Thanks man this was helpful but one thing I'm still confused about is why do we have to run destroy on player and character when playerremoving or characterremoving events run? Do they not just destroy on their own and in that case all connections tied to them also get cleaned up?

  • @zacomad
    @zacomad 6 месяцев назад

    Bro save my life with :Once and other tech just thanks bro 🙂👌

  • @technykgs
    @technykgs 6 месяцев назад +1

    Could you put the docs in the description or in a pinned comment? I'd like to read it through

  • @golden-gamingmore5931
    @golden-gamingmore5931 6 месяцев назад

    me when memory leak 🧨💥

  • @dominilk01
    @dominilk01 6 месяцев назад +1

    OHH no! my pressuse octet lost by setting a variable to nil

  • @baconheadhair6938
    @baconheadhair6938 6 месяцев назад +1

    how to reactivate a connection after disconnecting

    • @LooperEpic
      @LooperEpic 15 дней назад

      just define it again like anything else. “Disconnecting” basically just makes it nil

  • @RuskyDev
    @RuskyDev 6 месяцев назад

    Nice tutorial! Do you have a Discord server? If not, can I create one for you?

  • @FEG_Studio
    @FEG_Studio 6 месяцев назад

    Awesome !

  • @Noon1263
    @Noon1263 6 месяцев назад +1

    4:30i thought you said setting it to nil uses up some memory, but you just set it back to nil here, is there a difference?

    • @stewiepfing539
      @stewiepfing539  6 месяцев назад

      I meant to say when the variable is equal to nothing eats up memory like: local variable. Sorry I messed up the way I should of done it

    • @Noon1263
      @Noon1263 6 месяцев назад

      @@stewiepfing539 Ok, "local test" eats up memory but "local test = nil" does not, is that right?
      Also at 8:16 you mentioned that Roblox among others recommends deleting the players character, but Roblox already does this? When a player leaves a game, it gets destroyed automatically, right?

    • @Noon1263
      @Noon1263 6 месяцев назад

      @@stewiepfing539 Also could you send me the dev forum/creator page that says about optimising your game, I would like to read it in depth more.

    • @stewiepfing539
      @stewiepfing539  6 месяцев назад

      @@Noon1263 as far I as I know yes, destroying the player and character was just on the documentation so I covered it

    • @Noon1263
      @Noon1263 6 месяцев назад

      @@stewiepfing539 ah ok, could you send me a link to the documentation?

  • @a爪尺
    @a爪尺 6 месяцев назад

    we are really getting in times of C where programmers need to carefuly manipulate memory?

  • @NoSences
    @NoSences 6 месяцев назад

    Roblox limit of 6.9
    Nice

  • @veliantriic
    @veliantriic 6 месяцев назад +1

    9:18 what if theres a datastore? will it save?

    • @AggelosAnimations-y3h
      @AggelosAnimations-y3h 4 месяца назад

      i have the same question lol

    • @notpythonics
      @notpythonics 3 месяца назад

      this is a stupid question
      you can async before destroying the player, and I believe players are destroyed on leaving.
      the player:Destroy() there is redundant and pointless.

    • @veliantriic
      @veliantriic 3 месяца назад

      @@notpythonics it's a question no need to get so mad 😭🙏🏾

  • @ionelaalexandru2652
    @ionelaalexandru2652 6 месяцев назад

    Is there a way to simulate water with floating physics (for a boat game) so that the game works well on mobile too?

    • @Zakeksi4ek
      @Zakeksi4ek 6 месяцев назад +1

      use a better game engine for that

    • @halohasawaken6793
      @halohasawaken6793 6 месяцев назад

      If you want to accomplish something like that in Roblox (of all things), you might as well make your own physics system. At the moment, Im creating a physics system for grenades since using remote events + applying velocity on server will make the process slow. And I aint using FastCast!

    • @LooperEpic
      @LooperEpic 6 месяцев назад +1

      Couldn’t you do raycasts? Same concept as a vehicle with raycast suspension but over water (and probably submerged a bit)

    • @Sown.
      @Sown. 6 месяцев назад

      @@halohasawaken6793 have fun with getting that to perform at least somewhat fast. Native codegen will not work for that I believe so uhh yeah I think you should think of using another game engine

    • @OcnarfPro
      @OcnarfPro 6 месяцев назад

      ​@@halohasawaken6793use OcnarfCast

  • @windy6191
    @windy6191 6 месяцев назад

    nil and 0 take up the same amount of memory

    • @stewiepfing539
      @stewiepfing539  6 месяцев назад

      No they dont, in Lua, numbers are typically stored as double-precision floating-point numbers, which means they take more memory (8 bytes / 64 bits) than just nothing

    • @windy6191
      @windy6191 6 месяцев назад

      @@stewiepfing539 all luau primitives (and even Vector3s) are stored in a 16 byte union

    • @windy6191
      @windy6191 6 месяцев назад

      @@stewiepfing539 how about pointing out whats wrong with what i said? you can look at the source code yourself look it up. Nil and number are the same size. Variables for tables and strings are the same size too (the variable stores a pointer to the content inside internally)

    • @windy6191
      @windy6191 6 месяцев назад

      why did all my and your replies get deleted?

    • @windy6191
      @windy6191 6 месяцев назад

      did you delete my replies?

  • @crooda3681
    @crooda3681 6 месяцев назад +1

    Learned this the hard way in c++

  • @puppetbirds
    @puppetbirds 6 месяцев назад +1

    HOW DO PROGRAMMERS NOT KNOW MEMORY MANAGEMENT? these people will never be able to write a SINGLE zig program without a memory leak

    • @_demosthenes
      @_demosthenes 6 месяцев назад +5

      they dont need to, lua has a garbage collector, it just doesnt clean up some connections depending on scope and where theyre referenced. luas a scripting language precisely because you dont have to worry about memory management. imagine trying to use lua to configure a program and have to worry about memory allocation. also not sure what zig has to do with this

    • @baconheadhair6938
      @baconheadhair6938 6 месяцев назад

      how do programmers not know everything about programming the second the start programming

  • @ding.1367
    @ding.1367 6 месяцев назад +1

    6.9GB specifically, bro what. nice video though

    • @Te.le.
      @Te.le. 6 месяцев назад +1

      its 7 gb - the 0.1gb thats reserved for other services that roblox runs that arent binded to the player task. 7 gb is a lot for roblox.

  • @Nwmcosczycosidk123
    @Nwmcosczycosidk123 6 месяцев назад

    1:15 is this real?

  • @alexikabakilwa2663
    @alexikabakilwa2663 6 месяцев назад

    Did i play 3vade with you

  • @嚇壞
    @嚇壞 6 месяцев назад

    grrah

  • @Kitsune_Dev
    @Kitsune_Dev 6 месяцев назад

    oh 💩