What are you working on? (April 2021)

Welcome to the monthly “What are you working on?” thread! Post pictures, gifs, videos, demos, tweets, text, anything at all, or the game!

This topic will remain open for April 2021, please feel encouraged to post!

5 Likes

I just started my game development unit in college!

Starting off by making a 3rd-person camera. Managed to make it super reusable with CollectionService tags & Attributes.

3 Likes

Arguably one of the biggest hurdles of creating games on Roblox is setting up the game’s infrastructure, a lot of time is spent trying to make something sustainable and that would allow the game to be easy to maintain in the long run. From dwelling on the specifics and logic to trying to create clean and easy to maintain code. This causes the game to be delayed at best or even abandoned at worst.

I’ma be honest I was one of those developers, as when I make something I always try to do my best on it and not just leave it at a bare minimum working state. At least… until I had enough…

Several months back I started a project with my friend Xeptix, to create a system that can be set up and ready to work within minutes. Fast forward to today, we now have a fully functional system that provides:

  • DataStorage and management
  • Super easy to create and use Leaderboards
  • Fast Flags
  • 0 set up required - out of the box analytics
  • Custom and easy to set up data tracking
  • Full support of LiveOps
  • Moderation system and logging
  • Error reporting

and we still have a lot more plans!

Cool but can others use this?

Short answer: Yes and No.

No, this is currently closed to internal testing, we’ve recently tested it with a soft launch of one of our games and we’re happy to say it did tremendously well, so much so that we’re now moving onto the next stage which is creating a proper site for developers to use and interact with this system!

Yes, we will be opening this as a System as a Service (SaaS), where we’ll be offering a free plan to allow people to test it on their in-development games as well as few other plans that you can choose from (or of course can contact us and have a tailored plan :wink: )

Noice, so why post about it now?

We want to see how many of you are interested in this based on what I’ve written above. (More details will come upon launch of beta)

But wait before you move on… I’ve got one last thing…

We are trying to think of a name to give this project that appropriately represents what it is. Though neither I nor Xeptix are good with coming up with names, so we thought to see if you might have a suggestion! If you do let me know!!

Got a question or comment? feel free to DM me on Discord or Twitter (@Roblox_Omar)

3 Likes

I made a horrible web CLI in Deno that allows you to use StyLua in Roblox Studio.

Please don’t use it as a reference for good code. It is not.

1 Like

I wrote a plugin to ease the workflow for my popular open source work, WindShake.

The workflow for WindShake required some programming knowledge, a tag editor plugin, and properly typing your manually created Attributes. Really not ideal for something that’s used by artists with none of those things, so I made a plugin that handles everything under the hood and exposes it in a familiar “properties” style interface. I also added a Preview window so you can see what the WindShake will look like without having to playtest your game!

8 Likes

I made a scripted windchime that i’m really proud of and then @CreatyChameleon gave me a great lesson on terrain work, and together we whipped up this bad boy!

The inspiration was from all the windshake videos and thinking “i wish those trees had windchimes”. It uses a tag on a base part and then just plays a sound at a different speed every time one of them is hit. I messed around with attributes for a while as a way to provide props (tone variance, rope length) to something with a tag on it, it works ok but it really made me miss OOP.

8 Likes

I’ve been working on some Roact components which implement familiar Studio UI elements including Buttons, Checkboxes, Scrolling Frames, etc.

These are intended for making plugins with consistent and recognisable user interfaces. Theming works out of the box and each component is highly configurable.

Here’s what I have so far:

Project is very much WIP but the repo is here if anyone is interested in checking it out / contributing in future:

11 Likes

Been writing some tutorials for my UI library (still working on getting it ready for an alpha release, but I think having good documentation is important!)

8 Likes

Wrote a serializer for a plugin I’m working on to be able to store datatypes like Vector3 or PhysicalProperties as a string in plugin:SetSetting().

Currently supported datatypes:

primitives (string, number, bool)
Axes,BrickColor,CFrame,Color3,ColorSequence,DateTime,
EnumItem,Faces,Instance,NumberRange,NumberSequence,		-- (Instance saves the path and deserializes with best effort)
PhysicalProperties,Ray,Rect,UDim,UDim2,Vector2,Vector3

Currently unsupported datatypes: (These aren’t Properties so they weren’t MVP for my serializer)

CatalogSearchParams,ColorSequenceKeypoint,
DockWidgetPluginGuiInfo,NumberSequenceKeypoint,
PathWaypoint,Random,RaycastParams,RaycastResult,
RBXScriptConnection,RBXScriptSignal,Region3,
Region3int16,TweenInfo,Vector2int16,Vector3int16

Example:

Original Table:
▼ table: 0xd06348dd5d6ad810 = {
    ["some-big-guid"] =  ▼ table: 0x260250c8df47ce50 = {
       ["Properties"] =  ▼ table: 0x147af943d0b0f590 = {
          ["Adornee"] = Baseplate,
          ["Position"] = 1, 2, 3
       }
    },
    ["some-other-guid"] =  ▼ table: 0x1ef98342561df2d0 = {
       ["Properties"] =  ▼ table: 0x196db95924f6f310 = {
          ["CustomPhysicalProperties"] = *cannot read value as a string
       }
    }
}

Serialized String:
1,264|{!  A s o m e - o t h e r - g u i d!# :!! A P r o p!- t i e s!4!6 C u s t!& P h y s i c a l!8!:!<!>[email protected] A!5!# _ _ s a n i!= z e!4!#!H!J!L!N!P!; r!=!?!# ,!# E l a!E!L!^ y W e i g h t!4 1!n A!p!r!= c!u!4 0 . 2 5#  F r!L!= o n#( . 4 0#7#8 0 5 9 6 0 4 6 4 4 7 7 5 3 9 0 6#+#-#/ c#1 n!w!y!{!}#  D e n!K t y!4 7 . 8 4 9#a#a#> 6 3#+ 6 8 3#; 3#D }#n# !%!' - b!y!/!1!3!U!6!h!R!l#y!c o#X i#2!A!W!Y![!^ i!`!b A V e#M o r 3!m!# Z!4 3#  X#S!# Y!4 2 }#  A d$2 n e!a#~ A!X!Z!]!_$H :!# I#W t![ c$H#- u l l N a!'$- W$2 k s p a$V . B!r e p!q t$H#n#n

Deserialized Table:
▼ table: 0xb0d910c5ae520550 = {
    ["some-big-guid"] =  ▼ table: 0x657fc83585cb0010 = {
       ["Properties"] =  ▼ table: 0xb6e7505880e60650 = {
          ["Adornee"] = Baseplate,
          ["Position"] = 1, 2, 3
       }
    },
    ["some-other-guid"] =  ▼ table: 0x818c08d773a53c90 = {
       ["Properties"] =  ▼ table: 0xbde72036b70807d0 = {
          ["CustomPhysicalProperties"] = *cannot read value as a string
       }
    }
}


When I get this thing feature complete, I plan to open source it.

3 Likes