【68000】メガドライブ用ソフト開発 3本目【Z80】 (343レス)
1-

207: 2020/01/11(土)21:17 ID:3std0Lho(1) AAS
キャラクタエディタの必要性がかなり高いなぁ。
出来ればハイライトシャドー対応したものを。
こっちも自分で作るしかないかなぁ。
208: 2020/01/11(土)21:35 ID:Q4xIlzgA(1) AAS
キャラごとにハイライトシャドーを駆使すればかなり色数かせげるのに…
って思ったことあったけど実際問題これは実用的なものとして可能なの?
どこもやってないから気になってた
209
(2): 2020/01/12(日)02:50 ID:g9rk6XQD(1/4) AAS
トイストーリーではかなり駆使されてるみたい。エンディング中ではMAX171色同時表示になるらしいから。
あとはシャイニングフォースで移動可能領域が点滅するのはハイライトシャドーを使ってるみたい。

ハイライトシャドーを指定する方法はVDPレジスタでハイライトシャドーモードを有効にする。
その後でカラーパレット3番14色目で描かれたスプライトを重ねるとその部分がハイライト状態になる
3番15色目で書かれたスプライトを重ねるとその部分がシャドー状態になる。

だからマスクでスプライトを使うから枚数が減るっていうのとマスクパターンが必要になるって事で
スプライト枚数とマスクパターンでメモリを使ってしまうってのが有るね。
このマスクパターンが横並び制限の対象になるかどうかはまだ実験してないから不明。

一番大変なのが色の管理。ノーマル状態でRGB各階調は3bitで0〜7になるんだけど、
シャドー状態は0.5刻みで0〜3.5の明るさ。ハイライト状態は同じく0.5刻みで3.5〜7の明るさとなって
ハイライト状態の0とシャドー状態の7が同じ明るさになったり、
ノーマル状態の1とシャドー状態の2が同じ明るさだったりと階調と実際の明るさが把握しにくい。

だからキャラクタパターンエディターを作って簡単に管理出来ればなぁと。
当時の開発機材の問題もあるかもね。
PC9801だと16色だからハイライトシャドー分の色が表示できないからイメージが出しにくいとか。
210: 2020/01/12(日)19:54 ID:b1nADZ2V(1) AAS
SGDK使わなくても作れるのですか
調べてもアセンブラーで解説しているサイト見当たらないから
ここでの発表が楽しみです

>>209
色数増加はエクスランザーでも強調されていたけど
何だか全体的に薄暗い感じしていまいちに見えました
211: 2020/01/12(日)21:36 ID:9V0OQ4uS(1) AAS
>>209
ハイライトとシャドーってそんな機能だったのか!
有効利用するにはパレット管理とゲームデザイン次第ですね。
212: 2020/01/12(日)22:35 ID:g9rk6XQD(2/4) AAS
エクスランザーの発色強化はハイライトシャドーに加えて
多分フレーム毎にパレットの色を変えて中間色のように見せかけてるんじゃないかと。
その見せかけてる色も含めての同時発色なんだと思う。フレーム毎のパレット書き換えがめちゃくちゃ激しい

トイストーリー他
動画リンク[YouTube]


エクスランザー
動画リンク[YouTube]


海外製ゲーム?
動画リンク[YouTube]

213: 2020/01/12(日)22:40 ID:g9rk6XQD(3/4) AAS
英語だけどハイライトシャドーの説明してる。画像だけでもたぶんイメージはつかめるかな。
動画リンク[YouTube]


途中でトイストーリーの虫食いのような画像が出るけど、黒い部分がマスクパターン。
変態技術としか言いようがない…。
214: 2020/01/12(日)23:36 ID:G7JleI3t(1) AAS
>マスクでスプライトを使うから枚数が減るっていうのとマスクパターンが必要になるって事で
>スプライト枚数とマスクパターンでメモリを使ってしまうってのが有るね。

