MMORPG System Framework for Unity 5

MMORPG System Framework for Unity 5

Status: In-Development
Developer: Broten Technologies Corporation
Contact: support@staff.broten.ca
Twitter: @BrotenTech

Description:
The MMORPG System Framework for Unity 5 is a Editor Toolset and C# Framework Engine used to create and deploy MMORPG and MMOFPS games. The Framework is an over-the-top modification to Unity 5, where the game is generated using at run-time C# code. Featuring procedural, static, and dynamic content loading using custom assets.

Minimum Requirements:

  • Unity 5.2.0b4 or higher

  • Windows 10 64bit

  • Xbox Live Account

  • Visual Studio 2015 Tools for Unity

  • 8GB System Ram DDR5 or higher

  • Nvidia 600,700,800,900 GPU (openGL 4.5, 3.5, DirectX 12 API) or equivalent

  • 2GB vRam DDR5 of higher

  • Maximum resolution of Ultra HD 3840x2160 on single GPU systems in 2D display mode.

  • Maximum resolution of Full HD 1920x1080 on single GPU systems in 3D display mode.

  • Optional VR resolution of 2160x1200 on single GPU, recommended SLI with one GPU per 1080x1200 visual field.

Modules

  • Dynamic Sky-box Module
  • Continuous Terrain Module
  • Inventory Storage Service Module
  • Item Generator Module
  • Expansion Pack Manager Module
  • NPC Spawn-Point Module
  • Player Avatar Customization Module
  • 2D Standard Display UI Module
  • 3D Display UI Module
  • VR HMD UI Module
  • VR HMD Player Module
  • Input Controller Module
  • Network Front-end Services Module
  • Network Back-end Server Service (ORBNET Network Server - Visual Studio 2015 project source)
  • Authentication Services Module
  • Game Master Module (additional asset, distributed only in builds for staff use)

Dynamic Sky-box Module

  • Single, Binary, Tri-nary star system
  • Dynamic real-time light source from sun’s, and orbital bodies significant enough to reflect sun light.
  • Day, Sunset, Night progression based on sun location.
  • Illumination levels increase in intensity as sun progresses to over head.
  • Skybox tracks players geo-location and adjusts relative to.
  • Adjusted based on Player camera view, or VR HMD orientation.
  • Adjusted based on planetary diameter, axis offset, and current rotation.
  • Configure planets and other bodies with orbital distances.
  • Dynamic Clouds.
  • Procedural generated solar system
  • Scaled representation of all objects with in a solar orbital range
  • Ability to locate skybox view at any location with in the solar orbit.

Scaling of Observable Objects in the Dynamic Skybox

In this example we have two planetiods. Are player is at Observation Point on the surface of Planetoid B. Unity is unable to handle rendering environments at the distances needed to be at scale on a solar system level. As such we have to reduce the rendered environment and do so while maintaining astronomical scales when viewed by the observer.

The Player can see Planetiod A in the sky. We first acquire the location of Planetiod A and Planetiod B as provided by the Procedural Generation C# scripts. Then calculate the distance between the two pentoids adjusted for the observers location on the surface.

Using the stored variable of PlanetRadius for Planetoid A we then calculate mathematically the intended radius and diameter of the Scaled Rendered Object with in the skybox rendering. And render the Planetoid A with in the visible sky at the correct angular location relative to Planetiod B and the Observation Point.

Continuous Terrain Module

  • Continuously loaded custom terrain chucks.
  • Max NPC load distance
  • Max Player load distance
  • Max Static terrain object load distance
  • Max Horizon distance (load terrain chucks no farther then this distance from player.
  • Player functions with in a ±5km from origin with location shifting between screen draws.
  • Map maximum distance per axis of Hex 0x7FFFFFFF from origin. Expressed in 1 hex unit : 1 Kilometer.
  • Spawn point loading of all map objects and NPC’s.
  • Custom visual editor panel.
  • Assignable world ID codes up to 0x7FFFFFFF, world ID codes may be used to create different versions of same environment, or completely disconnected environments.
  • World ID 0x00000000 reserved for Game Master use.
  • World ID 0x00000001 required for primary world map.

Additional Information will follow.

1 Like

interesting, more detail please!

More details will become public as we progress with the asset development. I will be detailing the modules more once I can write it all up.

This asset is being used for the creation of are VR-MMO called Ephesus a syfy themed game title. It will also become available on the asset store. But is firstly being deployed internally, a post version 1.0 build will be the public release.

Posting in here to follow!

A key difference with using this framework is that the standard Scene Editor is not viable for true open world MMO usage.

This is because the large open world environment is scene-less. The game loads the environment dynamically from custom map asset “chucks”. As such a lot of custom editor interfaces are needed. The C# framework engine loads at runtime, and reads custom configuration asset files to generate the game world rather then scene files. this setup also allows for seamless environments which are extremely large.

Added some details on Scaling of Observable Objects in the Dynamic Skybox.