RENKEI Engine: Difference between revisions

From AtomicTorchWiki
No edit summary
No edit summary
Line 2: Line 2:


= Renkei Engine =
= Renkei Engine =
'''Renkei Engine''' - Enkei Engine is a powerful multipurpose game engine designed for rapid game development. Renkei Engine is developed in-house for our own projects to be a powerful tool for client-server game development geared towards multiplayer/massively multiplayer cross-platform games.
'''Renkei Engine''' - Renkei Engine is a powerful multipurpose game engine designed for rapid game development. Renkei Engine is developed in-house for our own projects to be a powerful tool for client-server game development geared towards multiplayer/massively multiplayer cross-platform games.


It is powered by the latest versions of .NET Framework on Windows and Mono on other platforms.
It is powered by the latest versions of .NET Framework on Windows and Mono on other platforms.
Line 10: Line 10:
The primary philosophy behind Renkei Engine is to focus the development on implementing the actual gameplay code with C# scripting while minimizing any interruptions during the development process. Therefore the engine is designed to allow live/hot-reloading of any game code and assets (textures, models, audio, C# scripts, XAML UI markup, etc.) without recompilation or other interruption which makes it the main feature of the engine.
The primary philosophy behind Renkei Engine is to focus the development on implementing the actual gameplay code with C# scripting while minimizing any interruptions during the development process. Therefore the engine is designed to allow live/hot-reloading of any game code and assets (textures, models, audio, C# scripts, XAML UI markup, etc.) without recompilation or other interruption which makes it the main feature of the engine.


''The title of the engine is based on japanese words 連携 renkei (cooperation, coordination, link) and 遠景 enkei (perspective, vista).''
''The title of the engine is based on Japanese words 連携 renkei (cooperation, coordination, link) and 遠景 enkei (perspective, vista).''


== Features ==
== Features ==
Line 23: Line 23:
* '''Data-driven UI:''' UI is implemented by using NoesisGUI technology (http://noesisengine.com), which is a cross-platform WPF-like solution utilizing XAML markup to declaratively define UI elements and their style. It uses C# language for programming and ultimately effective MVVM-pattern for data binding.
* '''Data-driven UI:''' UI is implemented by using NoesisGUI technology (http://noesisengine.com), which is a cross-platform WPF-like solution utilizing XAML markup to declaratively define UI elements and their style. It uses C# language for programming and ultimately effective MVVM-pattern for data binding.


* '''Modding:''' Modding is easier. Modding is fun. Both, the game core data as well as mods are treated the same by engine. All gameplay-related C# code and assets (including UI) are stored in the "Core.cpk" or "whatever_mod_name.mpk" files which are simple zip archives or folders on the hard drive. The game could load any number of such archives expanding the available game data and logic. Powerful asset management and overriding is also possible. This allows for extremely easy mod creation, including total conversions. Modding tools are also integrated into the game engine itself which aids in debugging of the mods or the core game.
* '''Modding:''' Modding is easier. Modding is fun. Both, the game core data as well as mods are treated the same by the engine. All gameplay-related C# code and assets (including UI) are stored in the "Core.cpk" or "whatever_mod_name.mpk" files which are simple zip archives or folders on the hard drive. The game could load any number of such archives expanding the available game data and logic. Powerful asset management and overriding is also possible. This allows for extremely easy mod creation, including total conversions. Modding tools are also integrated into the game engine itself which aids in debugging of the mods or the core game.

Revision as of 10:29, 17 February 2016


This article is a draft and may contain incomplete or even incorrect information. You can help by expanding it.

Renkei Engine

Renkei Engine - Renkei Engine is a powerful multipurpose game engine designed for rapid game development. Renkei Engine is developed in-house for our own projects to be a powerful tool for client-server game development geared towards multiplayer/massively multiplayer cross-platform games.

It is powered by the latest versions of .NET Framework on Windows and Mono on other platforms.

Client part of Renkei Engine utilizes MonoGame game engine for the easier development of 2D games. But it could be replaced with any other low level library or an engine that supports the latest version of .NET/Mono (not Unity, unfortunately).

The primary philosophy behind Renkei Engine is to focus the development on implementing the actual gameplay code with C# scripting while minimizing any interruptions during the development process. Therefore the engine is designed to allow live/hot-reloading of any game code and assets (textures, models, audio, C# scripts, XAML UI markup, etc.) without recompilation or other interruption which makes it the main feature of the engine.

The title of the engine is based on Japanese words 連携 renkei (cooperation, coordination, link) and 遠景 enkei (perspective, vista).

Features

  • Live editing: No recompilation or asset reloading needed during development. You can edit and debug the code live - the engine will immediately display the changes to the C# code or assets (textures, models, audio, C# scripts, XAML UI markup, etc.).
  • Networking: Renkei Engine implementation of client-server intercommunication provides the best performance and lowest throughput and at the same time it's very easy to develop and configure. The game engine utilizes Reliable UDP implementation to avoid traffic hiccups and minimize network lags. It also allows to prioritize the most-important commands with easy-to-use declarative syntax.
  • Server-based architecture: in case of multiplayer games the authoritative game server architecture makes most of the usual forms of client-side cheating impossible.
  • United data space: Renkei engine blurs the line between Client and Server. Networking was always considered as one of the hardest part of game development requiring enormous amount of effort to develop and debug. We addressed this in many ways, some of which include: smart auto-replication of synchronized objects, easy-to-use bulletproof RPC, unified development console presenting Client and Server logs side-by-side with clear sequence of events and many other things. Effectively it means that the development of multiplayer game isn't much more difficult than developing a singleplayer game. The engine will take care of all the difficult parts.
  • Data-driven UI: UI is implemented by using NoesisGUI technology (http://noesisengine.com), which is a cross-platform WPF-like solution utilizing XAML markup to declaratively define UI elements and their style. It uses C# language for programming and ultimately effective MVVM-pattern for data binding.
  • Modding: Modding is easier. Modding is fun. Both, the game core data as well as mods are treated the same by the engine. All gameplay-related C# code and assets (including UI) are stored in the "Core.cpk" or "whatever_mod_name.mpk" files which are simple zip archives or folders on the hard drive. The game could load any number of such archives expanding the available game data and logic. Powerful asset management and overriding is also possible. This allows for extremely easy mod creation, including total conversions. Modding tools are also integrated into the game engine itself which aids in debugging of the mods or the core game.