これはかなりのデメリットだね
気軽に色数を増やすためには使いたくないかも
215: 2020/01/12(日)23:49 ID:g9rk6XQD(4/4) AAS
本来はその名通り影とスポットライトに使う物だからね。
副産物として色数が増えてるってだけ。
216
(1): 2020/01/13(月)11:09 ID:KKht5foM(1/4) AAS
フリー素材としてキャラクタを提供してくれてる人に連絡が付いたから主人公をMDで表示する作業を進め中。
ただ・・・元の素材がPCを基準にした大きさだからMDで使うにはかなり大きい。
その辺りの事はすっかり忘れてた。でもアクションが可愛いからそのまま使おうかと。

ちなみにサイズは・・・64x96・・・立ち絵だけで画面の高さ半分近く。
これを基にアクションゲームを作るとなるとかなり難しくなるな。

31色のBMPを15色に減色かけて更にMDの色階調に合うように変色したのち
64x96の枠に収まるように位置調整して切り取った後でBMPからMDのパックドピクセルに変換して・・・。

本当は減色をかけずにハイライトシャドーで対応しようかとも思ったけど、
キャラサイズが大きくてマスク分のパターンを定義するとパターン書き換えでは対応できなくなりそうだから止めた。

DMAで転送できるのはV_INT1回あたり約7KB。96x64=6144ドット、2ドットで1バイトなので3072バイト。
スプライトアトリビュート640バイト、パレット128バイト、横ラスタスクロール1024バイトも毎回転送を行うのでこれで約5KB。
スクロール時に背景の書き換えも行うけど、こちらは途切れ途切れになるからDMAは使えず、余裕持たせる必要もあるし。

結構ギリギリっぽい。・・・しっかし・・・久しぶりにドット絵なんてやったから・・・目がチカチカするw
217: 2020/01/13(月)16:57 ID:S/vLcibI(1) AAS
せっかくオリジナルゲーム作るのに
フリー素材はもったいないな
218: 2020/01/13(月)20:09 ID:KKht5foM(2/4) AAS
その辺りは難しいところ。例えば勝手移植の場合だと画像も音声も素材は揃ってて
プログラムをひたすら組んでいけば何とかなる。あとは根性のみ。

一人でゲームを作ろうとするとキャラを書いてドット絵に直して登録して、作曲してデータ化して、って
プログラムまで行きつけないんだよね。

フリー素材ではあるけど作者さんと連絡が取れて、
足りないパターンはフリー素材としてだけど追加すると言ってくれてるので使わせてもらう事にした。
まさかのメガドライブという事で驚いてたけど。
219: 2020/01/13(月)20:13 ID:KKht5foM(3/4) AAS
そもそも「絵心?作曲?何それ、美味しいの?」ってレベルの人間だからねぇ。プログラムに集中したい。
主人公は女の子なんだけど、これは単にPCMで喋らせた時に映えるんじゃね?と言う考えから。
PCMもBGMを鳴らしながら綺麗に喋らせられるであろう方法はある程度浮かんでいるので。

曲は・・・最悪クラシックでも持ってくるかとw
220: 2020/01/13(月)22:05 ID:wa06kces(1) AAS
フリー素材でも何かをリスペクトしたゲーム(結果Rタイプとパルスターくらい似てても)でも
堂々と公開できるもんのほうがええよw
そりゃ人気作品を完全トレースすれば注目もあびて気持ちええかも知れんが
ゲームに合うフリー素材を探すのも作者のセンスだぜ!
221: 2020/01/13(月)22:11 ID:KKht5foM(4/4) AAS
今回のは多分キャラの大きさに合ったゲーム作りになりそう。
そもそもゲーム機なんかでゲームを完成させた事なんてないけど。

変換ツールとかはWindows上で動くフリーのCを見つけたからそれでちょこちょこやってく。
222: 2020/01/14(火)00:30 ID:pfYYtPc1(1/2) AAS
今キャラパターンをデータに落としているんだけど主人公だけで132KB(1Mbit以上)食ってる。
そりゃ当時こんなことできんわな。スプライトを大きな四角で取ってるから、
スプライトの使用枚数を増やしてでもパーツ毎に切り離せばサイズは小さくできるけど、
DMAが間に合う限り大きなままで行こう。

