#Project Setup

1 messages · Page 1 of 1 (latest)

elfin stratus
#

I'm trying to work out the basic framework for handling data. This is what I have so far to accomplish:

  1. player's DataStore interactions (using the ProfileStore wrapper)
  2. passing data around from script to script and across the client-server boundary: GlobalNamespace along with bindable events (using this encapsulation pattern: https://create.roblox.com/docs/scripting/module#encapsulation)

Would you guys mind taking a look an giving me some feedback?

How to use module scripts to reuse code.

elfin stratus
#

Here's the GlobalNamespace_Server module and Main_Server script where I'm using it:

inland aspen
#

you can just directly require the module instead

#

and use things like signal libs to replace bindables

elfin stratus
inland aspen
#

more like a caterogry

elfin stratus
elfin stratus
inland aspen
#

no cleaner its more of that bindables clone data passed

elfin stratus
#

so no DeepCopy()

inland aspen
#

yeah

elfin stratus
#

that would be nice

elfin stratus
# inland aspen yeah

So say I add that, is there anything else that's glaring that I'm missing in terms of data handling? (client-client, client-server, server-server, server-DataStore etc.)

inland aspen
#

looks fine for the time being

elfin stratus
#

I'm just trying to get a really solid groundwork for this shooter game I got hired on for

#

So i'll need trading, cross server queues

#

Product purchases as well but ProfileStore can handle that

#

@inland aspen thanks a bunch for your input, you're legit my role model when it comes to roblox scripting

inland aspen
#

np

hazy pewter
#

Cross server queues

elfin stratus
hazy pewter
#

Come to me

#

Well

#

Yeah hao can help with that too

#

We have differing opinions on how to do it

elfin stratus
hazy pewter
#

I use a main server in order to handle the queues. Hao is in favor of having every server in the game handle the queues

#

I get where he is going with that but update adate async isn’t what it says it is

#

It says it will consistently only let one call edit it at a time

#

But yk with enough players, there will be cases where it glitches out

elfin stratus
#

so you prefer leader-follower and he likes gossip protocal

hazy pewter
#

Gossip protocol won’t ever stop and there is a possibility something incorrect happens. Leader follower has no potential for anything going wrong unless a server crashes which is extremely rare(in which you can just elect the next server in line to become the leader)

elfin stratus
#

wym by "Main" server?

hazy pewter
elfin stratus
#

just some sort of leaderless

hazy pewter
#

It’s more consistent, but there could be a chance that update async doesn’t do what Roblox says

inland aspen
hazy pewter
#

This is actually a better idea

#

For ping

elfin stratus
hazy pewter
#

But he splits it across regions

#

One per region

elfin stratus
#

ah ok

inland aspen
#

just first make it work so 1 server handles everything

#

then If you are starting to see more load you can split up the work

hazy pewter
#

Yes

elfin stratus
#

ok bet

hazy pewter
#

If u need help js DM me

#

I know a lot abt this stuff bc I was obsessed with it for a week straight

elfin stratus
#

is there like a library I should look into for this?

hazy pewter
#

Nope

elfin stratus
hazy pewter
#

I mean maybe

#

I didn’t use a library though

#

I just made 3 versions and I improved each one

hazy pewter
#

But it’s like super expensive

elfin stratus
#

It's been 84 years but i have done it

hazy pewter
#

Hell yeah

#

Figure out a way to mass test it now

#

I would ask traveler for advice on that

elfin stratus