User:Antubis: Difference between revisions

From AtomicTorchWiki
No edit summary
No edit summary
Line 1: Line 1:
[[File:AtomicTorchStudioLogoTransparent.png]]<br>Welcome to '''AtomicTorch Studio''' wiki! [http://atomictorch.com AtomicTorch Studio] is an independent game development company created with the idea of change in the gaming industry. We believe, independent projects and companies play increasing role in modern world of gaming and hope to make our contribution to this movement. Our goal is developing innovative and smart games which are the fusion of classic old-school style, modern technologies and novel mechanics while being accessible and fun for everybody.
= Renkei Engine by AtomicTorch Studio =


This wiki is work in progress and is in no way complete. We are only starting adding content here, for now mostly for our own reference. But if you would like to help - feel free to create an account.
'''Renkei Engine''' - Renkei Engine is a powerful  game engine designed for rapid game development. It was developed in-house for our own projects, with the idea of reducing any interruptions, that hinder the process of creation. Therefore, the main feature of the engine is live/hot-reloading of any game code and assets (textures, models, audio, C# scripts, XAML UI markup, etc.) without recompilation or other interruptions which makes it the main feature of the engine.  


= Studio Projects Wiki =
The engine is geared towards multiplayer/massively multiplayer cross-platform games and is powered by the latest versions of .NET Framework on Windows and Mono on other platforms.
{| class="wikitable" style="width:100%"
Client part of Renkei Engine utilizes [http://www.monogame.net MonoGame framework] 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).
|-
! style="width:28%" | Void Expanse
! style="width:28%" | Dinocide
|-
|[[File:VoidExpanseBanner.png|400px|center]]
<br>[[VoidExpanse]] is an open-world, science fiction action-RPG set in outer space.


Explore the vast, open reaches of the VoidExpanse, mine asteroids for valuable resources, trade with space stations and merchants to improve your ship or complete quests, advance your character with skills from diverse skill-trees, join different factions with their own agendas and stories, survive fast-paced combat with hostile aliens and mercenaries and explore the many features that make VoidExpanse an exciting sci-fi universe!
''The title of the engine is based on Japanese words ?? renkei (cooperation, coordination, link) and ?? enkei (perspective, vista).''


With moddable sandbox, you can create your own procedurally generated galaxy to discover, or build a persistent multiplayer world to ally with other players ΓÇô or destroy them.
== Features Highlights ==
|[[File:Dinocide_logo.png|400px|center]]
Below is a list of the features that are defining the enginge and make it stand out from the most of software solutions available to independant developers. Bear in mind that those are only a part of the engine, as it has even more features and can be tailored for various development needs.  
<br> [[Dinocide]] is a classic NES inspired old-school single-player platformer in a prehistoric fantasy world.


The protagonist has to save his love interest who was kidnapped by an evil and mysterious Dinosaur God. You are accompanied by your own tame Dinosaurs, who acts as a mounts, brother in arms and a true friends. With their help, you can jump higher, run faster, swim, fly and do a lot more things that an ordinary primitive man would never be able to do by himself. To reach your goal, you will travel together through the lands inhabited by ancient creatures and unknown dangers.  
* '''Live editing:''' No recompilation or asset reloading needed during development/modding. You can edit and debug the code and add or replace asset live - the engine will detect the file change and immediately reload/recompile it (C# scripts, textures, models, audio, XAML UI markup, etc.). You don't even need to stop your debug session!
|-
! style="width:24%" | Links
! style="width:24%" | Links
|-
|
* [http://voidexpanse.com VoidExpanse website]
* [http://forums.atomictorch.com Forums]
|
* [http://dinocide.com/ Dinocide website]
* [http://forums.atomictorch.com Forums]
|-
! style="width:24%" | The game
|-
|
* [[VoidExpanse/Version History|Version history]]
* [[VoidExpanse/Ships|Ships]]
* [[VoidExpanse/Weapons|Weapons]]
* [[VoidExpanse/Equipment|Equipment]]
* [[VoidExpanse/Topics|NPCs and topics]]
* [[VoidExpanse/Holodeck|Holodeck]]
* [[VoidExpanse/Ore|Ore]]
* [[VoidExpanse/Goods|Goods]]
* [[VoidExpanse/Objects|Alien Relics & Body Parts]]
|-
! style="width:24%" | Modding
|-
|
* [[VoidExpanse/installing_mods|How to install mods?]]
* [[VoidExpanse/mod_uploader|Steam Mod Uploader]]
* [[VoidExpanse/modding|Modding]]
* [[VoidExpanse/scripting_api|Scripting]]
* [[VoidExpanse/localization|Localization and Translation]]
|-
! style="width:24%" | Tutorials
|-
|
* [[VoidExpanse/updating_the_game|How to update the game?]]
* [[VoidExpanse/Server_setup|Server setup]]
* [[VoidExpanse/SteamCMD|SteamCMD Linux setup]]
* [[VoidExpanse/Server_commands|Server commands]]
* [[VoidExpanse/Troubleshooting|Troubleshooting]]
* [[VoidExpanse/Linux_Compatibility|Running on Linux]]
|}


== Editing wiki ==
* '''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.
* [[:Category:Templates|List of templates]]
 
* '''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 single-player game. The engine will take care of all the difficult parts.
 
* '''Data-driven vector-based UI:''' UI is implemented by using [http://noesisengine.com NoesisGUI], which is a cross-platform vector-based UI library utilizing XAML markup to declaratively define UI elements and their style. It uses C# language for programming and promotes ultimately effective MVVM-pattern for data binding. It's evolution of UI technology used at WPF/UWP-applications, but with cross-platform support and specially tailored for video games. You could use variety of tools for live-editing and previewing XAML like Microsoft Visual Studio 2015 and Blend.
 
* '''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 or folders 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 (no external tools required) into the game engine itself which aids in debugging of the mods or the core game.
 
* '''Graceful degradation:''' How often do you see the game crashing during development or modding? And then long and frustrating recovery process, when you restarting the game, loading latest game world save, repeating your actions... It wastes your time and kills productivity, it literally ejects you from the creative flow. With live-editing philosophy in mind, Renkei Engine lets you avoid all these issues. It gracefully handles all situations like an unhandled exceptions in scripting or missing assets. In the worst case scenario the engine will simply suspend the game cycle and report about the problem, clearly indicating about the faulty components and directing you right to the specific source code line if needed (with Visual Studio). After you fix the problem with the code or another issue - simply switch back to the game. If everything is fine it will automatically resume the game cycle. And you also can revert to the previous game data states by using hotkeys.
 
* '''Custom VS2015 Project System:''' To simplify development and modding even more, we implemented a custom project system for Microsoft Visual Studio 2015 (free Community edition is supported). It's not required to use for development/modding, but it provides several important features. There is a set of useful templates for C# scripts and UI assets. It allow you to attach to the game process by simply pressing F5 and never detach from it (scripts/assets live reloading feature!). It will automatically add/remove files to/from the solution/project tree (no need to manually include files). For development of client-server games you could use the combined client-server executable, so it will be just a single process and you can simultaneously develop/debug code for client and server in one Visual Studio instance.
 
If you have any questions regarding the engine or its use, feel free to contact us via forums or following e-mails:
info.atomictorch@gmail.com
atomictorch@gmail.com

Revision as of 04:32, 28 April 2016

Renkei Engine by AtomicTorch Studio

Renkei Engine - Renkei Engine is a powerful game engine designed for rapid game development. It was developed in-house for our own projects, with the idea of reducing any interruptions, that hinder the process of creation. Therefore, the main feature of the engine is live/hot-reloading of any game code and assets (textures, models, audio, C# scripts, XAML UI markup, etc.) without recompilation or other interruptions which makes it the main feature of the engine.

The engine is geared towards multiplayer/massively multiplayer cross-platform games and is powered by the latest versions of .NET Framework on Windows and Mono on other platforms. Client part of Renkei Engine utilizes MonoGame framework 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 title of the engine is based on Japanese words ?? renkei (cooperation, coordination, link) and ?? enkei (perspective, vista).

Features Highlights

Below is a list of the features that are defining the enginge and make it stand out from the most of software solutions available to independant developers. Bear in mind that those are only a part of the engine, as it has even more features and can be tailored for various development needs.

  • Live editing: No recompilation or asset reloading needed during development/modding. You can edit and debug the code and add or replace asset live - the engine will detect the file change and immediately reload/recompile it (C# scripts, textures, models, audio, XAML UI markup, etc.). You don't even need to stop your debug session!
  • 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 single-player game. The engine will take care of all the difficult parts.
  • Data-driven vector-based UI: UI is implemented by using NoesisGUI, which is a cross-platform vector-based UI library utilizing XAML markup to declaratively define UI elements and their style. It uses C# language for programming and promotes ultimately effective MVVM-pattern for data binding. It's evolution of UI technology used at WPF/UWP-applications, but with cross-platform support and specially tailored for video games. You could use variety of tools for live-editing and previewing XAML like Microsoft Visual Studio 2015 and Blend.
  • 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 or folders 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 (no external tools required) into the game engine itself which aids in debugging of the mods or the core game.
  • Graceful degradation: How often do you see the game crashing during development or modding? And then long and frustrating recovery process, when you restarting the game, loading latest game world save, repeating your actions... It wastes your time and kills productivity, it literally ejects you from the creative flow. With live-editing philosophy in mind, Renkei Engine lets you avoid all these issues. It gracefully handles all situations like an unhandled exceptions in scripting or missing assets. In the worst case scenario the engine will simply suspend the game cycle and report about the problem, clearly indicating about the faulty components and directing you right to the specific source code line if needed (with Visual Studio). After you fix the problem with the code or another issue - simply switch back to the game. If everything is fine it will automatically resume the game cycle. And you also can revert to the previous game data states by using hotkeys.
  • Custom VS2015 Project System: To simplify development and modding even more, we implemented a custom project system for Microsoft Visual Studio 2015 (free Community edition is supported). It's not required to use for development/modding, but it provides several important features. There is a set of useful templates for C# scripts and UI assets. It allow you to attach to the game process by simply pressing F5 and never detach from it (scripts/assets live reloading feature!). It will automatically add/remove files to/from the solution/project tree (no need to manually include files). For development of client-server games you could use the combined client-server executable, so it will be just a single process and you can simultaneously develop/debug code for client and server in one Visual Studio instance.

If you have any questions regarding the engine or its use, feel free to contact us via forums or following e-mails: info.atomictorch@gmail.com atomictorch@gmail.com