United Front ( ユナイテッド・フロント ) は無料で遊べるオンラインゲームです。国取り型の RPG で、プレイヤー最大の目標は自国の天下統一です。同じ国のプレイヤーとの情報共有や戦略が勝敗を分けることになります。
United Front の世界は、ゲームが作り出すキャラクターではなく、実在するプレイヤーによって創り出されています。実在するプレイヤーの一つ一つのアクションが、United Front の世界を動かしています。一人で遊ぶテレビゲームのようにはうまくいかないかもしれませんが、それが United Front の醍醐味でもあります。
United Front 1 は以下の方針を持って開発されました。
United Front 1 の開発は既に完了しており、誰でも自由に遊ぶことができます。
United Front 2 は、United Front 1 のノウハウを継承した United Front の次期バージョンにあたり、オープンソースソフトウェアとして開発が進められています。アーキテクチャは完全に刷新され、より柔軟性、拡張性に優れたシステムになっています。ゲームの仕様は、実際のプレイヤーの助言や提案を元に作成されます。
United Front 2 は Java で実装された一般的な Web アプリケーションですが、オブジェクト指向プログラミング を中心とする古風ながら斬新なテクノロジを採用しています。データアクセス可能な United Front 2 の ドメインモデル は POJO でありながら高機能です。システムを通し て 契約による設計 の概念が適用されており、それを実現するシンプルな実装方式を定めて います。システムの構成は Spring Framework によって Java コードから分離していますが、中核となるクラスは Spring 製品から独立しており、あくまで United Front 2 のアーキテクチャに Spring 製品を適合させる形をとっています。データアクセスには Spring JDBC 、画面遷移は Spring Web Flow 、 画面の再利用は Apache Tiles 、リッチインター フェースの実装には dojo を採用し ています。ソフトウェアの構成管理には Maven を採用しており、種々のプ ラグインを使ってソフトウェア品質の見える化を図っています。
これらのテクノロジは全て公開されています。United Front 2 のテクノロジは具体的な形で United Front 2 アプリケーションに実装されますが、他の Java Web アプリケーションへも応用可能です。もしこれらのテクノロジが、 他の Java Web アプリケーション構築の一助となれば幸いです。