自社プロジェクト・ゲームエンジン

Project

マイクロビジョンはソフトウェアおよびゲーム開発の将来を見据え、変化の先を行くチャレンジを常に心がけています。 当社のプロジェクトは、そうしたチャレンジ精神を社内外に表現する重要な手段の一つです。

※ここで紹介しているプロジェクトは社内エンジンやプロジェクトの一部です。

 


 

ソーシャルゲームエンジン『SGF-SERVER/CLIENT』

sgf

近年スマートフォンやタブレット端末を中心に大規模なソーシャルゲーム開発が盛んに行われています。当社ではコンシューマゲーム、各種ネットワークゲーム開発の経験を活かし、サーバー、クライアント双方を兼ね備えたゲームフレームワークとして、SGF-Server、SGF-Clientを自社開発しました。

SGF-Serverは、CentOS、PHPでシンプルかつ堅牢な設計で実装、KVSとしてmemcached、redisを使用しています。AWSなどのクラウドサーバーにも対応。

SGF-ClientはUnity上に実装されたフレームワークで、スマートフォン、タブレット、PCなど各種プラットフォームに対応し、2Dのインターフェイス、3Dゲーム等も効率よく開発可能です。

【データベース生成、オンデマンドダウンロード機能】
コンテンツの開発に注力出来るよう、エクセルからのゲームデータベース生成機能、リソースのオンデマンドダウンロード/ストレージ管理/拡張エンコード/拡張デコード機能などを備えています。

【開発から運用までのオールインワン環境】
堅牢かつシンプルな設計で開発生産性が高く、高トラフィック時も安定動作、AWS との各種連携、KPI分析にも対応しています。

【Unity拡張】
Unityの基本機能では難しく複雑な表現を行う為のエディタ拡張、開発効率を上げる為の拡張メソッドを完備しています。

【多彩なAPI】
アカウント管理、アチーブメント、フレンド、贈り物、ガチャ、進化/合成、アイテム購入、ログインボーナスなど、主要な基本プロトコルに対応しています。コンテンツに合わせてパラメーターの拡張も可。各機能毎に依存性を低く設計してある為、プロジェクトの都合により取捨選択、拡張が容易です。

 


 

スマートフォン向けゲームエンジン『SMARTP』

近年急激に普及したスマートフォン端末では多数のゲーム遊ばれています。iPhone、Android端末はこれまでの携帯ゲーム機や旧世代のコンシューマゲーム機を凌ぐ性能をもつ一方、基本の開発用言語としてはObjectiveCとJavaというまったく異なるプログラミング言語を使って、それぞれ異なったAPIでのゲーム開発が必要です。そのため、共通の開発環境を作るUnityを筆頭とした外部のミドルウェアを用いた開発が普及しました。そのため、当社でもUnityを使ったゲーム開発を行っています。

しかしUnity向きでない開発にも柔軟に対応できるよう、当社ではiOSとAndroid、2つのメジャーなスマートフォン用OSに対応したネイティブ・ゲームエンジン『SmartP』を自社開発いたしました。『SmartP』は「たまごっち」「仮面ライダーBJ」物理ゲーム3作品」など複数タイトルで活用されています。

※たまごっちについてはHTML5ベースのバージョンも開発。

【C++言語による高速な処理とマルチ・プラットフォーム対応】
iOSとAndroid、各OSに依存するコードをラッピングすることで、ゲームアプリケーション部分を共通のC++コードで書けます。iOSではObjective CからC++コードを、AndroidではJavaからNDKでC++コードを呼び出しており高速な処理が可能です。

【既存のC++言語のソースやライブラリとの高い親和性】
C++言語で書かれたソースの移植やライブラリの活用が可能です。後述する弊社のライブラリ『Q Script』や『AGS』も移植されています。またコンシューマゲーム開発と近い作り方ができるので、コンシューマゲーム開発に慣れた技術者のノウハウを十分に活かせます。

【多彩なAPI】
スプライトやBox2Dを使用した2D物理シミュレーション、サウンド再生、課金、サーバーとの通信、Facebook/Twitter連動などが可能です。また、OpenGL ESを直接操作することもできます。

 


 

2Dアニメーションエンジン『AGS』

pd_ags

ハードウェア性能の飛躍的な向上で、とかく3D の表現力がフォーカスされがちです。 けれども現在市場に投入されているゲーム・タイトルを見ても分かる通り、2D 表現もまた確固としたユーザーの嗜好を捉えており、 需要も、クオリティへの要求も、3D に劣らず高まる傾向にあります。

また、クロスプラットフォームを念頭に置いたゲーム開発の課題は、2D においても同様です。あらゆるプラットフォームで、あらゆるソフト開発現場で、総合的な開発力の向上を目指す当社は、2D アニメーション・エンジン『AGS』を開発しました。『AGS』は「進撃の巨人~人類最後の翼~」、「英雄伝説 ガガーブトリロジー」、「THE IDOLM@STER Dearly Stars」、「ペンギンの問題シリーズ」など様々なタイトルで活用されています。

