Sunshine Café Franchise V2 Full Release Details
Join Sunshine Café Franchise today!
After months of work, the new version of Sunshine Café Franchise is finally released in BETA! This post will cover the most notable new additions to the game.
Section 1 mainly covers things that players and staff will be interested in. Section 2 will cover a more in-depth description of specific systems and how they were programmed.
1.1 - Map Rebuild & Redesign
It wouldn’t be a new version of Sunshine Café without a new map! The new map gives more of a city vibe with an aesthetic café build at the heart of the map. It has taken a lot of time to develop this map, in particular the café build, as we only had a team of 1-2 people working on the build. The new map is complete with buildings and beaches surrounding the area. Included in the map is a very nice skybox which is showcased well with our day/night cycle in the game.
1.2 - New Interactive Items
With the release of Version 2 we have added some new interactive items into the game in the form of gear, pets (after release), cars (after release), and remodeled food. This is a part of the game that the old version lacked and resulted in people getting bored very quickly. We have also implemented a daily rewards system so players will get a greater reward each consecutive day they join the game. This is in hope to keep players returning to the game.
1.3 - Economy System
With the addition of interactive items such as gear and pets, we didn’t want to limit these to only Robux purchases. Instead, we have developed an economy system where players can earn money and use the money they earn to buy things in the game, such as gear and pets. Money can be earned by staying in the game or purchased in small amounts for Robux. We hope to implement more ways to earn AND spend money in the future, such as a bank and possibly a housing system where players can own custom houses in the game.
1.4 - New User Interface
The entirety of the current user interface has been scrapped and replaced with all new user interface! Bouncy buttons, notification sounds, screen blur, customisable settings, rank tag color changer and a custom leaderboard are only SOME of the things that the new UI includes.
1.41 - Proximity Prompts
With use of the Prompts+ module, we have been able to customise our ProximityPrompts in the game to fit our color scheme. More information about what we are using this style of interaction for in the game will appear later in this post.
1.5 - Data Saving
Data saving has been drastically improved from the first version and pretty much everything the player can customise will be saved and loaded when they rejoin. This includes their custom settings, their rank tag color, and of course their worker points and money. We have made the decision NOT to transfer data from the current version, and we understand this may be disappointing to you. However, this is for the better and it will frankly take too long to transfer all data to our new data storing system.
1.6 - Restricted Areas
Unlike the current version, V2 brings a few different areas that are restricted to certain people. These include gamepass areas, staff areas, and group-only areas. We would like to offer benefits to players who buy our gamepasses, join the group and work here, therefore we think this is a good idea as one small benefit.
1.7 - Music Request & Music System
Yup, players can now request music to be played to the server. This can be done through the settings UI, where you will see a request button in the music category. Note that admins have a command to blacklist any song therefore inappropriate songs will not be allowed to be played. If nobody has requested anything, we have a brand new playlist of server music that is sure to put players in an upbeat mood.
1.8 - New Opportunities For Staff
In V2, we didn’t want to limit staff members to only being a cashier, as we are aware it can get repetitive. Staff now have the opportunity to switch between the cashier, cook and JANITOR jobs. Cashiers will now no longer cook food, they will only use the registers. Cooks will only work in the kitchen and cook orders. Janitors are responsible for cleaning up spills around the café. Cooks and cashiers of any experience level can do the janitor job, however your rank in the group will determine what else you can do.
All jobs will earn worker points on a PER-TASK basis, not a per-minute. This means that you must actually be doing your job in order to earn points. The amount of points earned can be increased using our multiplier gamepasses.
You will also be able to rank up based on how many worker points you have, or by attending trainings. Note that attending trainings will not get you the amount of WP required for the rank you train for. We have also reworked the LR staff ranks to compliment this update, and have made them more fitting for a café group. The higher the rank, the higher the experience level. Becoming a trainee is now exclusively by application and we have no plans to implement interviews or an interview schedule any time soon.
2.1 - Staff Systems
-
2.1.1 - Spills System
- In the new version, staff are able to clean spills that spawn periodically around the café. Administrators also have commands to spawn spills around the café.
- Upon cleaning spills, staff will receive worker points. Spills are cleaned with a mop accessed behind the registers and you can only pick up a mop/clean spills when your worker mode is on.
-
2.1.2 - Order System
- Of course, the new version wouldn’t be complete without a rework of the current registers and ordering system. Staff can now submit customers’ orders through the registers which will send them to the kitchen where a cook can claim and cook their order.
- Staff receive points for submitting orders and handing orders to customers.
2.2 - Improved Code Efficiency
In the previous version there were a lot of bad practices in the code, such as having multiple loops running simultaneously for no reason, using deprecated methods and using unsafe methods when programming RemoteEvents and RemoteFunctions.
- Firstly, in the new version, ALL code has been rewritten.
- We have tried to modularise code on the backend (and soon front end) as much as possible to cut down on repeating things in many scripts.
- We’ve paid close attention to Remote Security (more about anti-exploit systems later) and have made sure that any remote which has the potential to cause harm to other players is being handled in a safe way.
- We have focused quite a bit on optimising the code meaning the game should run smoothly on a wide-range of devices.
- We have scrapped the use of different interface for PC/Mobile users, as this was simply unnecessary in the previous version.
- We have also tried to stop unnecessarily cloning objects, as well as achieving good user interface effects without the need to worry about performance.
- Minor bugs may occur with certain systems upon release which will be worked on extensively should they occur.
2.3 - Anti Exploit
Though one of our main worries at this stage is not related to exploiters, there is always a possibility that exploiters could do things that ruin others’ experience in the game. We have tried to prevent specific exploits.
-
2.3.1 - Character Exploits
- We have attempted to prevent specific character exploits including noclipping, speed exploiting and flying by detecting changes to players’ characters on the server and responding accordingly.
-
2.3.2 - Teleportation
- We have implemented teleport protection in the game, though we don’t expect much harm to be done with regards to teleporting/flinging players as collisions between players have been disabled.
-
2.3.3 - Remote Exploitation
- An issue we’ve faced in the past is to do with our remotes being exploited and causing malicious effects on the server. This was because the remote security in the current version was coded poorly and probably not taken into consideration.
- In the new version, remote security is one of our priorities when communicating between the server and the client. So, in the new version, any remotes that could have a malicious effect on the server, such as the music system or remotes linked to webhooks, have been secured.
We have made efforts to secure these by:- Implementing a cooldown on firing of these remotes.
- Preventing the remotes from being fired more than a certain amount of times at once.
- Adding server-sided checks on remote requests to minimise the risk of remotes being exploited by the client.
- Implementing an exploit report tracker that will track whenever the anticheat reports a player for exploiting and takes action accordingly. If it receives continuous reports about one player exploiting, the player is kicked.
2.4 - SCF Admin V2
Our previous admin system wasn’t really customised for us; we had no custom commands setup and it was using the default Basic Admin Essentials 2.0 Module. We made the decision to add many of our own commands as well as take the BAE 2.0 code and customise it for our needs.
SCF Admin V2 - Custom Commands
-
2.4.1 - Staff Commands
-
:afk
- sets user to AFK mode -
:unafk
- turns AFK mode off -
:handto
- hands the item in the player’s hand to the specified user
-
-
2.4.2 - Music Commands
-
:skipmusic
- skips the currently playing track -
:blacklistmusic
- blacklists and skips the currently playing track -
:blacklistmusicid
- blacklists the specified id -
:queue
- shows the queue of requested songs -
:removesongpos
- removes song from the specified position in the queue -
:removesongid
- removes song with the specified id from the queue -
:addsong
- adds a song id to the queue
-
-
2.4.3 - Nickname Commands
-
:nick
- nicknames the player(s) -
:unnick
- removes nicknames from the player(s)
-
-
2.4.4 - Points Commands
-
:addpoints
- adds specified amount of points to the user’s points -
:removepoints
- subtracts specified amount of points from the user’s points -
:setpoints
- sets the user’s points to the specified value
-
-
2.4.5 - Executive Commands
-
:makespill
- spawns a specific amount of spills -
:warn
- warns a player for the specified reason -
:removewarn
- removes a warning from a player -
:stopworking
- turns a player’s worker mode off -
:gameban
- bans a user from the game; also links to our database meaning we can ban people from the game via a Discord bot
-
-
2.4.6 - Logs
-
:musiclogs
- view logs of all music that has been played -
:handtologs
- view logs of the :handto command -
:skiplogs
- view logs of all skipped tracks -
:spilllogs
- view logs of spills that have been generated -
:viewblacklist
- view the music blacklist -
:viewstaff
- view all currently working staff in the server
-
2.5 - New User Interface
In the new version, the user interface had a huge remake. From the design to the coding, everything has changed, but we decided to keep the yellow/purple color scheme that Sunshine Café is known for.
-
2.5.1 - Modularising Code
- One focus for us in this version was to modularise code as much as possible to improve efficiency and not repeat things in many scripts. This has also resulted in our loading times being reduced a lot, even compared to the previous version.
-
2.5.2 - Tweening
- Our new user interface uses the TweenService to make it look extremely clean when players are interacting with it. The buttons are bouncy, the screen blurs when you open a UI, and overall the user interface looks much cleaner and more professional than before.
-
2.5.3 - Design
- The majority of the user interface was designed using third party software including Adobe Photoshop.
- The UI also scales with the size of the user’s screen meaning the game looks almost the same on all devices.
-
2.5.4 - Custom Leaderboard
- We decided to add a custom leaderboard for a few reasons:
- Firstly, it allows us to have more control over what is displayed on the leaderboard and also lets us keep that consistent color theme throughout the whole of the UI.
- We are also able to add custom badges next to peoples’ usernames on the leaderboard, which will make it clear who in the server is a Sunshine Café Administrator.
- The way in which our icons are displayed follows a list of priority, similar to but not the same as Roblox’s default leaderboard. For example, the Roblox Admin badge will appear instead of the Developer badge, if the player qualifies for both badges.
- The new leaderboard will also display friends and blocked users and players’ usernames will be clickable. Upon clicking them, you will be able to see their DisplayName, as well as have the options to Friend/Unfriend and Block/Unblock them.
- We decided to add a custom leaderboard for a few reasons:
-
2.5.5 - Hover & Hover Boxes
- On certain user interface, such as the settings and the shop, we have implemented a hover box. This means whenever you hover over something a hover box will appear with information about that thing.
- Whenever you hover over any of the buttons in the game, they will get slightly larger and go back to normal again when you move your mouse away.
- It’s these small things that really make our UI cool, however unfortunately only people who have a mouse (playing on PC) will be able to see these effects. This is because it’s pretty much impossible to “hover” on mobile.
2.6 - Loading
-
2.6.1 - Loading Screen
- The loading screen is descriptive and displays what’s currently being loaded. Once everything is preloaded, it’ll give you the option to play. You also have the option to skip loading, though we don’t recommend this as it may result in assets such as user interface, meshes and modules not being loaded properly.
-
2.6.2 - Loading Times
- Despite having to preload quite a large amount of assets, we have tried our best to keep the loading times as low as possible. At the moment, with whom we’ve tested the game, everyone has experienced relatively quick loading times (without skipping).
- Note that to lower loading times we don’t preload all parts in the game. We preload many assets on the client such as the UI, we preload all modules, and certain meshes. As we don’t preload all parts of the build, certain areas of the map may take longer to load in than others. However, this is an appreciative change as we only preload the ESSENTIALS, which ultimately does result in loading times being quicker.
The Developers
The developers of this project, past and present, are all responsible for different things in the new game which can be seen below.
NormanIsUncool
Role(s): Project Manager, Builder
Responsible for: Hiring new developers, thinking of ideas, minor building.
LegendOJ1
Role(s): Head Developer, Lead Programmer, UI Designer
Responsible for: ALL scripting and UI design in the game.
friedraice
Role(s): Animator
Responsible for: ALL character animations within the game.
treznt
Role(s): Main Builder, Former Project Manager
Responsible for: Building most of the whole map, bringing ideas for the new team to work on.
Version Release Notes
Click to view
Developers: LegendOJ1, NormanIsUncool, friedraice, treznt
Version: 2.0.0
Release Date: March 20th 2021
Notes:
- Brand new version; scrapped entirety of previous map, code & UI.
- Bugs can be reported to developers privately.