古いゲームの新しい外観

ジョイスティックのボタンの中にズームアウトボタンがあると、90年代のお気に入りのゲームがどのようになるか疑問に思ったことはありませんか? Sonic the Hedgehogゲームの熱心なファン(およびアシスタントspeedrunner )およびその現代のハック修正として、私はかつてこのトピックに興味を持つようになりました。 カットの下の詳細。







このトピックに対する私の関心は、このビデオから生まれました。







私が以前使っていたゲームはこの形式では非常に珍しく見えたので、このビデオの作者はそれをどうやってやったのだろうと思いました。 その後、彼のチャンネルで次のビデオレポートを見つけました。







いいえ、あなたは間違っていませんでした:ビデオは実際には完全に手動で作成され、フレームごとに作成者が小さな写真を適切な場所に配置しました。 もちろん、これはマゾヒズムですが、このマゾヒズムは著者の鉄の忍耐に対する尊敬と賞賛を引き起こします。



そして、私は考えました:このすべての仕事に何か意味がありますか? 実際、ゲーム中、玩具自体は常にマップの表示セクションの座標を「認識」します。 また、テーザーエミュレータを使用すると、任意のメモリ位置に簡単にアクセスし、特定のルーチンアクションを実行するスクリプトを作成できます。 独創的! ゲームプロセスの各フレームのスクリーンショットを撮り、メモリから「カメラ」の座標を読み取り、レベルマップを取得し、必要な断片を切り取り、スクリーンショットを挿入して、完成したビデオを作成するだけで十分です。



画像を操作するために、lua-gdを選択しました。これは、gdライブラリにすでに精通しているためです(PHPおよびCで作業しました)。 残念ながら、エミュレータ環境にlua-gdをインストールする最初の試みは失敗しました。定期的に迷惑なクラッシュがありました。







AnSテイザーの友人が救助に来ました(ところで、私たちの同胞)。 彼は、クラッシュはGensの最新バージョンでのみ発生し、古いバージョンの1つは確実に動作することを発見しました。 したがって、回避策として、単にGenを置き換えることが決定されました。



物事は前進しました-最初のLuaコードが作成され、レベルマップが見つかりました。 残念ながら、すべてのレベルの古典的なSonicゲームには通常のカードが存在するわけではなく、ロムハッカーだけがカードを作成する手段を持っています。 唯一の例外はSonic 3とKnucklesというゲームです。SonicExtractorプログラムを使用すると、自分でカードを簡単に作成でき、これらのカードに表示するオブジェクトと表示しないオブジェクトを決定できます。 また、時間、収集されたリングの数などを含む情報ブロックを「隠す」方法を提案した、経験豊富なTAS-erおよびromzoハッカーのmarzojrにも感謝します。



結論として-指定された方法を使用して作成されたビデオ、およびこのパッセージのオリジナル。



オリジナル







アトラスエンコード







参照資料






All Articles