![]() パステル オービット |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
---|
ゲームプログラマが語る。自分の作った懐古ゲームがスマホで動作していた!精細な技術の発掘劇
|
![]() 心ゆくまで呑み果てた、年末年始を彩るアラフォー哀戦士の皆様、あけましておめでとう御座います。 笑ってはいけない禁忌を抑えきれず、無防備に横隔膜を揺らしたアラフォー、TeamDyquemで御座います。 いやあ、笑いむせました。 時の終わりまで夜空を彩る死鳥星。どうせなら、肉眼で観たいものですね。 ![]() 酵素事実に間違いはありませんね ![]() はい、私が分解しました 年末年始といえば、アレですよ。 プロのゲームプログラマとしてはもちろんでありますが、趣味にてもこうしてiOSゲームアプリを提供させて頂いている身。 やはりですね、スキあらば、面白いゲームを探し求めて然るべきでありましょう。 年明け一発目コンテンツとして相応しいかどうかはともあれ、今回はですね、一つ語らねば気持ちの収まらない一本に巡り会ったのですよ。 とても嬉しい一幕で御座いました。 さてさて。 ![]() 自分の記憶を辿ってみるよりも遙かに正確でありましょうが、Wikiによると1998年に発売されているらしい。 それはもう悠久の彼方。まーーー彼方。うすら笑顔もかき消える、15年前であります。 あの頃、二十代前半の僕は……。 リードプログラマたる幾つかの経験を経て、経験値を積み、中堅処として相当に調子こいていた頃で御座いましたが、NEOGEOシューティグゲームとして送り出したある作品の続編案件に心躍り、チーム一丸、不眠不休で拘った一本に費やした頃でもありました。 ゲームプログラマ一筋幾星霜。想い出を遡ること15年。 今回は。。 自分がリードプログラマとして作ったゲームの中でも、結構好きだったとある作品につきまして。 これがなんと、iOSで発売されていたのです。 驚愕の事実でした。 見た瞬間に購入。まさにジャケ買い!(85円) あんまりにも感慨深かったもので、技術的考察を派手に蔑ろとしつつ、お正月ネタとして語ってみたいと思います。 ![]() 往年のゲームが、現代の機械で動く仕組み 業界のプログラマにとってみれば当たり前の事でありますが、その仕組みは単純でありながらも実は、想像を絶する程の精細さに支えられているのです。 前提として、一般に。 過去のゲームを新しく作り直しているケースを「リメイク」。 過去のゲームを「そのまま動作させる仕組み」を、「エミュレーター」と呼称します。 前者の「リメイク」は文字通り。 新しいチームを編成し、新規にグラフィックを描き興し、新規にプログラムを作ります。 後者の「エミュレーター」をかみ砕いて説明する事はなかなかに難儀でありますが、英表現の意味通りとは言えましょう。 過去のゲームそのものを作り直しているわけではなく、「過去の機種を模写するプログラム」を作成するのです。 ものすごく難解な古文書を現代語に翻訳するのが「リメイク」だとするならば、「エミュレーター」とは、古文書に掲げられている言葉のまま、そこに記されている雰囲気も完璧に模写した舞台劇と言えるでしょう。 昨今に発売されている大抵の懐古ゲーム再現作品群は、後者のエミュレーター機構によるものであります。 これらの開発劇に見られる傾向と致しましては、作品そのものを創造しているわけでは無い分、開発がシンプルに進行している様にみられる面がありますが、実はその裏、圧倒的に低減されるコストとは引き替えに、圧倒的な技術力を持つ少数のプログラマが過去作品を正確に再現しています。 ![]() 再現度が高いのは当たり前 さー、さて買ってみました。 大昔に自分が作ったゲーム。 目頭が熱くなるほどの再現度です。 このシリーズ、当時より楽しんで頂いている方も多く、未だに2ちゃんにてスレがある程に恵まれている一本なのでありますが、そうした方々の目にも、当時のまま再現されている様でありました。 勿論、僕の目から見ても、一寸違わない再現度であります。 これは、「現代の機械で動く仕組み」にて記しました通り、その内容に関わらず「そこへ書かれている古代のプログラムを正確に動作させる」というエミュレータープログラムの完成度に依存しています。 WiiやiOSコンテンツとして発売されるにあたり、このエミュレーターそのものに対する完成度は、相当に精査された事でしょう。 「再現度」だけに注視してみれば、その高さはある意味、至極当然であると言えましょう。 しかし。 ![]() 模写を超えて いや、プレイしてみて驚きました。 当時のゲームをエミュレート(模写)するにしても、iOSにパッドやスティックはありません。まあ、よくある解決方法でありますが、タッチによってプレイヤーをコントロールする方式に組み替えます。 組み替えるったって一筋縄ではいきませんが、ここは、「リメイク」作品ならばなんとでも出来るのです。 何しろ、イチから作り直しているのですから。 エミュレーターは上記の通り古文書を正確に再現しているに過ぎません。そこに書かれている意味を考慮しない事で生産性を上げ、その内容に深く追求しない事でコストを抑えています。 しかし、だからこそ、「操作方法を変更するだけ」……これだけの介入にも、爆発的なプログラム分析力を要します。古文書の全てとは言いませんが、少なくとも該当する部分においては、それこそ100%の正確さをもって解読し、そこへ介入し、古文書全体へ破綻を来さない様、精巧な改造を施す必要があるのです。 NEOGEOのハードウェア設計図を入手し、パッド入力ポートへアクセスしているプログラムをスキャンし、バックトレースで色々なパターンを洗い出し、ついには、8方向入力を処理しているであろうプログラムを探し当てるのです。 そこから更にプレイヤーの座標処理部分を見つけ出し、タッチ処理による制御へ作り替える。勿論、当時の言葉で、です。 どこのメーカーのどなたが、移植再設計施して頂いたのかは判りません。 が、iOSによる通信プレイにまで対応して頂いており、思わず嬉しくなってしまいました。 エミュレーター管理下への正確且つ精巧な介入技術と、確かな通信系制御スキルに支えられた確固たる、ある種完成された学術的プログラマによって開発されたのでありましょう。 よくある単純エミュ移植なんていう一線を画した、確固たるプロ意識を感じざるを得ません。 iOS版移植担当の方がもしも、こんなヘンテコブログをご覧になっておりましたら是非ご連絡をw そりゃああもう、美味い酒が呑めそうじゃあないですか:D ![]() 想い出 参考 「ブレイジングスター for iOS」 ちなみに、これの前作と併せてWiiでも発売されている様です 「パルスター」 「ブレイジングスター」 「パルスター、ニコ動画いろいろ」 「ブレイジングスター、ニコ動いろいろ」 「ブレイジングスター wiki」 「シューティング初心者の成長日記」(かなり攻略して頂いているBlogよりひとつ) 上記の二作品。 当時から、そして今でも僕は、NEOGEOにおいて展開されたシューティングゲームとして、技術的に世界一であったと自負しています。 当時のリードプログラマとして、各種反論、幾らでも受けて立ちますYOm(_ _)m ご静聴、ありがとうございました。 ![]() シリーズ記事まとめ ■Aニュース、ガジェット通信 寄稿記事 「『連載.jp』寄稿「ゲームプログラマが語る「プロ棋士に勝ったAIは、タクシー基本無料化をもたらす?」」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ”買わない理由”がもたらす充足感と、開発者達の心理」」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る アップデート版に潜む開発者モラルハザード」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ソフトやアプリと携帯ゲーム課金における経済行動学」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る。新しいゲーム機が定期的に生まれる理由」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 楽しさの仕組み ゲームメカニクス」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 3Dテレビとゲームの微妙な関係 その打開策」」 「『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 無料アプリのビジネスモデルと舞台裏」」 「『Aニュース/ガジェット通信』寄稿「新発表ラッシュに見るクラウド大航海時代の幕開け」」 ■ゲーム制作初心者さん向け系 ゲームプログラマが語る。なんちゃってリードプログラマにはなるな!ゲーム造りで放棄してはいけない大切な事 ゲームプログラマが語る。今さら聞けないフレームレートに纏わる話。秒間60?16ミリ? ゲームプログラマが語る。「浮動小数点」と商業レベルで上手に付き合う方法 「ゲームプログラマが語る。ゲーム制作初心者の方へ小ネタ「クォータービュー入門」」 「ゲームプログラマが語る。「正しい乱数」が彩る確率世界とエンターテイメント」 「iPhoneアプリ、ゲーム制作初心者の方へ小ネタ「線分と円の交差」」 「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタ「2Dベクトル」」 「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタを一つ」 ■「プロのゲームプログラマとして、ゲーム製作に関する書評を」シリーズ ゲームプログラマが語る書評:「MMORPGゲームサーバープログラミング」を読んでみた ゲームプログラマが語る書評:「ゲームプログラマになる前に覚えておきたい技術」を読んでみた ゲームプログラマが語る書評:「ゲームエンジン・アーキテクチャ」を読んでみた ■個人でも出来る、マルチプラットフォーム開発関連 「ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その4」 「ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3」 「iPhoneアプリ作者が語る。マルチプラットフォーム化その2・アトミック型定義のススメ」 「ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その1」 ■リリースしました系 「PASTEL-ORBIT/TeamDyquemアプリ第19弾。ローグライク決定版「隣人は魔王」をリリースしました。」 「TeamDyquemアプリ第18段。ご当地バトルRTS「埼玉クエスト」をリリースしました。近隣の県を滅ぼそう(*-_-*) 埼玉以外でも遊べます #47app」 「アプリ新作「ネコりす マカロン」をリリースしました」 「埼玉県ご当地アプリ、「タッチ the さいたま」をリリースしました #47app」 「アプリ新作「ひよこガーデン」をリリースしました」 「TeamDyquem新作。結構真面目なアクションパズル「ネコりす」リリース」 「iPhoneアプリ作者が、iアプリ「泡リス女子部 for iアプリ」をリリースしました」 「自作iPhoneアプリ改良版、「ネコがゴミのようだネ:アーケード」をリリースしました」 「iPhoneアプリ作者が、「まりも育成」for iモードをリリースしました」 「iPhoneアプリ新作 「ナタ・デ・ネコ」 をリリースしました」 「秋刀魚は関係ないけれど、新作「i-Wishbone」リリース」 「アプリ新作「ネコがゴミのようだ」。プロモ動画をアップしてみた」 「「泡リス 女子部」、販売開始」 「AppBankにまりも紹介記事が!」 「ゲームプログラマとして参加。ご当地47都道府県アプリプロジェクト #47app」 □ビジネス系 「ゲームプログラマが語るドコモiPhoneと、インフラから合法的に大金を抜くスキーム」 「ゲームプログラマが語る。秀丸エディタのビジネスモデル」 ■SFネタ系 「ゲームプログラマがSFを語る。意識はどこからやってきて、死んで、そして何処へ行く?」 「ゲームプログラマが語る。気の遠くなるスキもない程の、宇宙の話」 「iPhoneアプリ作者が語る。流れ星に馳せる真実」 「iPhoneアプリ作者が警笛。どこでもドアの使い過ぎには注意」 「iPhoneアプリ作者が語るSETI理論。異星人さんは何処!?」 ![]() |
||