Hello everyone! Welcome to the eighty-fourth issue of the RoVerse Development Newsletter, where we keep you updated on the progress we've made over the past week.
This week has been very technical, with lots of progress made on backend systems and organization, with a successful demonstration of reading google sheets data passed through our VPS, improved security on the server side, and continued work on reformatting planets. We also have a long-awaited announcement to get to, so don't miss that.
Lordrex has taken on most of the heavy load in developing systems to run on the VPS, as well as designing how data can be saved remotely, and the security for various assets. In collaboration with IdyllicDestroyer, they have begun designing the layouts for everything from wearable assets to faction asset submission, the security clearance for various databases, and how to keep all this information sorted.
In the process of testing reading data from google sheets from a Roblox server, it came to light that we'd have to encrypt both the api key, and the sheet id in order for data to be held securely - for the roblox server to read it, the sheets database would have to be open to the public - "anyone with the link can view" - meaning that anyone that broke into our code and managed to find a sheet id, would be able to link directly to our database. While that might be fine for public and unchanging data like we have generated in the star systems list, private data, like ore spawn rates and locations - things that would give players who cracked it an unfair advantage in gameplay - cannot be allowed to be viewed by the public. This was a good thing and a bad thing - unfortunately for us, it means we had to do a bit more work securing things, researching our available options, but on the bright side, it did give us good incentive to research security measures that we will be responsible for implementing before the game releases. Routing sensitive data through the VPS as a second layer of security ended up being the most viable option, over figuring out hash functions and 3-way handshakes directly on the roblox game server. The eventual solution is rather straightforward - the VPS is validated with exclusive access to the sensitive google sheets, when a server needs such information, it requests it from the VPS, which in turn validates the request, then retrieves the data from google. This both secures the entirety of the data, and reduces the risk of going over the request limits google imposes on its systems - once a request is retrieved, it is cached for a limited time, and updated only when required. Some truly remarkable feats include reading data from multiple sources, allowing us to sort our systems to be understandable by the average person, rather than all stacked one on top of the other.
We've also taken steps to unify the project's various resources into a more usable form - after a year and a half, things have really spread out. Up to this point the development team has been using a fairly wide variety of online resources to hold various bits and pieces of the development process, from Trello to google drive, but now we have put in place an official central hub to connect all those pieces. Moving forward, we should have a solid measurement of progress we've been making, and a firm description of what our next target is, beyond just the next newsletter.
Now, the moment you've all been waiting for.
We have some development guidelines for Faction-submitted Fighters:
The part limit for all classes of fighters is <40 parts/unions, prior to combining colors or meshing. Every fighter you see here follows these guidelines, so it is definitely possible. While we are flexible if you happen to design something amazing that goes a little over, try and match these guidelines as closely as possible.
Fighters are distinguished by two primary variables - bounding box volume, and number of weapon mounts, and are separated into 4 categories.
Very Heavy Fighters
These classes are roughly determined as follows:
<35,000 real volume
<110,000 real volume
<230,000 real volume
<260,000 real volume
Volume is determined for Fighters at 'real-scale' compared to a Roblox Character, and is done by sizing a separate brick to enclose a majority of the visible parts of the fighter build, excluding antenna and projecting details.
When building, build your ships to regular character scale, and we will take care of scaling it down to the proper RoVerse dimensions.
Typical Light Fighter with Character
Typical Medium Fighter with Character
Typical Heavy Fighter with Character
Typical Very Heavy Fighter with Character
Moving forward we will be working on a convex hull calculation system to more accurately measure the volumes of ships, but these rough guidelines should be pretty close until then.
Each week we compile a Q&A section here whenever there are any new questions posted on the RoVerse Community group wall or in the Community Discord Server. Be sure to join if you have any questions about RoVerse:
ROBLOX Group: https://www.roblox.com/My/Groups.aspx?gid=2948290
Discord server: https://discord.gg/npxBGwJ
Q1: Will we be able to upload custom weapon sounds?
A1: One of our goals is to have faction assets truly represent the factions that they belong to, which has so far meant that everything from ground vehicles to fighters to ships have been set up to be interchangeable with faction-built assets. Allowing factions to customize the sounds their weapons make would go a long way to distinguishing themselves, and will be something we will look into doing moving forward. If we're moderating faction ships, setting up a few sound bites doesn't seem that hard at first consideration. This would also apply to particle effects, which we'll look into.
Q2: Will missiles be able to be shot down by a PDS system?
A2: Missiles are a little bit trickier to implement, and one of the more unique weapon types, but we have always had a plan for a counter to them - if you provide a homing missile as a weapon, it is only fitting that you provide some sort of defense against them.
This last question comes from the development team of Skirmisher -
Q3: does 2 + 2 = 4
A3: I cannot reveal that answer to the public, as it would be revealing trade secrets and is paramount to treason. You'll just have to put your heads together and figure that problem out yourselves.
You can support us by joining our Community Group or Discord server! So far, the community has been absolutely amazing, supportive, and very friendly. We are very appreciative of all the support you guys show us!
If you want to catch any of our developers streaming, you can always follow our official Twitch channel here!
Remember, we are always looking for new, talented builders, scripters and artists! If you’d like to help us you can always get in touch with us through RoVerse_Official on the ROBLOX website, or by contacting an Administrator in the community Discord! Don’t worry, we don’t bite!
Vaktus: Leader of the Vaktovian Empire and head of the RoVerse Project