CyberStep トップページ 事業内容 製品情報 会社概要 IR概要 採用情報
採用情報
求人ニーズを知りたい
-クリエイターの方々へ
-新卒採用情報
-経験者・アルバイト
採用情報
会社を知りたい
-社内環境
-社員の声
-新卒社員の声
-技術力と求める人材
開発ストーリー
-GetAmped
-卓球ピンポン
-Xbox/Java
エントリー・お問合わせ
-エントリー(新卒採用)
-エントリー
(経験者・アルバイト採用)
-お問合わせ
トップページ >> 採用情報 >> Xbox/Java(R&D) 開発ストーリー

Xbox/Java 開発ストーリー

マルチプラットフォーム化への第一歩

 「GetAmped」をパソコン上だけでなく、家庭用ゲーム機上でも動作させる——。2003年5月、サイバーステップでは、将来的な目標であるゲームタイトルのマルチプラットフォーム化の可能性を探るために、そうしたテーマを掲げ、開発に着手した。
 対象として選んだゲーム機はXboxである。理由はXboxがWindowsマシンと同様にIntelベースで作られていること、WindowsとXboxのAPI(Application Program Interface)が似ていることなどが挙げられ、この開発をひとりで引き受けた担当者は、「Windows用につくったゲームなら、Xboxでも動かしやすいだろう」と仮定し、早速開発をスタートさせたのだ。

Windowsエミュレータの開発

 この仮定を現実のものとするためには、Windows用に開発したGetAmpedを動かすためのJVM(Java仮想マシン)をXbox上でも動くようにする必要がある。そのために開発担当者は、XboxをWindows化するためのWindowsエミュレータをXboxとJVMの間に挿入することを思い立つ。「それぞれのAPIは8割がた同じ。あとの2割の違いを修正するエミュレータを開発すれば問題は解決するはず」と考え、ひとり作業を進めていった。

エミュレーターイメージ
※JavaからWindowsAPIを呼ぶ箇所があり、その部分をXboxのAPIを指すようにAddress変更を行う、という処理を行った。

何万行とあるバイナリプログラムをチェックし修正

 ただ、ひと口に作業といってもそれは非常に地道なもの。まずは公開されているWindowsとXboxのAPIを比べて相違点を修正し、エミュレータver.1として動かしてみる。すると、たとえ修正してもOS固有の問題が発生し、あるところでエラーが起こり動作が止まる。そこで、バイナリプログラムを見てエラーが出たところをチェックして、修正をかけ、また動かしてみてエラーが出れば修正していく。こうした作業を延々と繰り返し、一つずつ穴を埋めていく。
 「結局とんでもないエラーの数が出たが、何万行とあるバイナリプログラムを丁寧にチェックして修正をしていった。その丹念な作業が実り、1ヵ月半後にようやく動くようになった」(開発担当者) 。

制約なく技術開発に挑める喜び

 こうしたプラットフォームへの移植のための開発手法には様々なアプローチがあるが、開発担当者は今回あえてボトムアップ的な手法を試み、結実させた。「一般の会社なら期限が設けられたり、最終的にどのようにビジネス化するのかなど筋道が見えていないと開発が認められなかったりする。でも、サイバーステップでは、そうした制約がなく、自分がやりたいこと、考えたことにトライできる。技術者としてはそれは大きなことだし、楽しいところ」と開発担当者は今回の開発を振り返りそう締めくくった 。

開発期間

このページのトップへ