モノビットエンジンとは?
- モノビット社が提供するネットワークミドルウェア製品群
- モノビットエンジン製品リスト
- ネットワークゲームフレームワーク
- いろいろなゲームのバックエンド
- システムで利用されているLAMPフレームワーク
- リアルタイム通信エンジン
- 本格的オンラインゲームを作成できる通信ミドルウェア
- Unity版を無料公開中
- MOエンジン for Unity
- MO、MOBA系ゲームに特化したいわゆる「MOゲームツクール」
リアルタイム通信エンジンについて
- モノビット・リアルタイム通信エンジン
- モノビットリアルタイム通信エンジンとは、本格的なオンラインゲーム制作を前提に設計・開発された高機能なリアルタイム通信ミドルウェア
- シンプルなターン制のゲームから、高速レスポンスが求められるマルチプレイのアクションゲーム、大規模なサーバシステムが必要なMMORPGまであらゆるジャンルのオンラインゲームをスムーズに開発することができる
5つの特徴
- 誰でも簡単にネットワークプログラミングが可能
- マルチプラットフォーム対応
- 本格的なオンラインゲームのサーバ開発が可能
- 再起動なしで動的なサーバ台数の増減に対応
- Linuxサーバで動作可能
リアルタイム通信エンジン
- コンソールゲーム機からゲームエンジンまで、豊富なプラットフォームに対応
- プロトコルは、TCP、UDP、Reliable UDPに対応
- マッチングやバトルなど、さまざまなサンプルプログラムをソースコードごと提供
- PHPやRubyなどWeb系サーバとのデータ連携機能搭載
- 過去のWeb系ゲームサーバ資産が利用可能
- 各プラットフォームごとのSDKにより、RPC通信コードを自動生成
- 高速RPC自動生成ツールにより通信処理を自動生成
- 暗号化、および圧縮も自動的に実施
- C++、C#言語によるゲームサーバコードの記述が可能
- マッチングサーバを完全に独自カスタマイズ可能
リアルタイム通信エンジンの採用実績
https://itunes.apple.com/jp/app/sugorokumonsutazu/id863919908?mt=8&uo=4&at=10l8JW&ct=hatenablog
モノビットMOエンジンとは?
- MOエンジンは、専用スクリプトで駆動するMOタイプのゲーム制作ツール
- 物ビット独自開発のMO-Scriptを使用
- 「命令」や「グラフィック」、「サウンド」を組み合わせることでゲームの制作を可能とする
- MOエンジンサーバでは、MO-Scriptでプレイヤーや敵のアクション、イベント、ルールなどを設定することでゲーム全体を制御・調停することができる
- MO-Scriptは、提供される各種GUIツールで作成・編集を行うことによって生成される
- また、プレイヤーキャラクタのレベル、ゲーム進行など動的に変更されるデータはKVS(Key Value Store)を介してゲームに反映される
- ツールの出力で実現できない処理は、MO-Script自体を編集することで実現可能となる
MO-Scriptとは?
- MO-Scriptとは
- MOエンジン用に開発された、キャラクタ制御やAI、UIの制御、アウトゲームのフロー制御などに使用できる軽量スクリプト言語
- 特徴
- アセンブラライクな記述のシンプルで軽い言語
- プラットフォームに依存しない
- プロジェクト毎に自由にコマンド追加可能
- コルーチンとしての動作が前提となっており、時系列的な記述をそのまま縦に書くことができる
- グルーコード実装はLuaに比べて僅かな手間で済む
- バイナリコードはリソースとして扱えるため、プログラム実行中に修正してコンパイルしたバイナリコードのリロードが可能
- 定型部分のマクロ化やサブルーチン化、コマンド化によりプランナ・デザイナでも容易にスクリプトを組める環境の構築が可能
モノビットMOエンジン機能概要
- 開発環境について
- クライアント側
- サーバ側
- Monoもしくは、.NET Framework(2.0 or 3.5)と、ご提供するツール一式
MOエンジンのツールについて
- MOエンジンに同梱されているツール類
- キャラクタエディタ
- AIエディタ
- ステージエディタ
- 各種マスタエディタ
MOエンジンの準備
- セットアップ
- スタンドアローンのゲームと同様にアセットとアニメーションの設定
- アセット
- アニメーターとアニメーターコントローラー
- データ作成(1)
- キャラクタエディタでキャラクタのアニメーション制御スクリプトを作成
- AIエディタでエネミーの思考ルーチンスクリプトを作成
- データ作成(2)
- Unity上の背景をそのままゲームで使用
- ステージ用プレハブデータとして保存
- データ作成(3)
- サーバでステージのコリジョンデータも管理
- 背景オブジェクト
- コリジョン用オブジェクト
- 経路探索用プローブオブジェクト
- データ作成(4)
- ゲームオブジェクト出現位置の配置
- プレイヤー/エネミー/イベントオブジェクト/静的オブジェクトの出現ポイントをマウスでマップ上に配置
- ステージ関連データの保存
- プレハブの保存
- プレイヤー出現情報等の保存
- コリジョンデータの保存
- キャラクタなどの動的オブジェクト管理もツールで設定可能
- 動的オブジェクト管理用マスタ作成エディタ
- イベント管理用マスタ作成エディタ
- プレイヤーキャラクタ管理用マスタ作成エディタ
- バレット(弾)管理用マスタ作成エディタ
- 作成したデータをサーバに反映
- サーバ処理を高速化!
- MO-Scriptをバイナリデータに変換
- サーバプログラムのあるディレクトリ配下にファイルを置くだけ
- ゲーム起動
マッチングサーバ
- MOエンジンのマッチングサーバは、モノビットリアルタイム通信エンジンを用いてC++で実装されており、設定された条件でプレイヤーのマッチング処理を行う
- 例えば、レベルでのマッチング等さまざまな条件をSQLiteを用いて記述することができる
バトルインフォメーションサーバ
- バトルサーバの管理を行うサーバ
- バトルサーバのリストを保持し死活管理を行う
- その他、バトルサーバにユーザーデータの受け渡しを行う
- また、別パッケージとなっているリアルタイム通信エンジンとのネットワーク共有をも実現させる
バトルサーバ
- バトルサーバはお客様のニーズに合わせリアルタイムに増減することが可能
- その他、サービスを一旦停止するなどのメンテナンス・インフォメーションが不要となりサービスそのものに影響をあたえることがない
最後に