We have absolutely started off the year very strongly and I am excited for what is to come. There are many future prospects we are all looking forward to, from features to events and much more. Cheers for 2020 and a new decade!
As always, I have my monthly retrospective to pump out. I always love to look back on the month and provide my own sort of “recap” or review to go along with the thread. Typing it out really helps capture the essence of reflection and truly looking at the month for its worth.
First off: reeling in the new decade!
We all celebrate New Years, or so I’m hoping, haha. Here we are though, at the beginning of a new decade and at the beginning of what will be yet another fruitful year of development and platform improvements. The exploits of developers never cease to amaze me, utilising as much as they can to get the best out of the engine and their games.
For people like me, it’s going to be another long year of tasks, odd jobs and all other kinds of activities like PA inbox grinding, lol. Fun fact for PA: we recently encountered a huge volume of responses and backlog wherein we had over 150 messages. Doubt that’s anything compared to the moderator inbox though.
I also intend to work on a game this year! Yes, me, actually doing something other than hosting a backyard grill on Scripting Support. I don’t have any details yet other than the basis of my project is looking at my past failures occurring due to loss of motivation and making games out of unfinished, unused assets.
I look forward to another year with you guys whether that’s working with you in support categories, around the forums or to get your posts approved.
Developers on Twitter
Have you guys kept tuned in to the #RbxDev tag on Twitter? If you scroll through this tag under the media section, you will be able to find a lot of cool works people have pumped out that you may not find here on the forums. Be sure to check it out for a wow and possibly some inspiration!
People are interested in what you are making and maybe you want to show off that one cool thing you made and just cannot keep to yourself. Be sure to hop around to WAYWOC to find some awesome community creations. Given that this is a megathread, there’s always an abundance of posts to be found here. We’re already reaching high numbers.
Rise of Open Source?
There has been a recent trend around open source work and I believe that is a great and valuable community contribution. It’s awesome to see how more and more developers are becoming accepting towards open source, both on active projects and not. I find value in open source works, even at my level as a developer, because it helps me understand how others accomplish various systems or structure their games.
Make sure to swing on by #resources:community-resources if you are interested in these works. They may help you very much in your development learning journey or even just provide good utilities regardless of your proficiency. Free models are actually more useful than they are discredited for!
Updates and Changes
The best part of any recap is the Updates and Changes section because you get to see what’s new and improved on the platform and keep up with the times in making your games awesome. January has not disappointed. So, without further ado, here is what I’ve liked or taken great interest in:
Typed Lua: Say goodbye to your several lines full of asserts and complaints from others about a function not working due to wrong inputs, say hello to enforced typing on your arguments. I probably won’t use this since I know exactly what I’m passing and don’t make open source works, but wow I can see lots of future use of this.
Future is Bright Phase 2.5: Oh lovely, we are getting ever closer to even better lighting on Roblox. Current FiB stages have been phenomenal on improving the way games portray atmosphere but 2.5 is changing the game and it will continue to improve from here. I am expecting so much from the games that will be using this extensively, especially atmosphere-reliant games (hint hint nudge nudge… horror games? revival of 2014’s GCC?).
This time, rather than looking at Release Notes, I want to dedicate my first retrospective of the decade towards updates I am looking forward to getting. This is different from how I usually do things. These are pivotal to my development experience and I am keeping a giant eye on their progress.
Avatar Loading Event Ordering Improvements: Not even kidding. This is not something I want, it is something that I need. The current order of events demands for the nastiest workarounds and bad practice to account for events firing ahead of time where they should not be AT ALL. This update has been delayed going a full year in 2 months and zero communication has been supplied, so I am hoping this makes it in this year.
Attributes: I’m really suffering out here without 'em. Updates have been delayed and I am dying to abuse attributes. I even have a post written up for the announcement thread. Give me attributes!
Multithreaded Lua: A tidbit of this was discussed at RDC and I would absolutely love for this to be a thing. While I don’t know any of the technical semantics about the language to make an informed comment about this, I do know that Lua all runs on a single thread and uses the task scheduler to run things in sequence. Multiple threads would hopefully lead to being able to delegate more across different dedicated threads for handling certain tasks. For example… I’d love to push all Humanoid-bound work to a separate thread and prevent it from interfering with other threads.
Selective Replication: While this hasn’t been confirmed, I think natively supported replication control beyond using bad workarounds (e.g. PlayerGui instances) would be greatly appreciated. There are various cases for wanting to prevent the server from sending something to the client outside of server-restricted services and maybe someone may find a case to trust the client to replicate certain data. I’d really love for this to be a topic of exploration.
Ephemeral DataStores: This is one of the updates from the roadmap that I have been very carefully watching. I have as much use cases for EDS as attributes, one of which includes storing match-bound data without having to use teleport data and try to figure out a point of truth for the receiving server’s data. Configuring matches would be so much easier with EDS. Regular DataStores are fine to do this as well but limitations and permanency of data make them a less desirable option for going about this. Another thing - DataStore3 time? I’m thinking that with EDS, we can develop a workflow where EDS relives regular DataStores on their limits. I’d be happy to draw up a chart of my workflow provided it would work out - chart would help explain it better. Essentially: EDS determines if a player still has an active session and then gives out data rather than querying regular DataStores.
And that will be all from me. Thank you to Developer Relations for your tireless work in keeping us informed of the changes on the platform; to Developer Engagement and the Community Sages for helping retain the developer community here on the DevForums; to the engineers for pushing these wonderful updates and to the community for being here on this journey with us.
Cheers to a fruitful year, all!