in Engine

Castle Game Engine: Collaborative online editing of 3D world using Castle Game Engine and mORMot2

From Castle Game Engine: link to original post

Castle Game Engine and mORMot 2 Castle Game Engine and mORMot 2 Castle Game Engine and mORMot 2

We’re happy to announce a new demo project, showcasing our Castle Game Engine and mORMot 2 working together!

mORMot (1 and 2) is an open-source Pascal framework (just like our engine!) providing networking and database solutions, at a few layers. You can use it for ORM (easily synchronize and persist objects), classic client-server (HTTP REST communication), peer-to-peer communication (like WebSockets), database access and many other things.

We present a demo showcasing that Castle Game Engine and mORMot 2 can cooperate seamlessly, and together achieve something really cool:

https://github.com/castle-engine/castle-and-mormot-collaborative-editing/

The demo presents a collaborative editing of 3D world. Features:

  • Multiple clients can edit a 3D world online.
  • It’s synchronized using ORM with a server.
  • The server in turn stores the world contents in a database (so it survives server restarts).
  • Each client can add, remove, modify (move, rotate, scale) 3D objects in the world.
  • The changes are immediately visible to all other clients.
  • mORMot 2 takes care of all the network communication and database persistence.
  • Castle Game Engine takes care of displaying: showing and updating the 3D world, allowing user to move/rotate/scale by nice gizmos (using CastleTransformManipulate), allowing camera movement in 3D.

Instructions to build and run the demo are in the README file. You will need the latest Castle Game Engine and mORMot 2. Latest versions, from GIT master branches of both projects, have been tested today.

In related news, we have recently updated our URL and networking documentation, and this was a great moment to mention mORMot at the latter. Check out new:

Enjoy, and as always — any feedback is welcome!