【マルチ・プラットフォームに対応】
汎用的な2Dアニメーション・ツールで作成した CG を、そのまま Windows、PSP、DS、3DS、Xbox、iOS、Android など、異なるプラットフォームで再生できます。

【デザイナー・オペレーションとの高い親和性現】
2D アニメーション・ツールのスタンダードともいえる After Effects をサポート。デザイナーはプラットフォームとなるハードウェアごとに存在する差異をなんら意識することなく、 デザインワークに集中しできます。

【インターフェース・デザインへの応用】
『AGS 』は、ゲームのインターフェースにも応用可能です。デザイナーとプログラマー間で意思疎通を図るために、従来必要だった煩雑な指定を介することなく、 高いユーザービリティで動きのあるインターフェースを作成できます。

【機動的な開発環境】
元来、 応用領域が広範囲であることを設計思想として開発された『 AGS 』は、開発プロジェクトごとに発生する固有の要求にもよりスピーディーに、 より柔軟に対応できます。

 


 

3D物理エンジン 『BTR』

「物理シミュレーション」を一言で言えば、物体同士の衝突と挙動を剛体力学を基本とした物理条件の下に再現するシステムです。 この物理シミュレーション・エンジンを自社開発したものが『BTR』です。

『BTR』によって、ゲームに物理シミュレーションを組み込むことが可能になり、 シーン表現の幅が広がります。ゲーム開発現場での使用を意識して自社開発された『BTR』だからこそ、従来の主要な物理エンジンでは難しい、 ゲーム・シーンやハードウェアのスペックに見合ったパフォーマンスとクオリティのバランス調整が容易に行え、 開発現場の要求に応じたカスタマイズにも柔軟に対応できます。『BTR』はBTR DemoViZiMOをはじめ、アーケードゲーム「超・ちゃぶ台返し!」などで活用されています。

【任意形状の衝突判定と物理運動の再現】
建物の崩壊の様子、ピンボールやビリヤードのボールの挙動に見られる、複雑な物体の運動を物理法則に基づいてリアルに再現することが可能です。

【拘束による連結運動の再現】
拘束によって挙動を制限されたオブジェクト(例えば鎖やブランコなど)の物理シミュレーションに基づいた連結運動を再現します。

【固定モーションと物理運動の合成】
モーション・コントローラーによって固定のモーションを与えられたオブジェクトに、衝突のような特定の力が加えられることで新たに発生する挙動は、固定モーションと物理運動を合成することで表現されます。 歩行中につまづく様子や、動いている物体同士の衝突などの表現に有効です。

【物理シミュレーションによるオブジェクトの質感表現】
動力学オブジェクトは質量、重心属性と表面素材パラメータとして摩擦係数、弾力性を持ちます。 これにより質感を伴った物体の物理シミュレーションが可能になっています。

【オブジェクト・フリーズ、リヴァイブ・システム】
一定時間動きの無いオブジェクトを物理演算から除外することができます。 これによって大規模なシーンでも特別な処理を施すことなく、計算によって生ずるハードウェアへの負荷を軽減することが可能になります。

 

 


 

スクリプトエンジン 『Q SCRIPT』

一般的にスクリプトを導入することによって、開発における上層部分の作業を、プログラマ/非プログラマ問わず柔軟に分担出来るため、開発効率が向上します。効率よく安全な動作を行うスクリプト・エンジンとして、当社は『Q Script』を自社開発致しました。

『Q Script』によってゲームの調整作業、プロトタイピングなど、変更の多い場面で柔軟かつスピーディな対応ができます。『Q Script』は「英雄伝説 ガガーブトリロジー」、「THE IDOLM@STER Dearly Stars」、「サイキン恋シテル?」、「ペンギンの問題シリーズ」など様々なタイトルで活用されています。

【言語仕様】
シンプルさと記述性のバランスを考慮した言語仕様は、習得が容易で、かつ安全性を損なわない程度に複雑な処理の記述を可能としています。

【幅広いプラットフォーム】
シンプルで軽量に作られたスクリプト実行エンジンは、リッチなPCから、CPUやメモリ資源の厳しい携帯ゲーム機まで、幅広いターゲット上で動作し、プラットフォームを選びません。

【幅広いジャンル】
『Q Script』はその汎用性を活かし、RPG、アドベンチャー、アクションなど様々なジャンルのタイトルに使用されています。膨大な量のストーリーやシナリオをゲームデータとして組み込んだり、キャラクターのAIを『Q Script』で記述することで、作業効率を格段に向上出来ます。

【柔軟なカスタマイズ】
『Q Script』のスクリプトシステム上に構築される命令郡は、開発対象の要求に合わせ、安全性、記述性などを考慮してカスタマイズできます。