投稿

ラベル(LandStalker)が付いた投稿を表示しています

SG-1000II in Land Stalker ~ SEGAハード改造記(5)

イメージ
SG-1000II in Land Stalker 初めに 「コレは何だ?」と首を傾げる方も多いと思います。 タイトルにあるSG-1000IIとはどの様なハードかと言うと、 SC-3000のゲーム部分のみを切り出したのがSG-1000。 それのマイナーアップグレード版という位置付けです。 その、SEGAが40年近く前に発売したゲーム機をメガドライブのカートリッジケースの中に収めたという代物です。 つまり、本来は「SG-1000II in Mega Drive/Genesis Cartridge Case」が正式名称になる気がしますが、気にしません。 単に収めただけじゃ面白くないので、ちょいとアレンジした部分を挙げると ・電源供給はUSB Type-C ・映像出力は大好きなS-Video ・音声出力はRCAピンプラグ(モノラル、つまり左右同じ) ・カートリッジスロットとは別にマイカードスロット搭載(カードキャッチャ不要!!) ・コントローラ端子は1Pのみ と言った感じです。 本来備わっている電源スイッチとポーズボタンも装備させたので、 完全にメイン機として稼動出来る実力が有ります。 以下の作成記を読めば分かって頂けるかと思いますが先に言っておきますと、 これは互換機では有りません 。 とてもじゃないですが互換機を作る実力なんて有りません。 SG-1000IIの「ガワと基板を交換した」だけの代物と言えます。 かつて作ったS-Video回路を移植、MarkIIIからマイカードスロットを移植と、 色々とアレンジを効かせて有りますが、基本的にはSG-1000IIのパーツで構成されています。 きっかけは SG-1000IIの前期ver.のC-Video出力、後期ver.のS-Video出力、 後期ver.のDRAM交換修理(中期ver.から移植)等をやっていて思いついた事は 「コレ要するに数個のICと入出力を繋いでるだけか…SG-1000II Miniとか作れそうだなぁ」 でした。 それ以前にMarkIIIの電解コンデンサー全交換をした時には 「カスタムチップは性能はさておき形状は1000IIの後期と同じ…DRAMが違うだけか…」 とも考えていました。 つまり、昨年末~今年の初め頃には既に構想は薄っすらと頭の中に出来始めました。 世間一般受けを狙うなら間違い...

ランドストーカー on JavaScript作成記(4)

イメージ
ランドストーカー on JavaScript作成記(4) 初めに 前項の作成記(3) の最後で持上げ状態での移動モーションを作りました。 次は、置きモーションの仕上げと投げモーションです。 その前に背景オブジェクトの重ね合わせをどうにかすべく、 背景オブジェクトをNPC等と同じくスプライトに 変えようと作り変えを開始します。 試行錯誤を続けているうちに、スプライト描画が正しく行われるのが2x2までだった、という驚愕の事実が判明しました。 描画関連を全面改修するのが面倒になり、 移動可能オブジェクトを含むNPCにも重力を持たせる方向へと舵を切ります。 相変わらず進行方向が定まってませんが、フラフラと進んで行きます。 NPC/オブジェクトに重力処理を追加 置きモーションの仕上げと、その次の投げモーションに絶対に必要に成る重力の処理を作ります。 前項の作成記(3) に記述した通り、オブジェクトを置く動作とは ライルの前方の高さ三段目の位置に設置する事です。 通常であれば自由落下開始し、下に何かあればそこに乗るわけです。 落下する為には、重力の処理が必要ですね。 基本的にはライルの重力処理を流用すれば良いでしょう。 置きモーションの仕上げは、重力処理を書けば完了します。 持上げ可能オブジェクトは、全てNPCと同じ扱いにしてあります。 スプライト描画用のimageファイルを分ける都合で、 NpcClass初期化時に渡される種別パラメータが1000未満 の場合は人物や動物等の通常NPC、 種別パラメータが1000以上2000未満の場合はアイテム等のオブジェクト、 という感じで分けてます。 つまりNpcClassに重力の処理を書けば、NPCとオブジェクトの全てに重力が追加されます。 ほぼRyleClassからコピーしただけですが、書いてみたコードがコチラです。 いま読み返してみると、このコードはライルを考慮に入れてませんね。 NPCやオブジェクトが上から降ってくる場合には、ライルに突き刺さるでしょう。 そしてこのコードでどう変わったか、教会で試してみます。 本物っぽいですね。 上に乗ってる物が少し遅れて落ちる所なんか、まさに本物っぽいですね。 そして、NpcClassに書いたという事は通常のNPCにも重力が出来たはずですので、試してみます。 ベルが階段をトント...