完全にキャラクタが出来上がってないと修正するのが面倒だし。
223: 2020/01/14(火)21:11 ID:xJjvTEi7(1) AAS
話はそれるが
改変を許容してるフリー素材画像の制作者は本当に寛大だと思う
224: 2020/01/14(火)21:39 ID:pfYYtPc1(2/2) AAS
それは本当にそう思う。キャラクターのイメージが崩れるからねぇ。
加工OKでパレットの変更もOKだそうで。特にPCで書いた画像って256色が基準になってるから。
MD用にすると15色で一気に落ちるし。今回は原画が31色だったのでギリギリまでイメージを壊さずに15色に落とし込んだつもり。

とりあえず、MDで表示してみた。まだ全く動かず、どのぐらいの大きさになるのかイメージを取りたくて。
画像リンク


スプライト自体は32x32を6枚で64x96。画面に映すまでは大きすぎかな?とは思ったけど案外行けそうなサイズだった。
多分フラッシュゲームなんかではよくあるRUN系?と言うのかなあんな感じのゲームを作ってみようかなと。

元ネタです。
外部リンク[html]:www.maroon.dti.ne.jp
225: 2020/01/17(金)00:05 ID:wuIYJwdN(1) AAS
何時までも妙な背景色のままでもイメージが取りづらいから水色から白までの7色グラデーションにしたら
やっぱり階調不足なのか色の境目が目立つ。

そこで境界線をフレーム毎に上下にブラして中間色に見せかけられるか試したけど、
結構きれいなグラデーションになってくれた。ただ若干ながらフリッカが見える。

これをエミュ上で実行するとPCの負荷によって一瞬60fpsから落ちるとその瞬間だけ元の縞模様に・・・。
あとエミュによってはそれでは済まずにエミュの中の68Kがアドレスエラーを起こして止まる。
実機ではならないようだからエミュ特有の問題っぽいんだけど。

とりあえず、今あるドット絵のパターンは全て変換できたので土日の家にパッドに合わせて動かせるようにはできるかも。
226
(1): 2020/01/19(日)01:19 ID:AhvclqDZ(1) AAS
キャラの大きさといえば
龍虎の拳や豪血寺一族、バーチャファイター2は
元のより小さくて残念でした
背景は元に近い感じだったから更に小人化したように見えたのも
227: 2020/01/19(日)09:45 ID:1X71V7Rp(1/2) AAS
頭の中で単純に320x224に対して64x96のパターンを表示すると横に対して20%、縦に対して42%を占める。
あれ?大きすぎじゃね?って感じ。実際には64x96と言っても余白が有るからそこまで大きくは見えないという。

キャラクタを提供してくれてる作者に敬意を示す為にまずはクレジット表記する為の文字キャラを作り中。
そっちが完成したらキャラがとりあえず動くだけのプログラムを出せると思う。

予定では今日なんだけどねぇ。
エディタで表示してるパターンと実機の画面での差異があるからそれが気になる所。

とりあえず頑張ってみる。
228: 2020/01/19(日)16:04 ID:1X71V7Rp(2/2) AAS
よくよく考えてみると全部自力でやるとなると画面に文字を出すだけで
それ用のルーチン組まなければいけないんだった。なんか色々と忘れすぎてるな。

クレジット表記するぞ!と思ったらまずはBG面の初期化(消去)、スクロールポートの初期化、
パレットの設定、座標をワークRAMに用意したBG用フレームバッファのアドレスに変換、
BG用フレームバッファに書き込み、V_INT待ち、VINT中にフレームバッファをVRAMにDMA転送。

やる事あり過ぎる。
229
(1): 2020/01/19(日)23:24 ID:W2pe8A/I(1) AAS
サウンドドライバはどうするんだろうと思ったり

>>226
とは言え容量が少ない中でキャラの大きさを維持しようとすると
サムスピみたいな悲劇が起こるしなぁ…
230: 2020/01/20(月)00:04 ID:IY9BWQ5u(1) AAS
>>229
サウンドドライバの方は大まかな構想は出来てるから、
実際に実験してその構想が通用するかどうか試す予定だけど、
ウィンドウに文字書くだけで丸1日使ったレベルだから先が長いわ。

