What are you working on currently? (2018)

I wouldn’t be able to tell I never played that mission

1 Like

4 Likes

Mysterious, yet pretty calming.

1 Like

I have yet to see anyone on Roblox make a union Basketball, so I did and I like the outcome.
b27847d8c0448022de5c36b793b14a8a-png

Someone prove me wrong and show me a union’d Basketball

4 Likes

image

I found one.

14 Likes

Made a nifty collision groups editor plugin to replace roblox’s.

If you use collision groups in your game you may find it useful :slight_smile:

Keep in mind though I don’t really enjoy UI, so it may not be the prettiest thing. Just wanted to create a useful tool for people

2 Likes

Added 3 more pitching animations for my baseball game

Roberto Osuna of the Astros:

Fernando Rodney of the A’s:

And Blake Parker of the Angels:

5 Likes

16 Likes

Can you share your lighting settings?

Its blender.

3 Likes

Last couple of months i’ve been taking some time off building but today I thought i’ll come back and start to work on a remaster of one of my first showcases Orion

This showcase was made back in early late 2016 so it 100% needed an upgrade, what do you guys think so far?

24 Likes

My village is slowly coming together!

Sneak peek of the Character Customization!


20 Likes

Hmm. Just one of many houses I’ll be building over the next few days for a game. This is only 1k parts. It had 2k, but I swapped some of it out for meshes so I didn’t lose any detail.


9 Likes

Hair, hair, everywhere. Where will hair… oh snap ran out of rhyming words.

Really cool toon-style town!

2 Likes

Working on new rain effects for my survival game to have a more immersive atmosphere. Pretty happy with it

15 Likes

I’ve been working on a bunch of things as of late. My summer was occupied by work on the devhub, but now I’m home so I’ve started to shift back into my own projects again.


Rbx2Source

I finally set aside some time to get the program fixed. Fixing it required me to write an interpreter for Roblox’s binary file format in C# because Roblox is using the binary format for new catalog assets going forward.

If anyone was ever curious to know how Roblox’s binary format works, feel free to check this out:

https://github.com/CloneTrooper1019/Rbx2Source/tree/master/src/Reflection/BinaryFormat

It’s essentially a bunch of LZ4-encoded chunks with a ridiculous amount of interlacing bytes. I’d say the most annoying part is handling the property data.

https://github.com/CloneTrooper1019/Rbx2Source/blob/master/src/Reflection/BinaryFormat/Chunks/PROP.cs

On top of that, I also took on the task of generating Humanoid texture compositing maps within the program too. Previously I was just ripping the textures from the 3D avatar thumbnail, but since this doesn’t provide much flexibility for custom characters, I wanted to take a crack at implementing my own version.

It turns out Roblox generates the texture maps using large flat meshes (stored in content/avatar/compositing) where each stud represents a pixel. They take the shirt/pants template and use the meshes as a sort of UV map guide to project the textures onto a 2D framebuffer. Since my program already handles .mesh files, I figured it wouldn’t be much of a challenge to make it work.

Turns out my math sucks, and it took me some trial and error to figure out how to project the textures from the UV map onto the composit mesh. With some help from @qqtt991 I discovered that I could convert between barycentric and cartesian coordinates to properly project the pixels onto the bitmap.

This actually worked quite well, and with a few more adjustments and tuning to fix the rounding errors, I ended up with this:

I’m pretty happy with the results overall. I thought I would have to resort to using OpenGL to properly render it, but with some clever tricks I was able to pull it off with a good enough accuracy on the CPU with relatively fast speeds.

image


Roblox Studio Mod Manager

Recently I discovered that Roblox stores some helpful files on their deployment servers that paint a pretty good picture of how to assemble the zip files provided from the servers into a functioning build of Roblox Studio. These files are known as rbxPkgManifest.txt and rbxManifest.txt.

v0
BuiltInPlugins.zip
3d8008a03db705af027762e2a740f4c1
446822
4439688
Plugins.zip
4799d4dba6395fe9e31026aae951107c
591768
1255424
Qml.zip
92c26b51dccf9c119fdc27bccaabd804
1556962
4277717
RobloxStudio.zip
b4e6b250de732485e91fd4b26f652d44
11931794
27857178
Libraries.zip
05a2b8b5757a6238e55c209d2dc38c0f
4972705
12411264
LibrariesQt5.zip
b349d02fe2e8430bfd5a5dee3f3e5899
30085541
71128064
content-avatar.zip
620abb3e6e9c17cb6c3bef4a842414b4
174556
796578
content-fonts.zip
b889fc451e18a43125bbb8dffd2f8150
1791671
3664060
content-luapackages.zip
34d882d98ec158328d7eaa4ca9fbaf37
144114
400015
content-models.zip
45c0dba730abb824024f0f24258201be
3509
5220
content-translations.zip
38a4ce6072a704830a23ae64a35ea1fa
58206
199178
content-scripts.zip
70962933c237c7e948f46e566cc379a1
853392
3143208
content-sky.zip
311341161eedc799481d6d24e51abcbe
14968
22167
content-sounds.zip
c6e058210724bd746b7ae9b0c43a4cac
351545
375510
shaders.zip
cf7524c116ea871bd91ffeb58f385268
682324
4553058
content-textures2.zip
4cc598f2138c56e2129fe70843f84210
7705081
8419108
content-textures3.zip
3041a9c57d3a7ff4b856037ff5efc170
28340849
42953888
content-terrain.zip
b1a4154cfa439a0c98d560a87911c883
24737293
36359201
content-platform-fonts.zip
00b01849ef94f80c58907832d1a145c7
13681295
16427228
redist.zip
2157006f2612107bb52ef4e68973040d
1886977
4203368
RobloxStudioLauncherBeta.exe
7d328f7e98fa5f57b81233115b2c9693
735936
735936

Previously my program relied on me specifying a specific instruction set of the zip files to be downloaded, and where they should be extracted to. With this manifest data, I can automatically map out how Roblox wants the files to be deployed using the MD5 signatures provided.

What makes it really awesome is that I can store the MD5 hashes assigned to the zip files specified in rbxPkgManifest.txt to determine if I need to install them for an update in the first place! If the hash doesn’t change between updates, then I can assume none of the files have been updated and no bandwidth has to be wasted to install them. Similarly, I can use the hashes of each file specified in rbxManifest.txt to figure out if I need to update individual files.

Although rbxManifest.txt doesn’t perfectly map out how everything is supposed to be structured, it works well enough to the point where I can deduce how to structure the file system automatically.


Roblox Client Watch

I reworked some of the backend behind this repository to make it more self-sufficient and reliable so that I can just leave it running in the background and expect it to work with no problems. Previously it has been a maintenance nightmare, and I’ve wasted a lot of time trying to make sure it updates everything correctly each week. Now it hopefully shouldn’t be much of a hassle.

I’ve also made the branches more pipeline oriented. The gametest2.robloxlabs branch now branches from gametest1.robloxlabs, which branches from the roblox branch. If a branch gets a commit, its descendant branches will rebase with that branch and recommit their changes.

In a nutshell, this means that if you diff between roblox->gametest2, you will see the merged changes of both gametest1 and gametest2. You can also properly diff between gametest1->gametest2 now!

I also rewrote the readme section of this repository to better explain what purpose it serves and what some of the specific files describe.


12 Likes

Made a super-quick hovercar infinite racer game!

13 Likes

Blocking out another render, this’ll one be a bit harder to compose.

Yes, its my little plushy’s playing toy soldiers.

12 Likes

Those are some pretty realistic guns for toy soldiers.
They better be careful :eyes:

1 Like

That’s pretty nice, even supports mobile! Wish it was open source :eyes:

1 Like