STRIX ENGINE

Library for developing high-speed, high-quality online games

STRIX ENGINE is a multi-platform library providing the advanced network and 3D client functions required for online game development.It supports your game and app development, from social games to large MMOs and Web services.

  • Can be use for games!

    ゲームに使える!
  • Multiprotocol
    Multidevice

    マルチプロトコル マルチデバイス
  • Focus on quality improvement with man-hour reduction

    工数削減で品質向上に専念可能
  • Can be use with other game engine

    他のゲームエンジンと併用可能

Unreal Engine/Unity support for easier online game development

Introducing online game development video using "STRIX ENGINE" and "Unreal Engine 4"

Full Product License

The following shows how to activate the STRIX ENGINE license. For license details, contact us via the inquiry form.

01

STRIX is a license for
each title.

02

Product prices:
500万円(Tax excluded)

03

SOFT GEAR provides support from installation to minor version upgrade (function addition).
The logo must be displayed for each title using STRIX Ver.2.

How to activate the license

Step 1
License agreement
Conclude a SOFT GEAR-specific license agreement.
Step 2
License key generation
SOFT GEAR generates the license key required to use the library.
Step 3
License delivery
Once the license key has been generated, you will receive the library.

Basic Functions

STRIX

STRIX ENGINE is a game engine that provides high-speed network functions and flexible server framework required for online game development.

It is equipped with a 3D client module for high-speed rendering.
This engine is provided as an all-in-one package for online game development by using STRIX 3D on the client side.
STRIX ENGINE also supports Unreal Engine and Unity, allowing online game development while using another game engine on the client side.

STRIX ENGINE Ver2.0

Supported Languages Server:Java
Client:C++、C#、Java
Supported Platforms Linux、Windows、iOS、 Android、 Unreal Engine、 Unity
Supported Protocols TCP、 RUDP
Major functions
STRIX
NET
Serialization function Allows easy message definition.
Multi-thread function Processes threads on multiple cores and multiple CPUs.
Encryption function Supports SSL. 
STRIX
Server
Matching function A matching system for large MMO or FPS development. It includes a message relay function and a flexible node management function for adding nodes according to the network load.
Authentication function Registers and approves users and controls access to a specific server logic.
Data management function Interface for consolidating the database and memory.
Messenger function Easily establishes a chat room, channel, and bulletin board.
Archive function Manages chat rooms (create, search, update, delete, search by condition).
STRIX
3D
Rendering A high-speed rendering function supporting multiple cores.
Physics/collision processing Simulates object behaviors or collisions and detects any collision or contact
between game characters and terrains.
Map editor Creates and edits a 3D map GUI.
Task management function Processes game character actions individually and applies management to ensure the display dependencies and the game's integrity.

Transmission library

STRIX NET

High-speed transmission module greatly reduces the man-hours required for network function development because the lower layer design and protocol or device differences are transparent.

Function/Feature
  • High-speed message transmission
    An appropriate transmission API is used for each platform to deliver a high-speed network supporting over 10,000 concurrently connected users.
    • Maximum throughput per connection: 900,000 messages/s
    • Maximum throughput for 10,000 concurrent connected users: 130,000 messages/s
  • Supported Multiprotocol
    TCP/RUDP support
  • Supported Language
    Java C++,C#

CASE 1 ― Smartphone/ Web application

STRIX supports multiple protocols, such as TCP, RUDP, and HTTP, allowing different protocols to be combined according to the situation. In an online game match, for example, for which real-time performance is required, TCP and RUDP communications can be used to minimize the delay.Meanwhile, in an environment in which real-time performance is not so important but the load is concentrated, such as player data checks or searches, HTTP communication is recommended to ensure scalability and the reuse of existing Web resources.

CASE 1 ― スマートフォン/ Webアプリ

CASE 2 ― MMO

Using the STRIX communications library, you can connect the game servers provided for each area or function through high-speed TCP communications for load balancing.This allows a game design that balances the load when moving players between areas, as well as the sending of messages to players in other areas or the application of the state in one area to other areas.HTTP communication is also used to enable easy integration with external systems, such as a ranking service or a social-networking service.The library can be embedded as a communication function to load game information from an external system and to display it on a Web browser or smartphone app through HTTP communications.Since both TCP and HTTP are supported, a game design is possible, which allows to view and update the game server status from the Web browser through the management server.

CASE 2 ― MMO/ 大規模オンラインゲーム

CASE 3 ― Services other than games

STRIX is useful for not only games but also multi-person communications services, such as avatar chat rooms, because messages can be transmitted at high speed and broadcast in real time.
Support of HTTPS communication ensures safe connection to external systems, such as an authentication system or billing system.
The integration of an avatar service and a billing system allows the establishment of a virtual EC mall service, where people can purchase real products at stores established in the avatar service.
Since the high-speed message communications function speeds up message app processing, a real-time messaging function like those used in social networking services, such as Twitter and LINE, can be implemented.

Server framework

STRIX SERVER

This server framework has a flexible room function, allowing you to build a server infrastructure in a short time.

Function/Feature
  • Room function
    • Offers a meeting space, such as a lobby, room, or area, in a flexible framework
      • Players can communicate with each other in the same room.
      • It is highly scalable, allowing the easy implementation of a lobby, room, or area.
    • Rooms can be freely interconnected to enable the development of various topologies
      • Matching rooms and MMO areas can be managed.
      • Players move between rooms according to the game status.
    • Addition and deletion can be performed dynamically
      • An area can be dynamically added in response to an event.
      • The load is balanced by scaling out.
  • KVS in-memory DB
    • SnowDB
      • The KVS NoSQL distributed database is available.
      • Using the Key-Value method allows fast access to data stored in memory.

CASE 1 ― Modelcase
<Mahjong application>

Build a matching system by using the room function to create lobbies and rooms which can then be interconnected in a tree form. From the lobbies, select a room that conforms to the rules and conditions and enter that room to start a match. By storing search keys and values in SnowDB you can search for a room by name or condition or find a room that your friend has already entered.

CASE 1 ― モデルケース <麻雀アプリ>

CASE 2 ― Modelcase <MMO/Large scale online games>

The room function is used to indicate a link between areas or a layout in the game. Integration with SnowDB allows area or player search.You can also check game object data, such as the opponent's NPC, from another server or process one area by distributing it to multiple servers.

CASE 2 ― モデルケース <MMO>

3D Engine

STRIX 3D

The 3D engine features a physics function to draw 3D interfaces and characters, to render including lighting, and to replicate interference between objects.

Function/Feature
  • All-in-one package to support online game development
  • 3D engine to process drawing and physics operations
  • Object centralized management function
  • C++ support
Java is not supported.

Client Module Configuration

クライアントモジュール構成図

Providing function

Rendering

Intelligently speeds up processing by skipping those operations that do not require drawing and flexibly fine-tunes expressions.

Physics/collision processing

Simulates object behaviors or collisions and detects any collision or contact between dynamically changing terrains and game characters.

Sound

Uses onboard memory to play only SE sound and streams background music from a file to reduce memory consumption.

Effect

Provides effect result images to which effects have been applied simply by specifying the conditions and range in an XML without programming.

Mapeditor

Provided with a GUI-based special editor, which requires no programming knowledge, allowing designers to manually create a map.