Refactored code and used more Rojo functionality. Also used Remodel and Tarmac.
ReadMe:
This is a Roblox project where all the code is version controlled and synced to Roblox Studio with Rojo. Project tries to cover most of the aspects of Roblox games.
Roblox Rojo Roact boilerplate
Code is written so it can be used boilerplate project. If some important model is removed then warnings are outputted in Roblox Studio, but game still runs.
You can play this game by running this project (need to publish also) or open in in Roblox: Maze World. You can select from easy, medium or hard maze to play. All mazes are dynamically created, so every time you play it is new. For easier maze solving you can buy trail or speed pets. You earn coins by finishing mazes. Bigger mazes and better place in finishing gives more coins.
Money system - money is saved to server. Earn by winning.
Shop system. Spend earned money on pets with abilities.
Game Pass shop item
Statistics system. Top money earned. Top times visited. Top games won.
Pet system. Equipped pets and maximum pet slots are saved on server. Pets give abilities.
Dynamically generated labyrinths.
Waiting rooms with waiting and playing lists.
Awards system. eg: Daily visit bonus, 10 times visit bonus
Collectable Coins
Inventory, collectable items. eg: Cherries
GameAnalytics scripts (gameKey and secretKey in GameAnalyticsServerInit.server.lua)
TODO
Add tabs to inventory and shop
Add more collectable item: eggs
Add Chests, Treasures (more coins)
Notifications system
Developer Product to shop items (eg: buy coins for Robux)
Add Badges, reward when completing some milestone
Assets/Images
Faces are created with Inkscape. Project file is cartoon-faces.svg . From there each face is saved as png and imported to Roblox assets from RobloxStudio’s Game Explorer window (Game needs to be published first)
Coin object project file is coin.blend . From there coin is exported as Wavefront .obj and imported to Roblox assets from RobloxStudio’s Game Explorer window. And then that model/mesh can be used by right clicking and selecting Insert.
Added Cherry object project file is cherry.blend . It is texture painted that using (tutorial). Exported model as fbx . Added as MeshPart to Roblox. Added textureId to uploaded Cherry_correct.png
Check “Perform submodule actions recursively” from Preferences->Git window
Checkout code (now it should also download submodules into modules folder)
How do I get set up?
npm i - to load prettier and prettier-lua (needed for VS Code)
run script ./script/build-and-open.sh . Game.rbxlx is built using rojo. Currently every model is inside raw-assets/game-models-and-place.rbxlx . And after editing and saving you need to run remodel run get-models.lua , that saves every model to separate file. And rojo syncs it to your running Game.rblx.
Configure VS Code and start Rojo (from VS Code footer)
Made world bigger with more ‘rooms’. Only first and simplest maze is unlocked at first. You have to solve mazes and collect coins to open bigger mazes.
Screenshots
New Game functionality
Dynamically generated mazes. Generate random items inside of maze
Notifications system
Sounds for coin collecting, daily reward notification, button click
Trails to pets
Locked rooms, unlock for coins
Add clickable E indicator/button to workspace
Uses StreamingEnabled, content is loaded as needed.
I instantiated a server of Maze World. Some time later, a friend of mine joined. I then had to rejoin as owed to a problem with one of the shop UI windows. I wasn’t able to do so until that friend left (hence the server shutting down) because the loading screen gets stuck at ‘100%’.
Thanks for the feedback.
What was wrong with Shop Window. I know close button is quite small, and sometimes overlayed with text. I will improve that. Perhaps this was due shop items IDs changed. You might have something in inventory that is not supported anymore. I will fix that.
Loading screen should disappear if character is loaded. I will check if there might be some edge case that makes it crash.
I’m referring to the purple button on the bottom. All I recall purchasing are the first- and second-tier speed boosts. I’ve also noticed that the faster you go, the more likely it is that the server doesn’t recognise when you touch a pile of coins.
Currently, yes, too much speed means fewer coins. I have added it to my TODO list. Another option was to call it a feature: “Leave some for others also”
I’m referring to when the shop is closed. There’re two buttons: the one with a play symbol and the one that looks like a filing bin. The latter is what’s causing me problems.
The game is a lot better than when I played last time! I like how you can unlock different levels! If there was one thing, I would make it more obvious that you can go to other islands through the obby thing, because I couldn’t tell at first. Otherwise, great!
EDIT: When you push “r” in chat even it opens some weird GUI. It’s really annoying, is there a way to disable this?
Thanks for your feedback.
Fixed keyboard shortcuts problem. Replaced UserInputService with ContextActionService.
Q - opens shop
R - opens inventory
E - buys ‘rooms’ if near the doors
Currently, shop and inventory are almost the same, but at some point, that is going to change.
I use Sourctree app for managing git repos. And with that you download source code. And if there is updates to code then you press “pull” button.
You can explain your problem more.
This is a Roblox plugin where you can generate maze with configurable size, materials and options. It will be generated to selected part or workspace if nothing is selected. You can even rotate object and maze is generated at a angle.
Screenshots
Build plugin
run script ./script/build.sh . To create plugin .rbxm file to current dir and to Roblox Studio plugins folder
Publish plugin
drag created .rbxm file to empty project Explorer. Right click and ‘Publish as plugin’
Development
Option 1
Open new place and start up Rojo.
Right click on ServerStorage.MazeGenerator folder and ‘Save as Local plugin’
Really cool! I’ve played this game before on an alt, it’s pretty cool, also you should move this topic to Community Resources instead of Cool Creations.
Added simple voting. To vote for light (open maze) or dark (closed and with some lightning) mode.
Everything is still randomly generated. Will add maze generator script changes to Maze Generator plugin also at some point.
Also added Horror Maze (Halloween) that is filled with scary stuff from Roblox models. Models are triggered when getting close and will move, have sound and flickering light. Also added random sound triggers and random stuff falling from ceiling triggers. Maze is filled with treasures and monsters that take life (not much). The finish is not marked with ‘Finish’. If you get there you know it is finish and there is a clue what you have to do to finish.
The maze itself is built with Maze Generator plugin and sculpted with terrain tools to look like a mountain or big rock.