Show page source of FrontPage #100730

= [[ProjectName]] Wiki =

[[ProjectName]] のWikiページへようこそ。


== '''※この文章は書きかけです!!''' ==
 

[[BR]]

'''1.はじめに[[BR]]'''

このプロジェクトは大規模オンラインゲーム向けにグローバルなOS環境での実行[[BR]]
を可能にするフロントエンド環境を提供することを目指してプロトタイプを構築する。[[BR]]
[[BR]]
[[BR]]

'''2.開発の背景[[BR]]'''
[[BR]]

MMO(大規模オンラインゲーム)においては、大多数のゲームタイトルでクライアント環境[[BR]]
を無償提供している。[[BR]]
しかしながら、版権や著作権を保護する目的やユーザーサポート体制の確保が難しい観点から[[BR]]
オープンソースOS(Linux、BSDなど)を対象としたクライアント環境の提供は皆無と言って良い状況である。[[BR]]
[[BR]]

また、ゲームプレイ自体は無料だが、有料のゲーム内コンテンツを販売して収益を上げる運営体制[[BR]]
が多いのも最近の傾向である。[[BR]]
従って、客観的に見ると潜在的なユーザー市場が未開拓のまま放置されているようにも思われる。[[BR]]
[[BR]]
[[BR]]

'''3.開発の基本方針[[BR]]'''
[[BR]]

○フロントエンド環境の全ての開発情報を公開する。[[BR]]
○MMOクライアント環境提供側の版権、著作権等の保護の観点からクライアントプログラム(ソフト)[[BR]]
 に一切の変更を加えない。[[BR]]
○全ての関係者が不利益無く導入できることを目指して進める。[[BR]]
[[BR]]
[[BR]]

'''4.開発ステージの構想[[BR]]'''
[[BR]]

本プロジェクトは次のようなステージ構想で段階的に進めていく。[[BR]]
簡易的に繰り返し記号(〃)を用いる。[[BR]]

○ STAGE0 :1つのOS上で、特定のOS向けMMOクライアント(ソフト)が実行可能なFEの検討[[BR]]
○ STAGE1 :1つのOS上で、特定のOS向けMMOクライアント(ソフト)が実行可能なFEの構築[[BR]]
○ STAGE2 :1つのOS上で、2つの異なるOS向け           〃[[BR]]
○ STAGE3 :1つのOS上で、複数の異なるOS向け          〃[[BR]]
○ STAGE4 :2つの異なるOS上で、相互のOS向け          〃[[BR]]
○ STAGE5 :複数の異なるOS上で、その中の1つのOS向け    〃[[BR]]
○ STAGE6 :複数の異なるOS上で、属する全てのOS向け     〃[[BR]]
〇 STAGE7 :複数の異なるOS上で単一のリソースを分散共有化     〃[[BR]]    

'''5.現状分析'''[[BR]]
[[BR]]
'''5.1 対象OS'''[[BR]]
PC-UNIX系OSとして他分野で運用されるようになったLinuxを例としてあげるとUNIXの持つマルチプラットホーム、マルチアーキテクチャ、マルチプロセス、マルチネットワーク環境などマルチユーザー環境によるセキユリティ機能の充実等もあってオープンソースな開発体制と相まって一般的なPC-OSであったマイクロソフト社のWindows系OSに代わりPC基本OSの中心になる可能性も見えてきている。
[[BR]]

本プロジェクトでは柔軟で多様ななマルチプラットホーム環境を持ったLinuxを基本OSとして開発を進める。
[[BR]]

'''5.2 リソース・コンバータ'''[[BR]]
リソース・コンバータとは単一のリソースを複数のプラットホーム上で実行するためのミドルウエアであり、アーキテクチャ依存のカーネルの一部を含むハードウエアドライバとプリミティブなライブラリの集合体である。ソフトウエアの階層で捉えるとファイルシステムやTCP/IP、NetBIOS等のネットワークプロトコルのような存在であるが、ユーザーがベースリソースであるアプリの基本機能を損なわない範囲でパフォーマンスを調整するためのインターフェイスを持っている。
これは、例えばWindows系OSのコントロール	パネルのような存在であるが、必要十分なインターフェイスのみに留めて、不必要な自己通知機能等を極力省きユーザーが自由にオプションとして機能を追加できる点で大きく異なる。
[[BR]]

以上をまとめると単一のリソースに変更を加えずに複数のプラットホーム上で同時分散処理するためのインターフェイスと捉えるのが端的には正しいと思われる。
現状、このように異なるOS上のリソースをベースとなるリソースに変更を加えずに実行する環境を提供するものに「Wine」がある。
[[BR]]

'''5.3 Wineの可能性とユーザーインターフェイス環境の必要性'''[[BR]]
Wineはいわゆるエミュレータではなく異なるOS上でアプリケーションリソースに変更を加えずに同一のインターフェイスと機能を提供するためののライブラリ群である。最新のWine環境Wine1。7の場合、Officeアプリのようなアーキテクチャにあまり依存しないアプリの場合、ほぼ問題なく実行できるが、MMOのようなゲームアプリの場合には、アーキテクチャに依存性があり、FlushPlayerやDirectX等のランタイムライブラリやGameGuardのようなセキュリティシステムの導入により、複雑でクローズソースな構成になっていることから、実行することさえ困難なアプリも存在している。

また、対象となるアプリの機能が多様なものになるほど複雑な調整が必要なのだが、現状のWineではその有する機能を十分に活かすためのユーザーインターフェイスが不十分な点で一般ユーザーが手をだしにくいものになっている。
[[BR]]
[[BR]]

※後述と参照については後日記
[[BR]]

[[ReleaseList]]
[[RecentTickets(limit=5)]]