JadeGeek / the-mirror

The open-source Roblox & UEFN alternative giving you freedom to own what you create. An all-in-one, real-time, collaborative game development platform built on Godot.

Home Page:https://themirror.space

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is The Mirror and why?

image

Freedom to own: The Mirror is a Roblox & UEFN alternative giving you the freedom to own what you create: an all-in-one game development platform built on Godot.

If you build on others like Roblox, UEFN/Unreal/Fortnite, and Unity, you don't actually own the full stack of what you build because you don't own the engine.

We're here to change that. 3D is arguably the next step of the internet and we can't let it be beholden to an oligopoly of companies that want to own your data and creations.

Akin to "Figma" for game development, The Mirror is both tool and editor that let's you edit a game with friends in real-time. It's intended use can be extended because you have the source code. It can be used as a complete game base, to build what you want on top, you can use this to accelerate your game, get it built and released. This saves you time: imagine not having to write pesky things like infrastructure, backend code, asset management, and various systems from scratch.

This repo is The Mirror's source code: the Godot app (client/server), the web server, and the docs in one place. We've included everything we can provide to help you build your games as fast as possible.

1. Join our Discord

2. Check out our Roadmap

3. Read our docs: Site, monorepo /mirror-docs

4. Check out our open-source announcement post

5. Follow us on X/Twitter

Features

  • All-in-one game development: The Mirror is both the editor and the game, providing everything you need out-of-the-box to quickly create and play games, digital experiences, virtual worlds, and more.
  • Editor: Built-in and networked: A lightweight, real-time, multiplayer editor to build in real-time.
  • Physics via Jolt, a AAA physics engine used by Horizon Zero Dawn.
  • Advanced networking: Keep your game in sync and rewind when things get out of sync.
  • Visual scripting: Even if you don't know how to code, you can implement game logic quickly and easily.
  • Traditional coding: GDScript in-world editor so you can live edit your game code.
  • Material editor and in-game shader editing.
  • An entire asset system built around GLTF, supporting seats, lights, and custom physics shapes all direct from blender.
  • We have our own UI elements, including a table class which can easily map any data to UI elements without duplicating state in a performant way.
  • Asset imports using GLTFs at runtime in your game.
  • Collision shape generation handling: Convex and concave supported.
  • Easily add audio to your game in real-time without opening the Godot editor.
  • Player controllers out-of-the-box: FPS, TPS, and VR.
  • VR-ready: Tested on Oculus Quest 2.
  • A simple game object abstraction called SpaceObject (this will be refactored with the aim of supporting any type of Godot node).

Get Started

  1. Git clone the repository (you do not need to clone with submodules; they are optional)
  2. Download the precompiled Mirror fork of Godot engine (required to use)
  • Windows: Download
  • Mac: v buggy; taking contributions for fixes :) Download. On Mac you will see a zip file; extract it and open the editor binary with CMD + Right-Click then select the Open option.
  • Linux: Download
  1. Open the Godot editor (The Mirror fork), click import, and choose the project.godot from the /mirror-godot-app folder.
  2. Close the Godot editor and open it again, to ensure that everything loads correctly, now that all files have been imported.
  3. Hit play in the Godot editor!
  4. Create a new Space, and you will automatically join it. Or, join an existing Space.

Godot Fork

The Mirror is built on a custom fork of Godot and required to use The Mirror's code. The fork is open source and can be found here.

Documentation

The docs site (/mirror-docs) is our primary source of truth for documentation, not this README. We intend to keep this README slim since documentation is and will continue to be extensive.

Analytics Disclaimer: We use posthog and it automatically collects analytics in the open source repo. You can disable this manually by commenting out the mirror-godot-app/scripts/autoload/analytics/analytics.gd file methods. We will make this easier in the future to disable. The Mirror Megaverse Inc., a US Delaware C Corp, is the data controller of the Posthog instance. You are free to disable the analytics and even plug in your own Posthog API key to capture the analytics yourself for your games!

About

The open-source Roblox & UEFN alternative giving you freedom to own what you create. An all-in-one, real-time, collaborative game development platform built on Godot.

https://themirror.space

License:Other


Languages

Language:GDScript 63.3%Language:TypeScript 29.2%Language:MDX 5.2%Language:JavaScript 1.7%Language:GLSL 0.3%Language:Shell 0.1%Language:CSS 0.1%Language:Dockerfile 0.0%