基本的な文字パターンの登録がようやく終わって画面に文字が出せるようになった。
アルファベット大文字小文字平仮名片仮名その他記号で254文字。

画面に文字が出るだけで雰囲気が一気によくなる。

Lv1上がった!メガドライブの重要な機能の一つウィンドウの使い方を覚えた!
231: 2020/01/22(水)06:36 ID:JC5cwXxX(1) AAS
本業?が忙しすぎて思考が回らずプログラム停滞中。期待してくれてる人が居たらごめんなさい。
動作モーションの処理とか紙に書いて仕様の設計は進めてるんだけど。

慣れないアセンブラでそっちにも苦戦してたり。
232: 2020/01/27(月)06:52 ID:v/Ez2uUV(1/2) AAS
土日でせめて女の子が動かせるようになればと思っていたけど、デバッグルーチンを書いてるだけで終わった。
あまり見る機会は無いと思うけどゲーム中に振動なんかでバグって画面に「ADDRESS ERROR」とか出るあれ。

このルーチンのテストで使ったのがEmuHawkとFusionなんだけど、
Fusionでは意図的に起こしてるアドレスエラーを何故か無視して動く。
実際のゲームでそんなバグはある訳ないから実害は無いのだけど。

今日からやっとパッド入力とキャラの動作に移行。
DMAを使いまくるから早めに負荷を確認しておかないと今後詰まりそう。
233: 2020/01/27(月)06:52 ID:v/Ez2uUV(2/2) AAS
土日でせめて女の子が動かせるようになればと思っていたけど、デバッグルーチンを書いてるだけで終わった。
あまり見る機会は無いと思うけどゲーム中に振動なんかでバグって画面に「ADDRESS ERROR」とか出るあれ。

このルーチンのテストで使ったのがEmuHawkとFusionなんだけど、
Fusionでは意図的に起こしてるアドレスエラーを何故か無視して動く。
実際のゲームでそんなバグはある訳ないから実害は無いのだけど。

今日からやっとパッド入力とキャラの動作に移行。
DMAを使いまくるから早めに負荷を確認しておかないと今後詰まりそう。
234: 2020/02/03(月)06:59 ID:0L3Pn+yk(1) AAS
DMAを使ってキャラの書き換えをしようと奮闘してるんだけど、
テストの為に使ってるDMAでのスクリーン書き換えルーチンが有ると
キャラ書き換えのDMA転送容量を超えてしまって間に合わなくなる。

スコア表示やステータス表示にウィンドウを使いDMAで描画させるのは常套手段だと思うのだけど、
画面配置を決めてDMA転送量をゲーム中に使うだけの容量に下げないとこの先が出来ない。

もっと簡単に事が進むと思っていたけど、甘くないなぁ。
235: 2020/02/09(日)12:57 ID:+hQ4fEtK(1/2) AAS
操作できず。放置しているとモーションが変わっていくだけ。
ソニックザヘッジホッグなんかでも行われてる奴。
パターン間でドットがパカパカと変化したりでこれだけでも手直しが必要だったり。
10秒毎にしぐさが変わる。全10パターン。

やってる事は・・・時間が来た時だけ女の子(ポチットさん)のパターン3KBをDMA転送。
背景はBGカラーを水平割り込み毎に変更。BGカラーなのでパレットは未使用。
フレーム毎に8色背景を上下に10ドットブラして中間色っぽく見せかけてるだけ。
PCの負荷によりエミュレーターが60fpsを保てなくなるとチラついてしまう。
実機ではキッチリ60fpsを保ったままだから起こらないんだけどね。
足元の文字はウィンドウ。40文字x4行文確保。フレーム毎にDMA転送。
現在、BG-A、BG-Bは未使用。

外部リンク:20.gigafile.nu
pass:poch

Fusion、EmuHark、実機で動作確認済み。

ゲームとして目指すところは・・・パックランドみたいな感じかな?あそこまで行きつけばいいけども。
236: 2020/02/09(日)16:49 ID:+hQ4fEtK(2/2) AAS
ダウンロードしたファイルをそのままエミュにドロップすれば起動する・・・はず
今度は歩き、走り、に挑戦中。
1-
あと 107 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.009s