はてなキーワード: アセンブルとは
FC(ファミコン)時代の大作RPG、特にドラゴンクエストIV(DQ4)のようなタイトルは、当時のハードウェア制約下でも非常に大規模なプログラムとなっています。
一般的に、FCカートリッジの容量は数十KBから512KB程度が上限で、DQ4は最大クラスの1メガビットROM(128KB)を採用しています。
この容量にはプログラムコードだけでなく、グラフィック、サウンド、マップデータなども含まれるため、純粋なプログラム(アセンブリコード)のみの行数や文字数は公表されていませんが、推定することは可能です。
- アセンブリ言語で記述されるFCソフトのソースコードは、1行あたり平均20〜40文字程度
- DQ4クラスの大作では、数万行規模(例:2〜5万行以上)のアセンブリコードになると考えられています
- 文字数換算では、数十万文字以上に相当します
参考事例
この規模感が、全挙動の解析や文書化が膨大な労力となる理由の一つです。
仮に1日300行のアセンブリコードを書いたとしても、数万行規模のFC大作RPGでは何ヶ月、場合によっては1年以上の開発期間が必要になります。
しかも、実際の現場では「書く」だけでなく、バグ修正・デバッグ・仕様変更への対応・最適化など、膨大な「やり直し」や「手直し」も日常茶飯事でした。
「会社に泊まりこみで作業し、眠くなれば床に転がって寝て、起きたらそのままパソコンの前に座るという状況だった。...自分たちが仕込んだストーリー(プログラムとデータ)が、『そのとおりになっているか』を延々と繰り返して確認するというデバッグ作業は、一定の期間を超えるとほんとうに精神的に拷問化するほどキツいのだ。」
このように、若さと情熱、そして「絶対に完成させる」という強い意志で膨大な作業を乗り切っていたことが、当時の開発者たちの共通したエピソードです。
昔懐かしい初作をもう一度見たくてYoutubeで動画を探していた。
「未プレイからアーマードコアシリーズ全てをクリアするぞ」という配信だったので、当然だけど操作を覚えるところからスタートしている。
コメ欄になんか書いたりはしなかったが、増田で「正直もうちょっと予備知識付けてからやってほしい。イライラする。」ぐらいは書いた気がする。
そしてアーマードコア6発売。
発売日に買って中盤ぐらいまで自力で進める。
ある程度進めたので、飯食いながらYoutubeでアーマードコア配信動画などを漁る。自分がクリアしたところまでは見てみようかなぁ、と。
すると上記の見ててイライラしたVtuberが配信している。見てみる。
驚いた。
素直に言って俺よりよく動けてるし、アセンブルに対しての理解度は彼女の方が圧倒的だった。
俺が20回はリトライした壁越えも数回でクリアしてるし、俺が50回はリトライして武器ヒントを見てごり押ししてようやく倒したバルテウスも彼女はまあまあ自力でもっと短時間でクリアしてた。
俺の負けだわ。
俺はそんなに簡単にアリーナで忍者倒せなかったし、シースパイダーも自分のアセンを貫き通して倒すことはできなかった。攻略情報パクッてごり押しして勝つことしかできなかった雑魚レイヴンだよ。
大変申し訳ありませんでした。
一応、Xの利用規約を貼っておくが、利用規約には違反している。法律については専門家ではないので分からないが日本だと「不正アクセス防止法」に該当しそうな気がする。
ユーザーは、当社より本サービスへのアクセスとその利用について許諾を得ることの対価として、当社ならびにその第三者プロバイダーおよびパートナーが、本サービス上に広告を掲載すること、またはコンテンツもしくは本サービスから得られる情報(その提供者がユーザーであるか他者であるかを問わず)の表示に関連した広告を掲載することに同意するものとします。ユーザーはまた、たとえば当社のサービスの妨害や当社が提供するインターフェースおよび手順以外の方法を使った当社のサービスへのアクセスにより、当社のサービスの不正利用をしないことにも同意するものとします。ユーザーは、適用される法令が明示的に許容する範囲のみを除き、本サービスの一部としてユーザーに提供されるソフトウェアの技術的制限を回避したり、ソフトウェアのリバースエンジニアリング、逆コンパイル、逆アセンブルをしたりしてはなりません。ユーザーは、本サービスへのアクセスまたはその使用中に、次のいずれも行ってはなりません。(i)本サービス、当社のコンピュータシステム、または当社のプロバイダーのテクニカルデリバリーシステムの非公開部分へのアクセス、不正な改ざんもしくは使用、(ii)システムもしくはネットワークの脆弱性の探索、スキャンもしくはテスト、またはセキュリティもしくは認証方法の侵害もしくは回避、(iii)当社から提供される(かつ該当する利用条件に従う場合にのみ提供される)、当社の現在利用可能な公開インターフェース以外の方法(自動プログラムか否かを問わない)での、本サービスへのアクセスもしくはその探索またはアクセスもしくは探索の試み(ただし、当社との個別契約で特に許可されている場合は除く)(注: 本サービスへのクローリングは、robots.txtファイルの定めによる場合は認められていますが、当社による事前の同意がないまま本サービスのスクレイピングをすることは明示的に禁止されています)、(iv)電子メールもしくは投稿でのTCP/IPパケットヘッダーまたはヘッダー情報の一部の偽造、または方法の如何を問わず、改ざんされた情報、詐欺的情報もしくは情報源を偽装した情報を送る目的での本サービスの利用、または(v)いずれかのユーザー、ホストもしくはネットワークのアクセスの妨害、または遮断(もしくはその試み)(本サービスへのウィルスの送信、オーバーロード、フラッディング、スパミング、メールの大量送信、あるいは本サービスを妨害したり過度な負荷を与えたりする方法でコンテンツの作成をスクリプトすることを含みますが、これらに限定されません)。当社はさらに、(i)適用されるすべての法令、規則、法的手続や政府の要請へ対応し、(ii)本規約を実施し(規約違反の疑いがある場合の調査を含みます)、(iii)不正利用、セキュリティもしくは技術的な問題を検知、防止もしくはその対処をし、(iv)ユーザーからのサポート要請に対応し、または(v)Twitterやそのユーザーおよび社会全体の権利、財産もしくは安全を保護するために、当社が必要であると合理的に判断する一切の情報について、アクセス、閲覧、保存、および公開する権利を留保します。当社は、当社のプライバシーポリシーの定めによる場合を除き、個人識別情報を第三者に開示することはありません。
お絵描きやプログラミングなど、創作系の趣味において、自分が欲しいものがなかったり、あっても不満だったりすると、「自分で作ってしまおう」というのは一番ありがちな動機
自分で作ろうと思った時に選択するツールがアナログ画材なのか、液タブなのか、AIなのかの違いなんてその時点での目的の達成しやすさの違いでしか無いじゃん?
曲作りたいなら打ち込みかもしれないけれど、モテたいが目的なら自分でギターを弾くじゃん?
手作業の温かみなんて求めてハンドアセンブルで手動最適化なんてせず、コンパイラの自動最適化のほうがよっぽど高度に最適化してくれるじゃん?
アーマード・コアシリーズの新作、ARMORED CORE VI FIRES OF RUBICON が発表された。
この10年近くずっと新作を待ち続けていたので本当に楽しみだし、たくさん売れて評価されて、今後も新作が出続けてほしい。
そこで、アーマード・コアをよく知らないけど少し興味がある、という人に向けてシリーズの紹介をしたいと思う。すでに同じような記事が出ているけど、こういうのはいくつもあって良いだろう。
3人称視点の3Dアクションゲームで、プレイヤーはアーマード・コア(AC)と呼ばれるメカ(ロボット)を操縦して戦う。公式にはジャンルは「3D戦闘メカアクション」とされている。
(ゲームとしてのアーマード・コアとゲームに出てくるメカとしてのアーマード・コアを区別するために、以下ではメカの方をACと書くことにする)
ACはコアと呼ばれる胴体を中心に、頭、腕、足(人型以外にも色々な種類がある)や武器、動力源のジェネレーター、高速移動用のブースターなど様々なパーツを組み合わせて完成する。完成済の機体の中から選んで操縦するのではなくて、たくさんあるパーツの中から自分で選んで組み上げた(アセンブルした)機体を操って戦う、というところがこのシリーズの大きな特徴。
主人公(プレイヤーの分身。名前も自分で決める)は金銭を対価に依頼を受けて戦う傭兵で、色々なミッションをこなして金を稼ぎ、稼いだ金でパーツを購入して機体を強化し、また次のミッションに向かう…というのがゲームの基本的な流れ。ミッションの他に、AC同士の一対一の対戦で賞金を得られるアリーナがある作品も多い。
先日公開された IGN のインタビュー (https://jp.ign.com/armored-core-6/64541/interview/armored-core-vi) から宮崎氏の言葉を引用する。
『ARMORED CORE VI』の開発がどういう形で始まって、どういう狙いがあったかというと、まずは「ARMORED CORE」シリーズ従来のコアコンセプトである、自分の機体を自由にカスタマイズできるアセンブルと、それを自由に動かせることになります。
アーマード・コアの核となる部分はまさにここなんだけど、これだけだと未経験者はイメージできないと思うので、もう少し詳しく説明する。
前提として、ACのパーツには「これを選んでおけば最強」というものは基本的にない。どのパーツにも個性があって、選んだパーツやパーツの組み合わせによって機体の動きの特性や得意な戦い方が大きく変わってくる。
防御力の高い機体で真正面から敵と撃ち合っても良いし、動きの速い機体で敵を翻弄しながら戦ってもいい。遠くから狙撃するスタイルの機体を組んでもいいし、近接武器メインの機体で敵を切り刻んでもいい。
ミッション一つ一つにも機体の向き不向きがあるので、攻略するために状況に合わせて最適なアセンブルを考えていくことも必要になってくる。もちろん、自分の考えた最強の機体で最初から最後まで戦い抜いても良い。プレイヤーごとに様々なスタイルがあり得るし、様々な遊び方がある。
また、ACのアセンブルではただパーツを選ぶだけでなく、機体を好きな色に塗装したり、エンブレムを貼り付けたり、名前を付けたりと、機体の性能に関わらない部分まで細かくカスタマイズすることができる。そうやって隅々までこだわって完成したACは自分だけの唯一無二の機体で、そしてそれを自由に操って戦場を駆け回ることができる。これがとても楽しく充実感があって、他のゲームでは代えがたい魅力だと思う。
シナリオクリア後には全てのミッションを再度プレイできるようになるので、最初はガチガチの攻略用機体でさっさとクリアして後から好きな機体で趣味に走ってもいいし、クリア後はひたすら他のプレイヤーとの対戦に没頭しても良い。
一周クリアしたからもう遊び尽くした、おしまい、とはならないのもこのシリーズの特徴だ。
こういう戦法で戦いたい、好きな武器を撃ちまくりたい、見た目がかっこいい機体で戦いたい、他作品に出てくる好きなロボットに似た機体を作りたい、操縦が難しい機体を上手く乗りこなしたい、あえて自分で制限を加えて縛りプレイを楽しみたい、他プレイヤーとの対戦に勝ちたい、などなど、色々な遊び方にアーマード・コアシリーズは応えてくれる。そこが本当に面白くて楽しい。
これに関してはすでに IGN のインタビューでも語られているが、大前提としてソウルシリーズはアクションRPGで、アーマード・コアシリーズは戦闘メカアクションだ。
基本的な操作方法から世界観に至るまで全然違う。飛び交うのは矢や魔法ではなく銃弾やレーザーだ。とはいえ、同じフロム・ソフトウェアが作っているのでフロムゲーに共通する要素は見られるし、ゲームシステムにも似通った部分はある。
例えば、ACのアセンブルはソウルシリーズのキャラメイクと似ていると言えるかもしれない。
キャラクターが装備する防具のようにACにはフレームパーツ(頭、コア、腕、足)があるし、剣や弓、魔法や祈祷はACでは武器パーツになる。ソウルシリーズでキャラビルドを突き詰めるのが好きな人はきっとACのアセンブルも楽しめるだろう。
キャラメイクの際に外見にこだわり抜いた経験がある人はACのカラーリングやエンブレム作成にハマるかもしれない。
もちろん異なる点もあって、例えばアーマード・コアシリーズにはレベルアップの概念がない。同じアセンブルの機体は常に同じ性能で、レベルアップするのは操縦するプレイヤーの腕前だけだ。
この他にもシビアな世界観や多くを語らないストーリーテリングといったフロムゲーによく見られる特徴があるが、挙げていくときりがないのでこのくらいに。
そんなことは全くないので安心してほしい。シリーズが長く続く中で世界観やゲームシステムが何度かリニューアルされていて、分類すると以下のようになる。
系列が異なる作品にストーリー上のつながりは無いので、例えば3系だけプレイしても十分に楽しめる。(初代系と2系のように一部世界観がつながっているものはあるが、ストーリーを追いかける上では知らなくても問題ない)
なお、ここに挙げたのは据え置きゲーム機のタイトルのみで、他に PSP や携帯電話(スマホ以前のガラケー)向けのタイトルも存在する。
新作のACVIでは世界観からゲームシステムまですべて一新されることが(今出ている情報だけからでも)分かっているので、シリーズ経験者もVIからのプレイヤーもスタートラインは横並びになる。VIから始めても全く問題ないはずだ。
とはいえシリーズ全般に通用する基礎知識というものはある程度存在するし、過去作も面白いので気になったらぜひプレイしてみてほしい。
ぜひプレイしてみてほしいと書いたものの、残念ながらどの作品も動作するハードが旧世代機になってしまっているので、2022年現在だとそもそも過去作をプレイする環境を用意するのが難しくなってしまっている。
手元にある(あるいは手元に用意できる)ゲーム機で遊べるタイトルがおすすめ。機種別だと、最初にシリーズに触れる作品としては
が個人的におすすめ。これに限らず気になった作品から手を付けても大丈夫だけど、同じ系列の中で後発の作品は前の作品をプレイしていることを前提に難易度調整されていたり、前の作品とストーリー上のつながりがあるものがある。
そのため、3を飛ばして3SLから始めたり、NXを飛ばしてLRから始めるのはあまりおすすめしない。(ストーリーに関しては作品ごとに単体で完結するので、その点は安心してほしい。ただ、同じ系列の中であれば前作をやっておいた方が後の作品をより楽しめる)
ちなみに、PlayStation の初代アーマード・コアは古い作品なので今遊んでも面白くないかというと、全くそんなことはない。
アーマード・コアというゲームの基本はシステムの面でも、世界観の面でもほぼ全てこの1作目の時点で完成しているので、古いゲーム故のグラフィックの粗さが問題ない人はぜひ触れてみてほしい。
フロムのIPのなかで最もその条件を満たしやすいのがアーマードコアだった。
なにせ元のゲームシステムがそもそも3Dフィールドを自由に飛び回るものなのだ(特に4系はその傾向が強かった)。
ソウル系などと違い、フィールドに対してどの方向から攻め込んでもいいノンリニアなミッションを(ある程度は)実現できていた。
そのフィールドを際限なく広げていくだけで優れたオープンワールドになる。
あとはミッションの開始をシームレスにしたりハクスラ要素を付け足したり昼夜の概念などを導入するだけでいい。
相棒のACに乗って広大な世界を旅しながら次第に企業間戦争に巻き込まれていくゲームプレイを容易に思い描くことができる。
が、すでにAC6はオープンワールドではないと明言されてしまった。
アーマードコアのオープンワールド化はシリーズのリブートに相応しい変革となったであろうに。
非常に残念だ。
そもそもDXMはオープンワールドとして設計されてないし、個人的にもDXMは普通に楽しんだので分からないな。
私がAC系でいちばんストレスを感じるのは「移動してるうちにすぐ戦場の端にぶつかること」なので、
戦場が広いDXMはストレスが少なかったし、「戦場の端」が存在しないオープンワールドは最高だと思う。
「フィールドが広すぎて移動がだるい」は移動システムやイベント密度の問題だよ。
むしろ「ジェネレーターを変えれば長時間飛行できるが戦闘では不利」とか「ブースターを変えたら今まで飛び越えられなかった崖を越えられる」とかのほうが面白そうだろ!
というか「どこまで飛び越えられるのかを開発側で計算したい」みたいな考えはオープンワールド開発では捨てろってことなんですよ。
それは結局「ゲームの都合のためにプレイヤーの行動を制限する」という発想から抜け出せてない。
オープンワールドはシチュエーション的ロープレとしては価値がでるけどアクションゲームとして価値をだすのはBotW級に0から練り込まないと難しい
スパイダーマンやれ。
オープンワールドってむしろオンオフがあったほうがいいと思う。
そこでハクスラですよ。
移動速度は遅いけど積載量が大きいだとかで差別化できるでしょ。戦闘では有利とか行商人プレイしやすいとかさ。
それならHelloWorld表示プログラムをハンドアセンブルして書き込めばいいので頑張れば達成可能な気がする