SummerEquinox

SummerEquinox

10+ years creating games on Roblox and contracting gameplay commission work. This channel is generally educational - and aims to help you improve in your Roblox development journey!

so i scripted WORDLE on roblox...

so i scripted WORDLE on roblox...

Пікірлер

  • @emibody
    @emibody47 минут бұрын

    another day, another banger video as always😌

  • @pinkdadino7630
    @pinkdadino76302 сағат бұрын

    Great Video, you should create a series about Roblox Plugins and how to make them/setup. Right now I'm having trouble with adding GUI since PluginDebugService seems to delete anything other than a script

  • @_barskii
    @_barskii2 сағат бұрын

    content is getting better and better everyday

  • @summerequinox
    @summerequinoxСағат бұрын

    Thank you!

  • @EvilUTTP
    @EvilUTTP3 сағат бұрын

    Can you release this plugin it looks fire lol.

  • @summerequinox
    @summerequinox3 сағат бұрын

    I do actually want to - Roblox has me jumping through hoops to make it purchasable because I have to sign in with Stripe, will work on this ASAP as well as the other features for it I mentioned in the video. :))

  • @RyanEXElol
    @RyanEXElol4 сағат бұрын

    Pro tip for your vids: Try to balance your audio, so you don't have to make it very loud, then get your ears destroyed from the other sound effects. (tho i gotta say it impoved, I still have to up the volume tho.)

  • @summerequinox
    @summerequinox3 сағат бұрын

    Thanks a ton, hopefully next vid a bit better in this department as I finally found out how to make my mic louder on the OS side which was a problem before :) Thanks so much for your feedback I appreciate it

  • @Famyi
    @Famyi4 сағат бұрын

    Thank you so much

  • @summerequinox
    @summerequinox4 сағат бұрын

    Always.

  • @spookyblox9460
    @spookyblox94604 сағат бұрын

    Hi, great video! I followed like this one tutorial like 2 years ago on making plugins and thats like miy entire knowlede of plugins lmao, I definitely learned something! Keep it up!

  • @summerequinox
    @summerequinox4 сағат бұрын

    Thanks so much! Thanks for watching

  • @FirespearOfficial
    @FirespearOfficial4 сағат бұрын

    I made a plug-in that grabs a directory to a specific item in the game so you can copy-paste it for coding. It also selects it so you don’t have to go finding it. It’s especially good if it’s a reallllly deep item like in GUIs. There’s also presets so you can get to it easier.

  • @summerequinox
    @summerequinox4 сағат бұрын

    Amazing!! I'll definitely be indulging more in plugins in the future, this was the first time in a while I felt like I was in a whole new world of Roblox scripting. Great for solving personal use-cases as well for games!

  • @Xiu___
    @Xiu___4 сағат бұрын

    Im here early :)

  • @ILoveLuau
    @ILoveLuauКүн бұрын

    0:10 why use self.__Current rather than Current.__Current?? isnt the 2nd method faster? is there a reason? lmk

  • @summerequinox
    @summerequinoxКүн бұрын

    The access speed will be ~same once the table exists in the function level, it does because implicitly through self, so both have time efficiency of O(1) -> which more or less means it doesn't matter which one you use but self always provides greater modularity. Thanks for your question, you can use either that you prefer.

  • @nethminchamika
    @nethminchamika2 күн бұрын

    Great explanation on why avoiding the Roblox global environment table is crucial in scripting. Your breakdown of the issues like performance, intellisense challenges, and race conditions was spot on. Keep up the informative content, it's super helpful for Roblox developers!

  • @Henryslife
    @Henryslife2 күн бұрын

    How did u get those colors for your script editor

  • @user-uo8ny1kj4c
    @user-uo8ny1kj4c2 күн бұрын

    dev forum is full of some of the biggest losers I've ever seen. Ive never seen anybody kiss roblox moderators asses that much before

  • @Kitsune_Dev
    @Kitsune_Dev2 күн бұрын

    ugh, sometimes it’s just hard to give them help without context

  • @summerequinox
    @summerequinox2 күн бұрын

    Context is definitely a prevalent problem on there

  • @siggern2005
    @siggern20052 күн бұрын

    tysm this solves my problem!!

  • @_barskii
    @_barskii2 күн бұрын

    You should create a video explanation on what ".new()" means in Luau. I have never really used the piece of code, but I also don't have a full understanding of what it means. I am still learning Luau, though I have been working with it for years.

  • @smokedmetal
    @smokedmetal2 күн бұрын

    ".new" is just a convention that people use, you can name it as anything.

  • @summerequinox
    @summerequinox2 күн бұрын

    I have a video a few videos back "the least understood line of Roblox code" that focuses in on OOP and actually touches on this, but will definitely look at putting together a video on it in the future!

  • @AustriaColorised
    @AustriaColorised2 күн бұрын

    i've used these once and the the only reason i did id becasue i didnt know value objects existed

  • @ToastysTaken
    @ToastysTaken2 күн бұрын

    race condition is hell

  • @PixelR_Dev
    @PixelR_Dev2 күн бұрын

    Oh by the way, after a variable name, You can do : and then set a type. for example: local humanoid : Humanoid = character:FindFirstChild("Humanoid"). This gives you all intellisence even tho roblox isnt sure if you can get that object. Thanks for reading guys!

  • @DynoDeso
    @DynoDeso2 күн бұрын

    Every leaked anime/fighting game i've seen uses this LOL

  • @wedoalittletrolling723
    @wedoalittletrolling7232 күн бұрын

    That's why they are slow and very easy to exploit. Still, if they we're secure, we wouldn't be able to get leaks

  • @madnessmyth
    @madnessmyth2 күн бұрын

    If its a module, every time its required, it will have the same values even if changed from a script, Say, I have a script that loads the game and sets _G.Loaded to true. Sure, it can be replaced to a boolean value that is checked for updates. but how else would _G be used?

  • @DynoDeso
    @DynoDeso2 күн бұрын

    If you're lazy

  • @summerequinox
    @summerequinox2 күн бұрын

    You can use a ModuleScript or a value object for the replacement and be fine. The ModuleScript return's contents can be changed. So if you return a table {Loaded = false} and require that module in a different script, you can still set module.Loaded = true and that information is available to every script within that context. The other question, how else would _G be used, is a good one. The truth of the matter is in vanilla Lua and even Luau off of Roblox I have no problem with it, it's just the fact that using it on Roblox causes all of the things listed in this video. So there is no "other" use for it on Roblox, even though it's accessible, it shouldn't be used. ModuleScripts and value objects will always do better. :) Hopefully this helps

  • @madnessmyth
    @madnessmyth2 күн бұрын

    @@summerequinox No it does not save. Writing {Loaded = false} as a variable or returning that, will make a new table address. Try printing it and pressing F9, every time you require it, it will have a new address, meaning its not the same table. _G can be used to keep the same address.

  • @summerequinox
    @summerequinox2 күн бұрын

    @@madnessmyth It does save changes regardless of any of this. ModuleScripts run one time per script context environment which is all over the creator hub documentation as well. Once its run once, it just returns itself instead of running again, which is why they can be used how they are in large codebase structures. To continue though, it does not have a different address (I tested this right now), and if it does it's under-hood array growth/shrinking methods happening in C++ that doesn't matter to you as a Luau scripter. Memory addresses don't matter to you as a Roblox scripter, low level languages like c, c++ use all kinds of tricky implementations to create consistency and niceties for their data structures (e.g the Lua table).

  • @summerequinox
    @summerequinox2 күн бұрын

    The only thing in relation to memory that matters in general Luau programming is reference keeping, which because of how pointers work, even if your underlying memory is changed you still access the same object.

  • @T3Toxic
    @T3Toxic2 күн бұрын

    Bro has the perfect setup to be making videos that people can come back to when he's famous

  • @oneomany
    @oneomany2 күн бұрын

    OKAY ILL DO IT IN 2025!!

  • @tillianator5931
    @tillianator59312 күн бұрын

    nobody uses this

  • @epixerty
    @epixerty2 күн бұрын

    true I've only seen it in exploits since they use loadstring

  • @arisethee
    @arisethee2 күн бұрын

    Please use, CTRL + Arrow Key (< - >). Instead of spamming it please!!!

  • @arisethee
    @arisethee2 күн бұрын

    Great explanation.

  • @Strucid_T
    @Strucid_T2 күн бұрын

    Haven't watched the full video yet, but how else would you set global variables for server scripts? I know you can use shared, but you can only use them for modules

  • @summerequinox
    @summerequinox2 күн бұрын

    So it basically turns from a coding problem into a game architecture problem. Things like _G data, setfenv, etc… disable highly important Luau optimizations - so in a game where performance was prioritized everything would be passed around via ModuleScripts. Data needed by multiple scripts should be returned by a ModuleScript in the server environment, it could be as simple as a settings ModuleScript that fires off events for its changes other scripts can hook into. So the outright answer would be: there is no other way to, but the point is that there doesn’t need to be, because everything _G does, ModuleScripts do better. -> Minus the extenuating circumstance of backwards compatibility mentioned in video

  • @Strucid_T
    @Strucid_T2 күн бұрын

    @@summerequinox I see now, thanks.

  • @MappingRobloxAnimations
    @MappingRobloxAnimations2 күн бұрын

    For global variables use like a value object and parent it to replicated storage so both the client and the server can access it, then whenever you need to change you can just use the = method, and whenever you need to get the variable just do [value].Value (a value object is different from the value object's value, kind of weird I know. You could also use modulescripts but I find this to be the simpler and neat way of doing things.

  • @kat-yw5ce
    @kat-yw5ce2 күн бұрын

    summerequinox out with a new BANGERRRR

  • @arisethee
    @arisethee2 күн бұрын

    Logically correct, though quite hard-coded in a sense, great work. Love it.

  • @keyblademaster8263
    @keyblademaster82633 күн бұрын

    Intro clean af

  • @summerequinox
    @summerequinox3 күн бұрын

    Thank you! In the next video or two I'll have a new editing software to try out - excited to see what comes of it :)

  • @firepalmmy5933
    @firepalmmy59333 күн бұрын

    I dont like the way you explain one question as if it was an essay, I prefer short answers and a lot of questions

  • @summerequinox
    @summerequinox3 күн бұрын

    Absolutely reasonable :) if I end up doing this concept again in the future I'll work on shortening the answers!

  • @downloador664
    @downloador6643 күн бұрын

    Great video, however I think you went a bit wild and started explaining everything technical, maybe not something for every young developer. 😛 It's great to see you again, especially since you quit bhop in 2018. Keep it up. 🙂

  • @summerequinox
    @summerequinox3 күн бұрын

    Thanks! I do agree, and one thing I'll aim to do in the future considering some more technical talk is to get in Studio and actually show a bit more of what I'm talking about. :) bhopbhopbhop

  • @carsondwade
    @carsondwade4 күн бұрын

    wow i thought you had a lot more subscribers you are a really good youtuber

  • @summerequinox
    @summerequinox4 күн бұрын

    Thank you!!

  • @UmarbekAbdyvalyev
    @UmarbekAbdyvalyev4 күн бұрын

    I know this is completely unrelated to the video, but seeing you probably do your homework, you seem like the type of person to give me relevant answers: How do you handle lag compensation, specifically character replication? I've seen resources like Chickynoid but resources like these lack an actual documentation. I'm creating a gun system, and I just hate the concept of the 'favor-the-shooter' hit registration, I would much rather enjoy casting projectiles via the shooter's client AND have true hit registeration (The hit player wouldn't be confused how someone shot him when he just took cover behind a wall). A response would be AWESOME. Besides that, I find your videos pretty unique compared to other channels, keep it up !!

  • @summerequinox
    @summerequinox4 күн бұрын

    Hey man! I'm seeing this from work so sorry if I provide a shorter reply here. You certainly can't 'favor-the-shooter' safely without a beautiful anti-cheat in place that's nearly (/literally) impossible on Roblox, that anti-cheat would want OS-level guard something like Riot Vanguard. I will say while I understand the things involved I'm certainly no expert. Even the best shooters hold some amount of inaccuracy in hits for this reason alone. It will never be safe to put absolute trust to the client. Your best bet is to find a "middle-ground". Some things are going to be out of your control on Roblox as well, like Server's tick-rate. There's a concept called server authoritative game architecture that may interested you specifically in regard to real time games, like those on Roblox. SAA (as an acronym to the above) uses little tricks to maintain game integrity while still keeping the smooth feeling. Predictions etc... it's a big task to take on but I know for sure certain Roblox games use it (namely Phantom Forces) as one of the developers has a clip talking about it. You're generally fighting a losing/uphill battle on Roblox to get offensive against lag - for the most part you can be defensive by giving everything involved as much CPU/RAM/resource capacity availability as possible. Especially since you don't actually own the cloud resources where your game is played, and have practically no control over it. Make sure you're using StreamingEnabled and using minimalism with server resources. Consider some larger games with next-to-no cheating problems, the games that come to mind likely have a few things: quick server tick rates, server authoritation with client-sided predictions, and more. Something like Rocket League is a great example of a game that does this. It's generally done to combat cheaters, but the smoothness is a bit of a byproduct. Here's some links, hope this helps you in your journey in some way. Again, definitely not an expert, just some things to consider: medium.com/mighty-bear-games/what-are-server-authoritative-realtime-games-e2463db534d1 timetocode.com/nengi/authoritative-server I appreciate your comment!

  • @mars48379
    @mars483794 күн бұрын

    Sometimes I go on to the forum and get a really good scripter who is really helpful. And then sometimes I get a scripter that is worse then me who tries to act like they know what they are doing. But in general scripting support is really useful!

  • @summerequinox
    @summerequinox4 күн бұрын

    Definitely agree! Older resources don't provide the same level of community and then server support as Discourse, and receive way less usage. Not even sure if sites like scriptinghelpers are still around as they used to be.

  • @nullx2368
    @nullx23684 күн бұрын

    You remind me of a youtuber called braian, you look and sound similar to him. He also does game dev videos 😂 no rly check him out

  • @summerequinox
    @summerequinox4 күн бұрын

    Just had a look! Very interesting :) I may actually watch his pinned video as I'm curious about Unity stuff. My only exp with gamedev outside of Roblox is in Unreal Eng!

  • @EvilUTTP
    @EvilUTTP4 күн бұрын

    People in scripting support either give you the worst solution known to man, overcomplicate it to seem smart, or just help you there is zero inbetween when I go on there to help people.

  • @summerequinox
    @summerequinox4 күн бұрын

    Definitely seems that way. And actually the old on-site forums had a similar problem to this. On the DevForum I think it becomes worse as everyone is fighting for solutions so they will reply to practically anything. If solutions weren't tracked you might attract a better suited developer to each thread :).

  • @gruntkwintin
    @gruntkwintin4 күн бұрын

    Nice video, I definitely think you should make a discord. I'd be super excited to be able to talk and learn together with you and other like minded developers. I've been very sparse in and out of developing on Roblox but this time I wanna be more serious and make an amazing game.

  • @gruntkwintin
    @gruntkwintin4 күн бұрын

    I don't know what your main ambitions are and how much time you have, but I would love to have someone like you who seems very knowledgeable to talk to and I know me and others are truly alone game development right now. I know if there was a community with some strong developers like you we could really help each other learn, stay committed and motivated in what we're going to achieve. The reviewing subscriber scripts also sounds like a fire video. I was also thinking maybe a 1 on 1 call where subscribers bring 1 or a couple completed scripts, with all different types of purposes and you review them and the subscriber could ask questions for a true teaching experience would be a great video idea.

  • @summerequinox
    @summerequinox4 күн бұрын

    @@gruntkwintin Thanks so much for your comments and I think you're exactly right about why a Discord server is beneficial. I like your video idea as well, would absolutely love to do that in the future. I will follow up with you with the link in the future [likely by EOW as I need to figure out how I'd like to organize the server. ] :))

  • @notsaintlunar
    @notsaintlunar4 күн бұрын

    "Van:GetChildren()" really got me at 0:05

  • @lukeewhy
    @lukeewhy4 күн бұрын

    Nice improvements, imo the intermission screens still a bit too long but I like the subtitles you should use more (I know they’re a pain)

  • @summerequinox
    @summerequinox4 күн бұрын

    Thanks! And noted, I like the subtitles as well, especially for the intros! I appreciate your feedback

  • @PixelR_Dev
    @PixelR_Dev5 күн бұрын

    Dude, I'm literally so confused on how you have 415 subscribers, I thought i red the number wrong when ur editing is this good! You deserve more views but seems like the youtube algorithim dosent know you yet, so keep going you will hit big some day bro! Keep up the great content!

  • @summerequinox
    @summerequinox5 күн бұрын

    I appreciate this a lot! The editor I use has a lot of presets to use so definitely some help there, but I'm learning more each time I make something and enjoying it more over time. Thanks for this :)

  • @PixelR_Dev
    @PixelR_Dev4 күн бұрын

    @@summerequinox Which editor are you using? I also wanna start a dev channel soon..

  • @summerequinox
    @summerequinox4 күн бұрын

    @@PixelR_Dev This video was made with Clipchamp :)

  • @summerequinox
    @summerequinox4 күн бұрын

    I know another good free editor is Davinci, I haven't sunk time into it yet but it seems to have more features.

  • @PixelR_Dev
    @PixelR_DevКүн бұрын

    @@summerequinox Are they all paid.. Because I dont have any money.. Clipchamp says try for free so I'm very confused

  • @madeadiputrasena7235
    @madeadiputrasena72355 күн бұрын

    Dont let other people see this video 🤫🤫

  • @keyblademaster8263
    @keyblademaster82634 күн бұрын

    Why?

  • @kat-yw5ce
    @kat-yw5ce5 күн бұрын

    KEEP IT UP!!! 🎉🎉🎉🎉🎉

  • @summerequinox
    @summerequinox5 күн бұрын

    kat-yw5ce, Thanks!

  • @il1ekp1e4
    @il1ekp1e45 күн бұрын

    nice

  • @summerequinox
    @summerequinox5 күн бұрын

    Thank you!

  • @pewpewxdx12
    @pewpewxdx125 күн бұрын

    PHEW its not my game

  • @summerequinox
    @summerequinox3 күн бұрын

    Hahaha

  • @pewpewxdx12
    @pewpewxdx123 күн бұрын

    @@summerequinox I am not sure about structure and organising my games Lol , I tried my best by using folder and modules script and Rojo but I don't know if I'm doing it "right"

  • @summerequinox
    @summerequinox3 күн бұрын

    @@pewpewxdx12 I think everyone does Rojo a bit differently. If you're seeking organization at all you're doing better than a lot of people :). Rojo can be a learning curve to Roblox developers especially because the game's content gets housed in a JSON object - which is a format devs are likely unfamiliar with. Everyone organizes differently, and so outside of some foundational principles find what works for you!

  • @bagmanman2558
    @bagmanman25585 күн бұрын

    bro the first tf2 game brought back memories

  • @areshaistg
    @areshaistg5 күн бұрын

    Whats your theme

  • @aren1709
    @aren17095 күн бұрын

    great video! something i could recommend is adding timestamps tho. since no timestamps here ill make one myself 0:00 start of the vid (of course) 0:43 section 1, wtf is a table 2:43 section 2, whats a metatable 5:56 section 3, ok so what

  • @avi-ql3kp
    @avi-ql3kp7 күн бұрын

    Thanks, my code is much more clear now.