ランドストーカー on JavaScript作成記(3)

イメージ
ランドストーカー on JavaScript作成記(3) 初めに 前項の作成記(2) の最後に書いた稀有な経験の興奮からやっと醒め、 作成を続けます。 ツイートでは、NPC・BG切り替え・Z方向の当たり判定と言ってますが、 天啓でも有って突然レベルが上がったりしない限り、 いきなりそんなモノを作れるワケも無いです。 さて、どうしましょうか。 影を試す 内藤さんにRTされて以降、 色々なランドストーカーに詳しい方にフォローされました。 それに触発されて再びゲーム自体を調べ始め、 かつてのゲームレビューや感想を検索で読んでみたりした所、 当時もちょっと気に成った「影問題」に当たりました。 影問題とは、ライルや他のスプライトに影が無く、 位置関係の把握が困難という意見です。 個人的には影が無い事は全く気に成らなかったのですが、 物は試しと言う事で作ってみます。 元々のゲームの中にはスプライトやオブジェクトの影が一切無いので、 何となく適当に作ってみました。 ライルのモーションの画像の中に仕込んでみました。 次はコードを書きます。 コードを書くと言っても、 ライルのモーション(影のみのヤツ)を先行で一回描画するだけです。 まずは実際に描画させて画像の中の影の位置を微調整します。 次は影が落ちる高さの演算です。 と言っても、ライルの重力処理で使ってるモノが そのまま参照出来るので、特に新たに書く必要はありません。 そんなこんなでアッサリ出来た、本家のランドストーカーに無かった新要素・影の有るライルです。 分かり易いように動画ではジャンプ力を強化し、途中から速度を半減、30fpsで動かしてます。 「速度を下げねェと分からんって、やっぱ要らねェんじゃ・・・」 と思いましたが、動く足場とかにも影が有れば少しは難易度が下がったのかも知れないので、影派の人達の言うことも一理有るかな、という感じですね。 実際、速度を下げた場合は位置関係を把握し易くなってます。 NPC作成を開始 遂に逃げる先が無くなって追い込まれました。 村の全景と個別の建物が出来たんで、もうNPCを作るしか無いです。 NPCとはゲーム用語で、Non Playable Characterの略・・・と思ってますが、合ってますかね。 まあ要するに自分の意思と無関係に動くキャラクターです。 RPGには付きモ...

ランドストーカー on JavaScript作成記(2)

イメージ
ランドストーカー on JavaScript作成記(2) 初めに 前項 のランドストーカーのウォーキングシミュレーターを更新し続け、 無人のメルカトルの町を歩くという、個人的には爽快な所まで行けました。 町の南側から港に向かう際に必死に誤魔化してますが、 レイヤー処理、要するに背景とライルの重ね合わせの処理が出来ていません。 通常の2DのRPGでは 「この部分はメインキャラクターより手前」 「この部分はメインキャラクターより奥」 と決まっている事が多いです。 しかしランドストーカーは、描画こそ2Dですが内容は3Dですので、 何らかのオブジェクトに対し 「ライルが手前なら手前、ライルが奥なら奥」に描画する事で奥行きを表現しています。 ゲーム開始直後のマサンの村で言えば、村長の家の前の広場に有る謎の石像、各種建物、竹製っぽく見える柵などです。 上の画像を見るとライルの描画されている絶対座標はホボ同じですが、 右のライルは手前に描画されていて、 左のライルは奥に描画されています。 カメラから見ると右のライルは石像よりも手前でジャンプしてるので、石像よりも手前に描画されます。 同様に左のライルも、カメラから見ると石像より奥に立っている為に、石像よりも奥に描画されます。 ゲームを操作しているプレイヤーの視点で考えると、至極当然な見え方です。 つまり全てのスプライトは高さを持つBGオブジェクトに対し、手前か奥を判別して描画する順番を変えているわけです。 コレを作らないと、キャラクターを普通に動かすというとりあえずの目標に届きそうに有りません。 HTMLやCSSでレイヤーと言えば、z-indexです。 コレを動的に書き換えれば良さそうです。 早速コードを書いて実行してみましたが、何故か動きません。 色々と考えて色々と試してみましたが、どうにも動きません。 そんな時は検索。 色々と調べていて、ふと検索ワードを変えてみました。 「JavaScript ゲーム」 遂にCanvasを使い始める そのワードで得た検索結果に、 JavaScriptで作ったゲームやJavaScriptでのゲーム製作講座等がありました。 最初の方にシューティングゲーム製作の講座のyoutube動画が有ったので、何かの参考になるかなと徐に観始めます。 以前からゲーム関連の話題で 「ゲー...