Skip to content

NeelDigonto/emerald-city

Repository files navigation

emerald-city

Overview

  • TODO

image

GETTING STARTED

  • To Run
cd emerald-city-frontend
yarn install
yarn start

cd emerald-city-backend
yarn install
yarn run dev

In emerald-city-backend/.env

AWS_ACCESS_KEY_ID=""
AWS_SECRET_ACCESS_KEY=""
AWS_SESSION_TOKEN=""

MONGO_USER_NAME=""
MONGO_USER_PASSWORD=""
DB_NAME=""

USAGE

  • TODO

To Focus

  • Performance (90+ FPS).
  • Ultra-Realistic Experience (Rendering + Spatial Sound).
  • Scalability (Large number of users, and objects in scene).
  • Complete decoupling of UI and Core Engine.
  • Huge Feature Sets.
  • Code Quality.
  • Ecommerce Focused
  • Some Flipkart/
  • Walmart Specific Ideas/Features
  • No reliance on HTML DOM in play mode.

Todo

Frontend

  • Initial Frontend Setup.
  • Editor Camera Controller.
  • UI Setup
  • Add Scene Graph
  • Add world Outliner.
  • Unlock Full FPS.
  • Add transform controls, in Editor Scene.
  • Add Screen Picker (CPU).
  • Add Screen Picker (GPU).
  • Add undo, redo features in editor.
  • Bidirection selection from both world outliner and canvas.
  • Add realtime ml based avatar guestures.
  • Addd drag and drop object support in editor.
  • Add scene(object transforms) backup with backend.
  • Add lots of basic shapes.
  • Add the required lights.
  • Add .gltf, .glb import support.
  • Add .fbx import support.
  • Add .obj import support.
  • Add file drag and drop import support.
  • Add texture import support.
  • Add custom material creation support.
  • Add shadow rendering support.
  • Add volumetric lighting options.
  • Add decals for better realisim.
  • Add Play Test Support, with a play button in toolbar.
  • Add Initial Physics Engine Setup.
  • Add Avatar creation support
  • Add Character animations and other animation support.
  • Add Animation Blending.
  • FPS Camera Controller.
  • Improve Camera Controllers with spring arm.
  • Add landscape generation workflow.
  • Add 3D world interaction, eg. object try-ons.
  • Shopping/Add to cart, flipkart/ecommerce style.
  • Add scalable UI size.
  • Add Global Texture Quality Manager.
  • Add Scalable Graphics Settings.
  • Remove IBL programitically, or only keep IBL for certain objects.
  • Create a initial scene with gold shop and a garden.
  • Another amusement park with vibrant colors and foot stepping music.
  • A cinema hall with video playing on wall and spatial sound.
  • Emojis/guesture of characters
  • Test the engine for realisim and playabilty.
  • Add Sound(Spatial Audio) Engine Setup.
  • Add chat support with Websockets.
  • Add Networking with Websockets
  • Migrate all networking to WebRTC.
  • Add Voice Chat.
  • Add VR support.
  • Add AR support.
  • Add environment variable support, for debug-only logging.

Backend

  • Initial Backend Setup.
  • Setup AWS EC2 with load balancers, ssl.
  • Implement CI/CD with docker and github actions.
  • Implement Reverse proxy for servers using nginx.
  • Implement Websocket.
  • Implement WebRTC.
  • Implement Voice & Video Api Chat API.
  • Implement Websocket Chat API.
  • Design Metaverse Info Storage schemas(LLD).
  • Add Database Layer.
  • Add AWS S3 storage of textures and 3D models.
  • Create buffered high-speed retrieval (signed url) from AWS S3.
  • Add ability to save metaverse spaces, and publishing support.
  • Automatic 3D point cloud generation, and object creation using backend AI.
  • Add CloudFront caching.
  • Add blockchain storage.
  • Add custom in-game cryptocurrency.
  • Add NFT purchase options.
  • Add ml based face mimicking of avatar(Last).
  • Create Game State Synchronization mechanism and API in backend.
  • Implement Redis Store for Game State Storage.

SUPPORTED PLATFORMS

  • Web
  • Windows (Electron) [Todo]
  • Linux (Electron) [Todo]
  • MacOS (Electron) [Todo]
  • Android (React Native) [Todo]
  • iOS (React Native) [Todo]

Ref:

  • AOMap --> Red Channel
  • RoughnessMap --> Green Channel
  • MetalnessMap --> Blue Channel

LICENCE

GNU Affero General Public License 3.0 (AGPL-3.0-only)

For licensing contact the Team Lead at the time.

Code Owners

Name Username Link Email
Saikat Dey [Team Lead] notfathomless https://github.com/notfathomles digonto.pvt.2021@gmail.com
Sayantan Pal sayantan135 https://github.com/sayantan135 palsayantan2002@gmail.com
Sudip Ghosh SUDIP1969 https://github.com/SUDIP1969 sudip.leo07@gmail.com

Team Name

  • Crystal Grid

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published