Giter VIP home page Giter VIP logo

maze-world's Introduction

Maze World

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.

Note

Game Description

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.

Screenshots

Maze World Maze World Maze World Maze World Maze World Maze World Maze World Maze World Maze World Maze World Maze World Maze World

Used libraries

Game functionality

  • 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 mazes. Generate random items inside of maze
  • 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)
  • 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.
  • Custom loading screen

TODO

  • player died registered in playing list? Yes, but not while Game is starting.
  • to long wait time when timer goes to 00:00
  • Mobile, is there leaderboard
  • Mazes have two short times
  • Make prizes a bit bigger
  • Don't add coinpacks too oftern to mazes
  • Add tabs to inventory and shop
  • Add more collectable item: eggs
  • Add Chests, Treasures (more coins)
  • Fullscreen messages
  • Add avatar icon to player lists
  • 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)

Assets/Meshes

Meshes are created with Blender.

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

There is also unfinished chest model box.blend.

Other games that have sources available

Code checkout with Sourcetree app

When checking out this repo, submodules should also downloaded.

  • Download and install Sourctree
  • 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)
  • From Roblox Studio->Plugins->Rojo click connect

Tools

  • Rojo, a build system
  • Foreman, a toolchain manager
  • Remodel, a deployment manager and multitool
  • Tarmac, an asset manager
    • tarmac sync --target roblox --auth ROBLOSECURITY
    • Real timesaver. eg: sync, find out you png-s are to big. Use https://tinypng.com/ to make files a lot smaller. Resync. Done.

Tools installed using cargo. See each repo Readme for details.

VS Code Configuration

There is nice tutorial in medium also: Roblox Development in Visual Studio Code

Editing/ Fixing data in Datastore

maze-world's People

Contributors

maygo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.