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

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
ダウンロードしたファイルをそのままエミュにドロップすれば起動する・・・はず
今度は歩き、走り、に挑戦中。
237: 2020/02/21(金)00:15 ID:4MRSZQv5(1) AAS
レトフリで動いたよ
先は長そうだががんばってなー
238: 2020/02/21(金)06:33 ID:OisaJ9wJ(1) AAS
ありがと。3連休でジャンプ系の動きが搭載できればいいな。
239: 2020/02/26(水)04:32 ID:OShcjaSi(1) AAS
wavやmp3/4ファイルをvgmファイルに変換する
ツールありますか?
240: 2020/02/28(金)06:54 ID:Ij1bXEpx(1) AAS
MDのPCMって8bitモノラルだから変換すればいけるとは思うけど
ツールは分らないな。

先週は風邪ひいたせいでプログラムが全く進んでないや・・・。
今週こそは・・・。しゃがみとジャンプは完成させたい。空中コントロールをどうするかだな。
241
(1): 2020/03/05(木)15:40 ID:QybVpqYh(1) AAS
なんでsgdkで作らんの?
Cのほうが楽だろうし、超最適にコンパイルしてくれるのに
サウンドも最高ドライバだろうし

Mなの?
242: 2020/03/06(金)06:55 ID:VVA2E71z(1) AAS
>>241
プログラムする上では楽だろうけど直接実機をコントロールしてる実感がわかないから。
ゲームを作る事が目的と言うよりもメガドライブを自分の手で完全にコントロールしたいって気持ちの方が強い。
サウンドドライバもどういうドライバを書けば性能を引き出せるかって事を自分の手でやってみたいから。

それと、タイミング的にシビアなコントロールを行ってるって事もあるかな。
上に上げたデモプログラムでは背景を中間色込みで14色ぐらいに見せかけてるんだけど、
H_INTが発行されてから46クロック以内にデータを書き込まないと
色の変更してる箇所が画面上に表示さえてしまう。

この46クロックとか数命令並べただけでオーバーするから、吐き出されるソースをいちいち確認しないとダメだしね。
それとVRAMやRAMの使い方もSGDKの方でコントロールされてるから好き勝手に作れない。

SDGKのライブラリを使うにしても、結局カットアンドトライを繰り返してその関数の使い方を把握するしかないから
それなら自分で直接弄った方が楽って事になってくるし。ゲームを組む上での苦労は大差ない感じもする。

ある程度、組んでいくと条件分岐なんかも自分の中でテンプレートが出来上がってくるからそれほど苦でもなくなってくるし。
243: 2020/04/03(金)06:35 ID:5lsft6SB(1) AAS
ゲーム作りは鈍足ながら進めているんだけど、
本来ならあり得ない上と下、右と左の同時押しの時のエミュの挙動がそれぞれ違うんだな。
EmuHawkだと新しく入力された方向が優先、Fusion364だと上と右が優先。

マニュアル側には同時押しも意識したプログラムを作るような記述が有ったんで
それに沿ったプログラムを組んでいたのに挙動の変化がなくて何故だろうと調べてみた。

アクションが増えるにしたがって論理バグがそこら中に出て四苦八苦。
244: 2020/04/08(水)02:49 ID:aFTxrymT(1) AAS
日系ソフトウェア5月号の特集、
知りたかった音楽&効果音の作り方はスルーされていて残念
自作カセットの作り方も省略されていて残念
245: 2020/04/08(水)06:48 ID:k9m/JJE7(1) AAS
自作カートリッジって配線関係?
1-
あと 98 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.010s