検索
<< 2024年06月 >>
1
2 3 4 5 6 7 8
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
広告
駿河屋レトロゲーム
最新記事
ブログランキング
にほんブログ村 ゲームブログ ゲーム制作へ
プロフィール
J-JSOFTさんの画像
J-JSOFT
高校時代、あれほど熱心に取り組んだMSXに触れなくなって30年余…。 MSXエミュレータとの出会いで、MSX愛が再燃中。
カテゴリーアーカイブ
ファン
QRコード

2024年06月30日

【ゲーム制作】テーブルゲーム 第18回






4_19_1.png
テーブルゲーム 第18回です。
相手のカード選択ロジックを考えます。

「神経衰弱」ですので思考ルーチンはありません。
淡々と作業を繰り返すロジックとなります。
これも今作の最難関ロジックの一つです。

考え方ですが、自分が「神経衰弱」をプレイする時の考え方をフロー化します。

そのために用意してあったのが、場ワーク先頭1ビットのオープンフラグ。
「これは何のためにあるんだろう?」と、思われた方もいるかと思いますが、敵のカード検索用のフラグです。

一度捲られたカードは数字がオープンになっています。
と、いう事はそのカードは普通1枚目には捲らず、1枚目は捲った事のないカードを捲り、既にオープンになっている数字を引く事を祈ると思います。
それに、既に捲られたカードの数字と同じ数字を、2枚目に捲って外した時は、相手にそれを取られてしまいます。
と、言ったように一般的な「神経衰弱」の手法を再現するためのフラグです。

で、上記手法をそのままロジック化します。
・場ワーク全体で既に捲られたカードで2枚同じ数字がないかチェック
・あればその2枚両方捲って、「敵取得カード枚数」を+2、「場残枚数」を-2し、もう一度
・なければ捲られていないカードからランダムに1枚目を捲る
・場ワーク全体から既に捲られたカードに、1枚目捲った数字と同じ数字がないかチェック
・あれば捲って、「敵取得カード枚数」を+2、「場残枚数」を-2し、もう一度
・なければプレイヤーターンへ
・「場残枚数」が「0」になったらゲーム終了、BASICへ
考え方は単純です。

次回は今回考えたロジックを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月29日

【ゲーム制作】テーブルゲーム 第17回






テーブルゲーム 第17回です。
今回は画面デザインを見直します。

テストプレイ何度かしていて気になったのですが…、
…ゲーム画面がなんだかとってもシンプル…。
24_6_27_1.png

そこで!
「FONT EDITOR」使って色々描き直しました。
結果、こんな感じになりました!
24_6_27_2.png
良い感じではないでしょうか?
カードもトランプらしくなった気がする…。

右上の「神経衰弱」FONTが結構自信作です。

これに伴い、「カード表面描画」方法が変更になったので、ロジック変更。
表面のキャラクタデータを用意。
24_6_21_2.png

そのキャラクタデータを用いて描画する方式に変更。
24_6_21_3.png

では次回は、敵のターンを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月28日

【ゲーム制作】テーブルゲーム 第16回






4_19_1.png
テーブルゲーム 第16回です。
1枚目を捲った後、2枚目の選択に移る時の処理方法を考えます。

現状は、捲ったカードの数字を覚える時間が必要かな?と思い、
・1枚目オープン
・入力待ち
・ボタン打下→2枚目選択可能
・2枚目オープン
・入力待ち
・ボタン打下
の処理となっていますが、思いのほか操作性が悪い…。
なんだかボタン押しまくりです…。

少しでも解り易いようにと、入力待ちの際は「指カーソル」を消してみたりと、色々試してみましたが余り改善しない…。
相手(CPU)がカード捲る際も同じ処理なので、ボタン打下回数が半端ない回数になります。

…と言う訳で、カード捲って伏せられるまでを時間制にします。
具体的には、捲ってから数秒すると、勝手に裏返るようにします。

この数秒が長いと、今度は待ち時間が気になる…。
んー、ストレスの掛からないバランスって難しい…。

いろいろ試してみましたが、2秒くらいがいい感じだと感じました。

次回は画面デザインを見直します。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月27日

【ゲーム制作】テーブルゲーム 第15回






テーブルゲーム 第15回です。
今回は、プレイヤーのカード選択を組んでいきます。

24_6_27_1.png

選択カーソル(指)は横に16ドット(2FONT)、縦に48ドット(6FONT)単位で移動します。
一気に端から端まで動かないように、1回動かず度にリピート禁止処理をします。
24_6_25_3.png

1枚目を選んでボタンを打下したら、指定座標にサブルーチンで作った「カード表面描画」をし、ボタン再打下で「カード裏面右半分描画」をして2枚目選択へ。
24_6_25_4.png

2枚目選んでボタンを打下したら、指定座標に「カード表面表示」をし、1枚目と2枚目の場ワーク値下5ビット(数字)を比較し、等しければプレイヤー取得枚数を+2、場残枚数を-2し、ボタン再打下で「場表示」してもう一度1枚目選択へ。
等しくなければ場ワーク値先頭1ビット(開いたフラグ)を立て、ボタン再打下で「場表示」し相手のターンへ。
24_6_25_5.png

場残枚数が「0」ならばゲーム終了、BASICへ戻る。

うーん、今回も上手く動いてくれません…。
試行錯誤の上、無事動くようになりました。
やっぱり単純なミスでした…。
凹む…。

次回はカードを捲った後の操作性改良をします。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月26日

