This section represents concept of infrastructure on top of NOMRHIS. The concept is to describe most general ideas and specific advantages so not all possible features are highlighted here. Several obvious aspects are also missing. And some implementations are described in details while others are only designated. Technically the scheme contains components related to class of plug-in for basic server or class of site content; Kernel Panic itself and NomrhisD aren't designated on scheme (see Components).

Infrastructure components are split into 3 groups:

  1. Subsystems.
  2. Development tools (SDK are also implemented on top of NOMRHIS).
  3. User applications (final product).

Development tools and user applications are actually combinations of subsystems turned into product application.

And each subsystem exists in on of the qualities:

  • Client on client side; set of scripts and resources stored on executed on client without server interaction
  • Server on server side; components of server engine of this kind don't define server interaction directly
  • Client-server client-server set; set of scripts and resources stored and executed on client side, server component and network interaction implementation on both sides

Let's look into what parts of code should be open (and why) and parts could be closed for commercial reasons. Since Lua implementation is based on platform independent register VM Lua-scripts can't be practically closed (even bytecode Lua-script can be easily disassembled). Interested programmer won't have any problems to rip out client-side scripts, refine them and put it in public for downloading (e. g., on his or her site). To avoid such situations it is very wise to put client-side scripts on developer's web site in form libraries. This attitude can help to avoid unnecessary concurrence and give an advantage of collaborative development (which may decrease product costs).

On the other hand, server-side code don't have to be opened. So it is up to developers which components should be opened and which should not.

The scheme of infrastructure (as an example)

Development tools
- NOMRHIS-studio
- Genre-oriented studios
on top of NOMRHIS-studio
- Other tools
Subsystem classes
- Professional 3D-editor Client
- Text editor Client
- Image editor Client
- Audio editor Client
- Non-linear audio/video editor Client
- LUA-sandbox Client-server
- Version control system Client-server
- Building interior/exterior editor Client
- Character editor Client
- Plants editor Client
- Landscape editor Client
- 3D scene constructor Client
- Widget system Client
- RTS engine (real time strategy) Client-server
- 3D-shooter engine Client-server
- MMORPG engine Client-server
- 3D social networking engine Client-server
- Encyclopedia engine Client-server
User applications
- Games
- 3D social networks
- Encyclopedias
- Unprofessional 3D
Feature review