Skip to content

orion3dgames/t5c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6bcbf9d · Nov 5, 2024
Sep 5, 2023
Apr 11, 2024
Aug 1, 2024
Jul 18, 2024
Aug 29, 2024
Nov 5, 2024
Jul 19, 2024
Sep 8, 2023
Sep 27, 2023
Jul 19, 2024
Nov 5, 2024
Nov 5, 2024
Sep 27, 2023
Oct 5, 2023
Sep 8, 2023
Sep 8, 2023

Repository files navigation

T5C - The 5th Continent

Building a basic multiplayer 3d top down rpg using babylon.js and colyseus

Current progress:

  • vat animations and instances
  • fully player authorative movement with client side prediction and server reconciliation
    • diablo like movement using the mouse with the ability to click to move
  • scene management (login, register, character selection, etc...)
  • map management (ability to teleport to a different map (ex: a dungeon) )
  • multiplayer animated characters
  • global chat (works accross zones)
  • uses a navmesh for collision detection
  • player data can be saved with mysql lite / mysql
  • basic enemies with simple AI behaviour (IDLE, PATROL, CHASE, ATTACK, DEAD)
  • enemies can drop items (based on a loot table)
  • 4 basic abilities ( sword attack, fireball, dot, heal )
  • ability to target players and enemies
  • ability to pick up items and see them in your inventory
  • ability to equip items and see them on your character
  • basic player levelling with experience and ability points
  • fully functional UI (experience bar, abilities bar, draggable panels, etc...)
  • simple quest system
  • simple trainer system (learn abilities)
  • simple vendor system (buy and sell)

Links

Follow the progress on the official babylon.js forum: https://forum.babylonjs.com/t/multiplayer-top-down-rpg-babylon-js-colyseus/35733

Check out my devlogs on https://dev.to/orion3d

Requirements

  • Download and install Node.js LTS
  • Clone or download this repository.
  • Run npm install

Technology

How to run

  • Run npm run server-dev to launch the server
  • Run npm run client-dev to launch the client

The client should be accessible at http://localhost:8080

The server should be available locally at http://localhost:3000

The Colyseus monitor should be available at [http://localhost:3000/monitor

Load testing

  • Run npx tsx ./loadtest/test.ts --room game_room --numClients 1 --endpoint ws://localhost:3000