【ゲーム制作】テーブルゲーム 第14回






テーブルゲーム 第14回です。
今回もサブルーチンの続きです。

最後のサブルーチンとなります。
場ワークにカードをシャッフル設定するロジックを考えます。
処理の考え方は、
・カードカウンタ(1バイト)を用意し、下5ビットを「1」から開始し、「13」を超えたら下5ビットを「1」にして2・3ビットを+1(記号変更)する
・52枚分カウントしたら終了(52枚終えた時点で、カードカウンタの2・3ビットは「3」、下5ビットは「13」)
・場ワーク先頭アドレスに「52」までの乱数を加えた位置の値が「0」(未配置)ならばそのアドレスにカードカウンタ値を設定し繰り返す、「0」でなければ乱数再取得へ

プログラム組めたのでテストします。
24_7_1_1.png

実行しても結果が見えないので、見えるように場ワークを表示するプログラムを組んで実行。
24_7_1_2.png
24_7_1_3.png

何度かテストしましたが、良い感じです。

次回はプレイヤーのカード選択を組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月25日

【ゲーム制作】テーブルゲーム 第13回






テーブルゲーム 第13回です。
今回もサブルーチンの続きです。

プレイヤーが2枚目を捲る時、1枚目捲ったカードの真右側にカードがあれば、1枚目のカードの右半分(2FONT分)に裏返ったカードを描画するサブルーチンです。
処理の考え方は、
・場ワークアドレス+1の値を読み、値が「0」でなければ、VRAMアドレス+2位置から縦6FONT×横2FONTのカードを描画

プログラム組めたのでテストします。
24_6_25_2.png

良い感じです。
24_6_21_5.png

次回は最後のサブルーチンです。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月24日

【ゲーム制作】テーブルゲーム 第12回






テーブルゲーム 第12回です。
今回もサブルーチンの続きを組んでいきます。

カードを捲った時のカード表側の表示をするサブルーチンです。
処理の考え方は、
・縦6FONT×横4FONTの白カードを表示
・場ワークの値を読み、前から2・3ビットを抜き出し、記号を表示(3箇所)
・下5ビット分を抜き出し、数字を表示(2箇所)

プログラムが組めたのでテスト。
24_6_21_3.png

上手くいきました!
24_6_21_4.png

今回はそう悩まずに、上手くいきました。

次回もサブルーチンの続きです。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月23日

細かく修正?




4_19_1.png

ゲーム制作 」の「製作メニュー」に「新作5」の欄を設け、各回へのリンクを追加。

ゲーム制作 」の「 テーブルゲーム 」の前後回へのリンクが全て切れていたので修正。

それ以外は、画像の貼り直しや、記事の誤記の修正程度です。
駿河屋

2024年06月22日

【ゲーム制作】テーブルゲーム 第11回






テーブルゲーム 第11回です。
前回考えたロジックを基にサブルーチンを組んでいきます。

まずは、今作最難関のサブルーチンのひとつ、場に裏返ったカードを並べ描画するサブルーチンです。

処理の考え方は、
・画面を場の色(緑)で塗りつぶし
・カードカウンタを0から開始
・カードカウントを13(横枚数)で割った商を縦座標とする
・割った余りを横座標とする
・縦座標に6を掛けた座標と、横座標に2を掛けた座標のVRAMアドレス算出する
・場ワークのカードカウンタ位置の値を調べ「0」(取得済)ならば描画無し
・「0」でなければカードありとし、カード裏側を描画
・カードカウンタを+1し52枚分繰り返し

なかなか、難しそうです。

まず準備として、場ワーク(52バイト)を用意。
24_6_23_1.png
最後の&HFFは場ワークの終わりフラグ。

次に裏返ったカードのキャラクタデータを用意。
24_6_23_2.png

次に場を緑のキャラクタで埋めるサブルーチン。
24_6_23_3.png

最後に、裏返ったカードを並べ描画するサブルーチンです。
24_6_23_4.png

プログラムが組めたのでテストします。
場ワークがすべて「0」では何も表示されないので、仮でオール「1」設定。
24_6_23_5.png

うーん、なかなか手ごわい!
上手く動いてくれません…。

24_6_23_6.png
試行錯誤の上、なんとか無事動くようになりました!
単純なミスでした…。
ロジック考えるのに凄い時間かかりました…。

次回もサブルーチンの続きです。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発

2024年06月21日

【ゲーム制作】テーブルゲーム 第10回






テーブルゲーム 第10回です。
今回はメインのマシン語設定プログラムを用意します。

メインのマシン語設定プログラム「BINSET.BAS」を用意します。
24_6_22_1.png
こちらもExcelで作成して、「.BAS」にコンバートして、「.BIN」ファイル作成。

今作のサブルーチンは、今まで作成したものの中から
■SPRITEセット
■FONTセット(上・中段、下段の2本)
■乱数発生
■16進数を10進数に変換
■VRAMアドレス計算
■中段画像表示画面セット(タイトル表示用)
■全SPRITEを隠す
■8ビット掛け算
■8ビット割り算
を用意します。
24_6_22_2.png

そして数字表示用に、
■数値表示(自分取得枚数、敵取得枚数、経過時間表示、場残枚数)
を作成。
24_6_22_3.png

これら以外のサブルーチン(主に描画関連)は新しく作成します。

次回は、各々サブルーチンを組んでいきます。
駿河屋
posted by J-JSOFT at 00:00 | Comment(0) | TrackBack(0) | 開発
Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: