Screenshot Saturday (#2) -- Show off your projects!

It’s Screenshot Saturday! Post some text or media of what you’re working on (pictures, gifs, videos, demos, tweets, text, anything at all) or heck, even post the game!

This topic will be open for (at least) the entire weekend. Even if it’s not Saturday and the topic is still open, please feel encouraged to post!

1 Like

For my upcoming game I wanted to really focus on the social aspect of the game by giving players a way to express themselves. One feature I added is Emotes, this is a little fun feature that gives players a way to easily express themselves in a couple clicks.

These are just a few emotes, you can either buy more from the shop (with in game currency) or win exclusive ones from completing missions.

You are allowed up to 3 emotes at once, you can always switch between emotes you have in your inventory.

4 Likes

I am very close to finishing a pet system for a commission (for @Mullets), after initially fearing it due to the possible horrible difficulties and barriers that might have arised… but it turned out pretty fine in the end!


(note: the fish model in the video was authored by Snowskateer and the animations were made by me, both being only testing assets)

The pets are simulated and handled entirely locally and are animated with AnimationControllers and Animations. After doing some preliminary testing, I found that it does not lag terribly unless under stressful conditions (of the sort of 70 pets crammed in the same space at the same time), with the major bottleneck being raycasts, both from the humanoid used in the walking pet (even though it has nearly all states disabled) and from other raycasts used to check if their movement targets were sane.

I initially thought on implementing their physics from scratch but that turned out to be unnecessarily complicated, so I instead opted to rely on Roblox APIs such as BodyMovers and Humanoids - overall performance did not suffer too badly from this. This came with associated risks such as their physics parts possibly falling below the death plane, so I had to add more checks to prevent that.

The system also has a scaling module bundled so pets with different “ages” have different sizes. I wish there were official APIs to transform models since there are a lot of classes that need to be handled, each in their own special way, but oh well…

Overall, it was a nice learning experience and the code turned out portable enough that I will be able to use it in my own projects in the future should I need to. :smile:

2 Likes

If the pets are handled on the client, how did you handle replication to other clients?

There is a server module which sends messages through a remote to all clients with actions to be taken, such as equipping a pet for a certain player or removing all of a player’s pets. There is no client to client replication, which means that, unfortunately, pets are not synchronized across players.

This might sound bad (and it does IMO), but in practice the pets end up aligning themselves pretty closely across clients since they all work on the same code and the same data.

I do not support things like holding pets or riding pets yet, but they should be easy to implement even with this constraint: if a flag is set, force this position; if a player is riding a pet, apply forces on the player and not on the pet, etc. This way I don’t run into weird desync issues.

1 Like

Been working on a furniture set today and I wanted to show it somewhere. : )


11 Likes

Cat robot thing WIP. I feel like I’ve learned a lot about 3D modelling by the end of this (I’ve never modeled something as complex as this before). Joints will be connected by beams.

blender_0k2KNDFsSm

7 Likes

Modeled a shurkien based off of the old SpawnLocation texture, pretty happy with it :>


3 Likes

Revamped my old “Friend Connections” project - the idea is that it will identify the closest friendship link between two users (up to a maximum of A > B > C > D).


6 Likes