EGP02 G&Wもどきの時計動作時間検証

前回、G&Wもどきの時計を紹介しました。時計なら電池交換なしで1年くらいは動いて欲しいものです。まぁ、それは無理だと思いますが、数か月は動いて欲しいですね。 そこで、CR2032、1本で実際にどのくらい動くのか検証します。使用する電池は2本/¥100の三菱製です。 まずは動作時間を予想するため、消費電流を測定します。多少変動しますが、1.6mAってところですね。 CR2032の標準放電電流は0.2mAですが、大きく超えています。最大放電電流の3mAは超えていないものの、電池持ちには期待できない感じです。 動作時間の予想ですが、CR2032の公称電圧=3V、電池容量=220mAhEGP02の消費電流=1.6mA 回路の動作電圧を3Vとするならば、動作時間 = 220mAh / 1.6mA     ≒ 137.5 h(約5.7日) ・・・予想①となりますが、 さらに、EGP02が動作できる最低電圧の制限があります。EGP02の主要部品の最低動作電圧は下記となります。・PIC24FJ64GA004    :2.2V・ST7567(液晶コントローラ):2.4V ※1 ※1)液晶モジュールのデータシートが見つからず、   液晶コントローラの最低動作電圧しか調べられませんでした。 よって、CR2032の電力が残っていても、2.4Vを下回ると液晶表示できないことになります。 「IT技術者ロードバイク日記」様のサイトにCR2032の詳細な情報がありました。情報ありがとうございました。感謝申し…

続きを読む

EGP02 G&Wもどき、だけどGAMEは無し

仕事や趣味のプログラムに疲れ、PCのディスプレイから目を離したとき、そこに、レトロ風な電子ゲームが置いてあり、懐かしのキャラ達がちょこまかと動いているのを見て癒される。 そんなシーンをイメージし、EGP02の制作を開始しました。 その割にオクトパス以降、ゲームばかり作っていたのですが、ようやく原点に戻り、見て癒される(楽しめる)時計を作ります。 自分を癒すという意味から、思い入れの強い、ファイヤー、ヘルメット、オクトパスを選んでいます。G&Wの時計機能と同じ、1秒に1回キャラ達が動き、様々なデモを繰り広げます。 3つのゲームのキャラ達が夢の共演です。 デモは全30種です。その内の10種を動画で紹介します。残りは実機で確認してください。 プロジェクトファイル一式です。EGP02_NGW.X.zipプロジェクトファイルの読み込みは、スタートアップガイドの「5.2 書き込みプログラムの準備」を参考にしてください。 今回のプログラムは、データに従いキャラを表示するだけなので大したことはしていません。いや、いつも大したことはしていませんね。 デモのデータは、「NGW_Demo_Data.inc」に記述しています。 下記はファイヤー基本デモのデータです。各行にビルから落ちる人、救急隊員のX座標、Y座標、キャラ番号、キャラパターン番号が記述してあり、1秒毎に次の行のデータを読み込むことでキャラの表示位置、パターン番号を変えて行きます。 const unsigned c…

続きを読む

EGP02 キャラクタの重ね合わせ処理を改善する

スライムスレイヤー2を作成しながら強く思ったことがあります。 背景とキャラクタの重ね合わせができない!! いえ、重ね合わせはできます。重ね合わせると何が表示されているのか分かり難いのです。。。 そのことから、スライムスレイヤー2では、キャラクタ表示エリアに背景を描画しませんでした。 今回は背景とキャラクタの重ね合わせ処理の改善を考えます。 EGP02はモノクロ液晶なのでキャラクタデータは、1ドットを1ビットで表現しています。 1:黒ドットを表示 0:白(黒ドットを表示しない) キャラクタ描画ルーチン(EGP02_ASM.s、_VR_CWT) は、下図のようにキャラクタデータを背景にORで重ね合わせます。 騎士の顔や腰の白色部(データ"0")は透明扱いとなり、背景が透け、本来のキャラクタと異なる表示になってしまいます。 なんか、MSX初期の単色スプライトキャラのようですよね。これは、これで、大好きなのですが、やりたいこととは違います。 じゃあ、ANDで重ね合わせすると、下図のようにキャラ周辺の額縁が残ってしまいます。 なんか、パソコン黎明期の頃のゲームのようですよね。これは、これで、大好物なのですが、やりたいこととは違います。 やりたいのは、下図のように、・騎士の顔や腰の白色部は透明ではなく、白色表示・キャラ周辺の額縁は透明・さらにキャラの周りを白色で縁取るなのです。 これを実現するためには、キャラクタデータを”0"or"1"の2値だけでなく、下記、3値の表現が必…

続きを読む

EGP02 スライムスレイヤー2(完成)

まだまだ作り込みが足りないところはありますが、いつまでたっても終わらないので「スライムスレイヤー2」は一応完成とし、動画、プロジェクトファイル一式を公開します。 まずは動画です。全5ステージ中、3ステージまでを紹介します。3ステージ以降は実際に遊んで確認してください。 遊ぶにはEGP02を制作する必要がありますが。。。 プロジェクトファイル一式です。EGP02_SlimeSlayer2.X.zip プロジェクトファイルの読み込みは、スタートアップガイドの「5.2 書き込みプログラムの準備」を参考にしてください。 遊び方を紹介します。 騎士を操作し、盾、剣でスライムを倒しながら右へ進みます。スライムを倒すとポイントが加算。攻撃を受けるとヒットポイントが減り、0になるとゲームオーバーです。 右端まで行ったらステージクリアです。ステージクリア時の残時間でポイントが加算されます。 ステージクリアすると、ポイントでアイテムを購入することができます。 より強いアイテムで騎士を強化します。 騎士の操作方法 <基本操作> [LL]or[LD] 左に進む [LR]or[LU] 右に進む [RU]    盾ではじく [RD]    剣を振る  <組み合わせ操作> 連続斬り   [RD]斬り上げ ⇒ [RD]斬り下ろし ⇒ [RD]ダッシュ突き 後方ダッシュ [RU] ⇒ [RU] 前方ダッシュ [RU] ⇒ [RD]  または、 [RU] ⇒ [LR]+[RU]  購入アイ…

続きを読む

EGP02 スライムスレイヤー2(制作中)

新しいゲームを昨年末から制作中ですが、完成する気配がありません。しかたがたないので、製作途中の状態のまま紹介します。 プログラミング講座で作成した「スライムスレイヤー」のドット絵、実は結構気に入ってました。 このドット絵を使い、ちゃんとしたゲームに仕上げてみたくなり、「スライムスレイヤー2」の制作を開始しました。 騎士を左右に動かし、盾と剣でスライムを倒します。 「戦いの挽歌」に近いでしょうか。しかし、騎士は右しか向かないし、ジャンプもできません。 ツノスライムは素早く、攻撃力が高い設定。 魔法使いは火の玉を打ち、遠距離攻撃する設定です。 騎士死亡。 動画です。 冬休みは12連休ととっても長く、連日、背景書いて、スライム書いて、酒飲んで、プログラム書いて、酒呑んで、と頑張ったのですが、完成できませんでした。。。 これからも酒盛りしながら頑張ります。 以上です。

続きを読む

EGP02「スライムスレイヤー」の紹介

EGP02プログラミング講座で作成したゲームの紹介とプロジェクトファイル一式を公開します。 ゲーム内容(仕様)はプログラミング講座で解説したのですが、実際の動作を動画で紹介します。 また、プログラミング講座では、そのとき変更したファイルのみを公開していたため、講座を順に追わないと全てのファイルを揃えることができませんでした。よってプロジェクトファイル一式を公開します。 ゲームタイトルを「スライムスレイヤー」としましたが、「スライムキャッチ」の方がゲームの本質を表している気がします。 プロジェクトファイル一式です。 EGP02_TEST_01.X.zip プロジェクトファイルの読み込みは、スタートアップガイドの「5.2 書き込みプログラムの準備」を参考にしてください。 ようやく、このゲームから離れられます。次はどんなゲームを作ろうか。。。このときが一番楽しく、ワクワクします。 では、

続きを読む

EGP02プログラミング講座⑩最終回(得点の表示方法)

プログラミング講座第10回は、得点の表示方法について解説します。過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) EGP02プログラミング講座③(キャラクタデータの作成方法) EGP02プログラミング講座④(自キャラの操作、移動方法) EGP02プログラミング講座⑤(敵キャラの移動方法) EGP02プログラミング講座⑥(当たり判定方法) EGP02プログラミング講座⑦(効果音の出力方法) EGP02プログラミング講座⑧(ゲーム難易度の調整方法) EGP02プログラミング講座⑨(ゲーム速度向上(クロック設定変更)方法)得点加算、表示の仕様を以下とします。・スライムを1匹斬るたびに1点加算する・得点は3桁表示、0~999点とする・ハイスコアをフラッシュメモリに記録する 全キャラ表示のときにハイスコアを表示します。ハイスコアはフラシュメモリに記録するので、電源OFFしても維持されます。 ゲーム中、ハイスコアと同じ位置にスコアを表示します。 EGP02_Lesson_10.zipをダウンロードし、EGP02_UserProg.cをプロジェクトフォルダ(C:¥EGP¥EGP02¥EGP02_TEST_01.X)にコピー、既存のEGP02_UserProg.cに上書きします。EGP02_UserProg.cをMPLAB X IDEで開きコードを確認してください。追加したコードを順に…

続きを読む

EGP02プログラミング講座⑨(ゲーム速度向上(クロック設定変更)方法)

プログラミング講座第9回は、ゲーム速度向上(クロック設定変更)方法について解説します。過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) EGP02プログラミング講座③(キャラクタデータの作成方法) EGP02プログラミング講座④(自キャラの操作、移動方法) EGP02プログラミング講座⑤(敵キャラの移動方法) EGP02プログラミング講座⑥(当たり判定方法) EGP02プログラミング講座⑦(効果音の出力方法) EGP02プログラミング講座⑧(ゲーム難易度の調整方法) 前回の講座で難易度調整を追加しましたが、最高難度にしても、あまり難しくならない事が分かりました。 さらに難易度を上げるためには、ゲーム全体の速度を上げる必要があり、そのためにPICのクロック設定を変更します。 そもそも、EGP02ひな形プログラムは以下の理由で、クロックを遅くしています。・EGP02は電池容量の少ないCR2032で動作するため、クロックを遅くして省電力化が必要。・時計表示では1秒に1回画面更新すれば良いので高速動作が不要。 PIC24Fのクロック回路構成、設定方法を説明します。 下図、左のFRC発信機で8MHzのクロックを生成し、FRC、FRCDIV、FRCPLLの3経路からCPU、周辺モジュールで使うクロックを選択します。・FRC  :8MHzをそのまま使用。・FRCDIV:CLKDIV<…

続きを読む

EGP02プログラミング講座⑧(ゲーム難易度の調整方法)

プログラミング講座第8回は、ゲーム難易度の調整方法について解説します。過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) EGP02プログラミング講座③(キャラクタデータの作成方法) EGP02プログラミング講座④(自キャラの操作、移動方法) EGP02プログラミング講座⑤(敵キャラの移動方法) EGP02プログラミング講座⑥(当たり判定方法) EGP02プログラミング講座⑦(効果音の出力方法) 大体のゲームは、開始直後は難易度が低く、徐々に難易度が高くなるように設計されています。さらに、G&Wでは100点毎に難易度を少し下げ、休憩時間を入れています。 G&Wは、この辺りの加減が絶妙で、さすがはプロの仕事です。私は「作った」「動いた!」「終~了~」の人なので、この辺りの調整が苦手です。 ここは、G&Wを真似た難易度調整にします。 ・スライムを8匹斬るだびに難易度を上げます。 10匹ではなく、8匹なのは2の乗数の方がプログラムし易いからです。 スライムを斬った数のカウンタのbit0-2をチェックし"0"のときに難易度を上げます。  (スライムを斬ったカウンタ & 0x0007) == 0   これで8の倍数(8.16.24.32・・・)毎に難易度を上げます。 ・スライムを50匹斬るたびに少し難易度を下げます。 スライムを斬ったカウンタが50のとき…

続きを読む

EGP02プログラミング講座⑦(効果音の出力方法)

プログラミング講座第7回は、効果音の出力方法について解説します。過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) EGP02プログラミング講座③(キャラクタデータの作成方法) EGP02プログラミング講座④(自キャラの操作、移動方法) EGP02プログラミング講座⑤(敵キャラの移動方法) EGP02プログラミング講座⑥(当たり判定方法) EGP02は下図のようにタイマ2/3、出力コンペア1/2モジュールで矩形波を生成し、圧電スピーカから効果音を出力します。 出力コンペア2個を圧電スピーカの2端子に接続することで、2種の効果音を同時に出力することができます。 しかし、圧電スピーカの1端子はグランドに接続することが基本です。2端子に別々の矩形波を入力しても、干渉しあって期待する音を出力することはできません。 EGP01では1端子をグランドに接続しており、そのため、EGP01でスーマリもどきのように、BGMと効果音の出力は、プログラムで頑張り、時分割で疑似的に同時出力していました。 EGP02では、EGP01のソフトによる時分割での同時出力よりは、下図のようなハードによる同時出力の方が良いと思い、実装しました。 PIC24Fが出力する矩形波の周期で音程、振幅数で音の長さが変わります。周期が長いと音程が低く、短いと高くなります。また、同じ周期であれば、振幅数が多いほど音が長く…

続きを読む

EGP02プログラミング講座⑥(当たり判定方法)

プログラミング講座第6回は、当たり判定のついて解説します。過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) EGP02プログラミング講座③(キャラクタデータの作成方法) EGP02プログラミング講座④(自キャラの操作、移動方法) EGP02プログラミング講座⑤(敵キャラの移動方法) 当たり判定には、①自キャラ(騎士)が敵キャラ(スライム)に攻撃したときの判定②敵キャラ(スライム)が自キャラ(騎士)に攻撃したときの判定があります。 攻撃の判定とか書いてみたものの、所詮、本ゲームは電子ゲームで良くあるキャッチゲーです。シューティングやアクションゲームのようなドット単位の当たり判定はありません。 騎士に向かってくるスライムにY座標(上/中/下段)を合わせれば、騎士の攻撃が当り、Y座標を合わせられず、スライムがさらに進めば、スライムの攻撃が当たりです。(スライムの攻撃というか、騎士の横をすり抜けることがスライムの当たり判定です) もう少し詳しく説明します。 ①騎士のスライムに対する当り判定 騎士の上/中/下段位置はKn_Pos(0:上段、1:中段 、2:下段)、スライムの位置はSl_St[0-2](0:上段、1:中段 2:下段)で管理しています。 Sl_St[0-2]のbit5=1のときが,当たり判定のタイミングになります。Kn_ActFlg=0(騎士が通常の状態)のとき、…

続きを読む

EGP02プログラミング講座⑤(敵キャラの移動方法)

プログラミング講座第5回は、敵キャラ(スライム)の移動方法を解説します。過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) EGP02プログラミング講座③(キャラクタデータの作成方法) EGP02プログラミング講座④(自キャラの操作、移動方法) スライム移動の仕様を以下としました。(1)スライムの移動/発生タイミング  上/中/下段スライム共通の動作カウンタ(Sl_ActCnt)をゲームループ毎に-1し、  0のタイミングでのみ、上/中/下段のスライムを移動/発生します。  0のときに動作カウンタを最大値(Sl_ActCntMax) に設定します。   ゲーム開始時はSl_ActCntMax値を大きく設定し、ゲームが進む程に小さくします。  これにより、スライムの移動/発生速度が上昇し、ゲームの難易度が上がります。  ちなみに騎士は、スライムを斬るとき以外、毎ループ移動できます。 (2)スライム発生の条件 ・上記、Sl_ActCnt=0のとき、スライム発生判定を行います。 ・上段⇒中段⇒下段の順に判定し、発生したときは他の段の判定をキャンセルします。  つまり、同一タイミングで発生できるのは一匹のみです。 ・判定は、同じ段にスライムがいないときに乱数(1/2の確率)で行います。  つまり、発生済の段には発生できず、各段にはスライムが一匹づつしか存在できません。 (3)スライム移…

続きを読む

EGPゲーム機のクローンたち

当ブログの読者様、KIMさんからEGP02を自作したとの連絡を頂きました。 初めての制作とのことですが、良く出来ています!!面実装部品が多いので基板制作がひとつの壁だったと思いますが、お見事です!! バックライト付きなのがオリジナルを超えちゃってますね。 お次はEGP01のクローンです。制作者様の許可は頂いていませんが、掲載させて頂きます。不都合があれば削除しますので御連絡ください。 パックマンもどきです。あれっ? これはEGP01ではなく、こちらのdsPIC33とPIC24Fの差し替えができるヤツかな? G&Wもどきスペシャルです。このゲームが動くってことはEGP01で間違いないでしょう。 動画も紹介させて頂きます。上の写真はこの動画からキャプチャしました。 EGP01だけではなく、有名なARDUBOY、Gamebuino他、いろいろなクローンを制作されています。レトロ風な携帯ゲーム機に対する愛を感じます。 このようにブログの情報を使って頂けるのは嬉しいですね。他にも「こんなゲーム機を作った」「こんなゲームソフトを作った」という方がいれば御連絡くださいませ。 ではでは。

続きを読む

EGP02プログラミング講座④(自キャラの操作、移動方法)

プログラミング講座第4回は、自キャラ(騎士)をボタン入力で移動します。 過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) EGP02プログラミング講座③(キャラクタデータの作成方法) プログラムの解説の前にゲームの概要を説明します。・騎士を上下に操作し、画面右から襲ってくるスライムを斬る・騎士は[LU][LR][RU]ボタンで上に移動、[LL][LD][RD]ボタンで下に移動する・スライムは上/中/下段のいづれかに画面右から出現し、画面左(騎士の方)に進む・スライムが騎士に飛び掛かったときに、 騎士が同じ段にいればスライムを斬り得点獲得(斬る動作は自動でボタン入力は不要) 騎士が同じ段にいなければミスとなり、ゲームオーバー 下図はユーザプログラム(EGP02_UserProg.c)の概略フロチャートです。今回の講座では、「(9)騎士移動」「②ボタンチェックおよび騎士移動」を中心に解説します。ちなみに、前回の講座で解説したのは、「(4)全キャラクタ表示」の処理です。 EGP02_UserProg.cにフロチャートと同じ番号をコメントで入れています。フロチャートを見ながらEGP02_UserProg.cを確認することで理解が深まるかと思います。 EGP02_Lesson_4.zipをダウンロードし、EGP02_UserProg.cをプロジェクトフォルダ(C:…

続きを読む

EGP02プログラミング講座③(キャラクタデータの作成方法)

プログラミング講座第3回は、グラフィックエディタを使用し、キャラクタデータを作成します。 過去の講座を未読の方は下記をご一読ください、 EGP02プログラミング講座① (ひな型プロジェクトの作成) EGP02プログラミング講座②(ユーザプログラムの解説) まずは、EGP02グラフィックエディタ操作マニュアルに従い、インストールを行い、操作方法を確認してください。 ・・・ EGP02グラフィックエディタ(EGP02_GEDIT)のインストールと操作方法の確認はできましたでしょうか? EGP02_GEDITはVisual Basic6.0(VB6)でプログラミングしています。Windows98(1998年)世代のプログラミング言語をいまだに使っているわけです。 随分前にVB6で作成したカラー版グラフィックエディタをカスタマイズしているためですが、いい加減、脱VB6したいですね。。。 多分、無理ですね。。。 講座を進めます。操作マニュアルにも記載していますが、下記のキャラクタを作成します。 ドットを打つのが面倒な方は、EGP02_Lesson_3.zipをダウンロードし、GW_SlimeSlayer_01.pgdをC:¥EGP¥EGP02¥EGP02_GEDIT¥pgdにコピーしてからEGP02_GEDITで開いてください。 <Chr00>ネーム   :Chr00 (初期設定のまま)サイズX   :16   Y   :16パターン数 :4データ出力 :✓(チェック) <Chr01>ネ…

続きを読む

EGP02プログラミング講座②(ユーザプログラムの解説)

プログラミング講座第2回は、第1回で作成したひな型プロジェクトのユーザプログラム(UserProg.c)について解説します。 このユーザプログラムは、現段階ではキャラクタ(悪魔)を一つLCDに表示するだけのコードです。なので、今回はキャラクタのLCD表示方法を解説します。 キャラクタのLCD表示は、以下の手順で行います。①プログラムメモリのキャラクタデータ格納アドレスを取得②プログラムメモリからキャラクタデータを読み出し、PIC内VRAMに書き込む③PIC内VRAMのデータをLCDに転送 ①プログラムメモリのキャラクタデータ格納アドレスを取得 プログラムメモリは下図のように、Table Page (上位8ビット) + Table offset(下位16ビット)の計24ビットでアドレッシングされています。 コンパイルにより、各コードにTable PageとTable offsetが割り当てられます。キャラクタデータには予めLabelを付けており、Label名から割り当てられた、Table Page、Table offsetを取得することができます。 EGP02に搭載のPIC24FJ64GA004は、64KByteのプログラムメモリを実装しています。64KByteは16ビット(0x0000~0xFFFF)でアドレッシングできるため、下図のようにTable Pageには必ず0x00が割り当てられます。よって、Table offsetのみを取得すれば良いことになります。 では、Tab…

続きを読む

EGP02 プログラミング講座① (ひな型プロジェクトの作成)

EGP02のプログラミング講座を複数回に分けて紹介します。オリジナル電子ゲームを作成しながら、そのプログラムを解説していきます。 第1回は、EGP02用のテンプレートプログラムを使ったひな型プロジェクトの作成方法を解説します。まずはスタートアップガイドに従い、下記を実施してください。 ・MPLAB X IDE、XC16 Compilerのインストール :「5.1 環境のインストール」・サンプルプログラムのBuildおよび書き込み  :「5.2 書き込みプログラムの準備」                        「5.3 プログラムの書き込み」 (1)テンプレートプラグラムのダウンロード  テンプレートプログラム EGP02_Template_source.zipをダウンロードし、 C:¥EGP¥EGP02に解凍すると、 EGP02_Template_sourceフォルダに以下のファイルができます。  ・EGP02.c      : メインプログラム              PIC、LCD初期化、時計等のプログラム ・EGP02_UserProg.c  : ユーザプログラム             ここにコード追加することでゲーム等を作成します。 ・EGP02_ASM.s   : アセンブラ記述のサブルーチン ・EGP02_Asm.h   : アセンブラ記述のサブルーチン用ヘッダファイル ・EGP02_Macro.inc  : アセンブラ記述のマクロ ・ChrData.inc   …

続きを読む

EGP02 配布開始

「EGP02 レトロ風電子ゲーム機」の有償配布を開始します。大苦戦した割に準備できたのは4セットのみです。 ケースの出来はよくありません。4セット制作するのに5個のケースを無駄にしました。合格としたケースも穴あけ位置が微妙にずれていたりします。問題はないのですが、美しくありません。。。 有償なのに申し訳ございませんが、ケースはおまけと思ってください!!品質の安定した工業製品ではなく、趣味の工芸品とご理解ください!! もう一つ心配事があります。PICkit3によるプログラムの書き込みです。 PICkit3は書き込み対象のPICおよび周辺回路に問題がなくても書き込みエラーを発生する場合があります。私も初めてPICkit3を使ったときは、PICkit2では書き込めるのにPICkit3ではエラーが発生し、ものすごく苦労しました。 PICkit3経験者は大丈夫かと思いますが、初めてPICkit3を使う方には同じ苦労をさせてしまうかもしれません。 発送直前に私の環境でプログラムの書き込みチェックは実施しますが、輸送による故障もあり得ます。書き込み環境(PC+PICkit3)が悪いのか、本ゲーム機が故障しているのか、判別が難しいです。 なんだか、マイナス面ばかりお話しています。それでも欲しい方がいれば、スタートアップガイドを確認のうえ、「EleganFactory」ー「プロジェクト」ー「EGP02 レトロ風電子ゲーム機」からお申込みください。 在庫なしの場合は、受注生産になります。お…

続きを読む

EGP02 鋭意、制作中・・・大いに苦戦中

急激に暑くなりました。 私の作業部屋にはエアコンが無いので暑いです。半田ごてで室温が上昇します。。。扇風機の風で半田の煙が目にしみます。。。 そんな環境の中、EGP02を鋭意、制作中です。 4組のボードが完成しましたが、まだ苦手なケース加工が残ってます。 前回配布のEGP01は、両面基板 且つ、穴あけが多かったので基板制作が大変でした。その反省を活かし、EGP02では配線パターンを頑張り、片面での配線を実現。さらに、できるだけ面実装部品を使うことで穴あけ数を減らしました。 左がEGP01。コネクタが多いため、穴あけ数が半端ない!!右がEGP02。穴あけはスイッチとコネクタが少々。 この努力により、基板制作は楽になりました。そう、楽になりましたよ。でも、でもね... 面実装部品の半田付けが大変だった!! あの、あのね...EGP01から6年たってるわけですよ...歳くっちゃってるんですよ...自分 近くて細かい物が見えません!! 老眼鏡をかけ、さらにルーペを使い、チマチマと半田付けします。目疲れる~ 肩こる~ さら、さらにですよ...液晶端子の半田付けがシビアなのです。 液晶を実装したところでPICにプログラムを書き込み、表示テストをするのですが、結構な確率で表示しないのです。 原因のほとんどが液晶端子の半田不良なのですが、半田を繰り返すうちに端子がペロッと剥がれてしまいます。 ボード4組の制作で2枚の液晶がオシャカ...私の心もお釈迦さま... ということ…

続きを読む

こんなのは如何? part2

需要があるかは、まったくもって分かりませんが、6年ぶりの新作「またしても、G&Wもどき」で紹介したゲーム機を「EGP02 レトロ風電子ゲーム機」として、有償配布するつもりです。 価格は完成品(ケース付き)を¥3,000+送料の予定です。 完成品ではなく、キットとした方が製造の手間が省け、早く、安く御提供できるのですが、キット組み立て後、動作不良が発生しときにサポートが難しいことから完製品を動作確認後に配布します。 オリジナル電子ゲームを作ってみたい方、G&Wっぽいゲーム機に愛を感じる方は如何でしょうか?回路図や搭載部品は公開済み、プロジェクトファイルは今後も公開していきますので、ハードを自作できる方は是非、クローンで楽しんでください。 私は下の写真のように、電子ゲームが全キャラクターパターンを表示した画面にトキメイテしまいます。。。 配布時に下記のゲーム3種+時計機能のプログラムを内蔵します。 ①Soul Catch電子ゲームで良くあるキャッチゲーです。画面上部の悪魔を操作し、下部から昇ってくる魂をキャッチします。 オリジナル要素として、キャッチした魂を貯めることでボーナスタイムに突入するルールを追加しています。 ②Soul Liberateこちらもキャッチゲーなのですが、左上、右上、左下、右下の4か所に死神を操作し、ゾンビの魂を天に帰します。操作感覚としてはG&W マンホールに近いですね。 ③Soul Rescue悪魔に囚…

続きを読む

またしても、G&Wもどき(開発の歴史)

前回は久々のEGP01ネタでしたが、今回は「またしてもG&Wもどき」に戻ります。 またしてもG&Wもどきで紹介したゲーム機は、最初から今の形だったわけではありません。試行錯誤を積み重ね、現状に至った開発の歴史があるのです。大した歴史ではないのですが、今回はその辺を紹介させて頂きます。 下の写真、試作機達が勢揃いです。左上が初号機、右下が最終機になります。 裏面の写真です。初号機から液晶はモノクロ、マイコンはPIC24F、電源はCR2032です。この辺の基本部品は最終形まで変わっていません。 試作初号機 液晶の動作を確認するのが目的で作っています。まだG&Wに似せようとはしていませんね。横幅を液晶サイズに合わせ、できるだけ小さく作ろうとしたんだと思います。 小さくはありますが、あまり格好良くもなく、初号機以降は大きく形を変えています。 試作弐号機 写真では液晶が付いてないです。液晶の表示が不安定で、端子の半田付けを繰り返すうちに液晶が壊れました。 液晶搭載部に穴が空いていますね。背面から光を取り込み、バックライト代わりにすることを考えました。、この穴のせいで配線、部品搭載が難しく、基板サイズが最終機より大きくなっています。 この弐号機だけ、電源スイッチ、圧電スピーカが基板表に搭載されています。何でだったけか??? 試作参号機 弐号機同様、光を取り込むために液晶背面に配線や部品を搭載しておらず、基板サイズが大きいです。 ここ…

続きを読む

EGP01 お蔵入りゲームの蔵出し

今回はEGP01でお蔵入りしたゲーム達、つまり制作途中で放棄されたゲーム達を紹介します。 趣味のゲーム制作は、仕事と違い重責を伴わないため、様々な理由により制作途中で放棄されることがあります。 面白くなかった...飽きてしまった...やる気がでない...仕事、家庭が忙しい... まるで他人事のように書いてますが私事です... すみません。。。 懺悔の意味も含め、お蔵入りゲーム達を紹介することにました。 ①RE_Shooting PacPonの後に制作したロータリーエンコーダを使ったシューティングゲームです。自機(宇宙船)の砲台をロータリーエンコーダで旋回操作し、16方向に砲弾を撃ちます。自機は自動で動きます。操作するのは砲台のみです。 遊べるところまで作られているのですが、なんだか面白くなくて放棄してしまいました。 動画撮影のために久々にプレイしたのですが、操作性が悪いです。ロータリーエンコーダの操作に、砲台の動作がついてこないときがあります。処理の隙間でロータリーエンコーダのチェックを行っているため、取りこぼしが発生しているのだと思います。 このあたりを修正すれば面白くなる可能性はあると思います。少しは。。。 未完成ですが、遊べないこともないのでプロジェクトファイルを公開します。ロータリーエンコーダがなくても、左スティックで操作できるのでEGP01をお持ちの方は遊んでみてください。 EGP01_RE_Shot.zip ②ソンソンもどき プーヤ…

続きを読む

強制横スクロールドットイートゲーム

PacPonに続く、PacXXXシリーズ第2段!! 強制横スクロールドットイートゲーム、、、 PacRoll(パクロール)です!! 「パックロール」の方が呼びやすい? 「スクロール」をもじってるので「パクロール」で良しとしておきましょう。 ひたすら右に進むパックマンを上下に操作し、壁、モンスターを避けながら、ドット、フルーツを食べます。 ドットを5個食べるたびにフルーツが出現、ドットを20個食べるとステージアップします。 このとき、パワードットが出現します。 後方からモンスターが追いかけてきますので、 追いつかれる前にパワードットを食べ、距離を離さなければいけません。 パワードットでいじけモンスターを食べ、高得点を狙います。 いじけモンスターを優先し、ドットを見逃しすぎると次のパワードットの出現が遅れるので注意です。 追いつかれる~!! 後は動画で紹介します。 「強制横スクロール」と謳ってますが、背景があるわけでなし、ただキャラ達が右から左に移動するだけです。 電子ゲームに良くある、「避けゲー」と「受けゲー」を組み合わせた感じですね。 FSTN液晶なので動きが速くなると残像がひどいです。何のフルーツか分かり難い... プロジェクトファイル一式を公開します。 MPLAB X IDE(v5.10)、XC16(v1.35)で作成。 EGP02_PacRoll.X.zip 今回はこ…

続きを読む

またしてもG&Wもどきを作る(オクトパス編)

「またしてもG&Wを作る」の締めくくりとして、動画およびプロジェクトファイル一式を公開します。 ケースへの組み込み方法、オクトパスの背景フィルムの取り付け、外付け電池の取り付け方が何となく分かると思います。 また、オクトパスの時計としての動作やゲームの雰囲気が伝わるかと思います。 上の動画で紹介しましたが、操作方法もう少し詳しく説明します。 基本M1、M2ボタンでモードを切り替えます。M2が「進む」、M1が「戻る」のイメージです。 ①時計表示  ・M1:「②時刻合わせ」へ移行  ・M2:「③オクトパス 全キャラ表示」へ移行  電源ONするとデジタル時計を表示します。  最初は年、月、日、時すべてが初期値"0"です。  M1を押して、年、月、日、時他を設定します。  また、M2を押してゲームモードに移行します  1分毎に時刻をフラッシュメモリに記録しますので、電池切れになっても初期値から設定する必要はありません。 ②時刻合わせ  ・M1:「①時計表示」へ移行  ・LR:設定項目変更 年→月→日→時→分→秒→校正→年に戻る  ・LL:設定項目変更 年→校正→秒→分→時→日→月→年に戻る  ・RU:各項目設定 +1  ・RD:各項目設定 -1  LR/LLボタンで設定する項目を設定し、RU/RDで値を変更します。  設定後にM1ボタンで設定を完了します。  設定値の抑止をさぼっているため、あり得ない…

続きを読む

またしてもG&Wもどきを作る(ハードウェア編④)

前回までは、 「こんなの作ったんだよ!! 見て、見て~!!」 というような内容が続きましたが、ようやく電子工作らしい記事です。 今回は、回路、使用部品について解説します。 まずは回路図です。 主要部品です。部品名をクリックすると購入先、部品の詳細情報が確認できます。 ①128*64 FSTN LCD 輸入代行業者経由で中国から購入しています。 部品単価は安いのですが、代行手数料、送料(中国国内、国外)がそれなりに掛かるため、纏めて買わないと割高になってしまいます。 最初はAITENDOのこちらを使って開発していたのですが、品切れになったため、輸入代行で購入しました。 AITENDOのLCDは制御方法は同じですが、液晶の特性が違い、非通電の状態で黒く発色し、初期化完了で透過します。 左が輸入代行購入品、右がAITENDO購入品です。 今現在(2019 6月)はAITENNDOで購入できるようです。 ただし、同じ形状の液晶モジュールでも制御コントローラやピン配置が異なる場合があるので上記回路図で動作する保証はありません。 ②圧電スピーカ 小型で薄い圧電スピーカです。今回のような機器にはピッタリな部品です。 ③SW_LU/LD/LL/LR/RU/RD 丸型2ピンのタクトスイッチです。 黒とシルバーの配色がG&Wもどきにピッタリです。 デザイン重視で採用しましたが、クリック感も軽く、操作性が良さそうです。 さす…

続きを読む

またしてもG&Wもどきを作る(ハードウェア編③)

今回のG&Wもどきは、「G&Wらしさ」をテーマに作成しました。 これは、机上でインテリアになれば良いとの思いからです。 机の上に懐かしのLCDゲームがあり、画面内でちょこちょことキャラが動き、時計としての実用性もある。 そんな物を作りたかったのです。 もちろんゲームで遊ぶこともできますが、それは二の次、飾ってニヤニヤするのが良いのです。 時計として使うには、常時電源ONにする必要があり、CR2032では電池容量が不安です。 そこで、準備したのはCR2リチウム電池 3.0V 750mAhと電池ホルダーです。 CR2032が約220mAhなので約3.5倍の容量があります。 この電池ホルダは、背面から端子が針のように出ていて、基板やブレッドボードに差し込めるようになっています。 ゲーム機の基板にはホルダの端子サイズに合わせ、電源コネクタを準備し、さらにケースに穴を空けています。 ここに電池ホルダを差し込みます。 電池を挿入すると、その重みを利用してスタンド代わりになります。 外付け電池は、容量をカバーするだけでなく、スタンドも兼用しています。 外付け電池を使用するときは、ゲーム機の電源スイッチはOFFとし、CR2032からの電源供給は停止させます。 また、外付け電池を交換するときは、電源スイッチONでCR2032から電源供給させることで、時計を止めることなく電池交換ができます。 実際の電池の持ちについては別途、…

続きを読む

またしてもG&Wもどきを作る(ハードウェア編②)

さて、ハードが完成し、オクトパスを画面表示しましたが、何か物足りませんよね...そうです... 沈没船や宝箱等の背景がないのです。 カラー液晶であれば色を変え背景を表示するのですが、本ハードはモノクロ液晶。黒で背景を書くのも無粋です。 そこで登場するのが、インクジェットプリンタで印刷できるOHPシートです。透明フィルムに背景画像を印刷し、液晶画面に被せます。 液晶の手前に絵があるので、正しくは前景になるのかな? OHPシートはPLUS製を使用しました。A-one製のOHPシートも試しましたが、PLUSの方が透明度が高く、液晶が見易いです。PLUSは片面印刷用、A-oneは両面印刷用なので、その差が透明度に響いているようです。 背景画像の作成方法を紹介します。画像作成にはIncscapeを使用しました。ドロー系でお絵描きし易く、寸法指定もできるので今回の用途にはぴったりです。 ① 液晶画面の枠を寸法指定で作成。             (写真、上段左)② 実機のオクトパス画面を撮影し、取り込みます。      (写真、上段中央)③ ①枠にケールを合わせ、②オクトパス画面を重ねます。   (写真、上段右)④ ③に背景を描きます。                  (写真、下段右)⑤ ②オクトパス画面を消し、背景の完成です。        (写真、下段中央)⑥ 背景を左右反転してます。                (写真、下段左)   インク保護のため、印刷面が内側…

続きを読む

またしてもG&Wもどきを作る(ハードウェア編①)

超久々更新です。6年ぶりです。 最終更新時に中学生だった娘は成人しました。。。 更新を楽しみにしていた方... 大変申し訳ございませんでした!! 深く、深く反省しつつ、久々の新作を紹介させて頂きます。 またこれ !? とおっしゃりたいのでしょう...? 分かります... またこれです。 永い時が過ぎさっても、娘が成人しても、私はいつも、これなのです。 今回のG&Wもどきのテーマは、すばり、「G&Wらしさ!!」 こだわりは外観です。電子工作ブログなのに回路ではなく、見た目重視です。 では、制作過程を紹介しながら、工夫した点を紹介させて頂きます。 まずは基板です。 ・マイコンはいつものPIC24Fを搭載。 ・液晶はモノクロ128*64ドットで端子を基板に直接半田付け。 ・電源はCR2032電池でホルダーを基板に直接半田付け。 ・時計機能のためにクリスタル(32.768kHz)を搭載。 ・あとは電源スイッチ、ICSP用コネクタを搭載。 電源をCR2032とすることで、薄型化しています。 CR2032でカラー液晶の動作は厳しいので、モノクロ液晶を採用、同じ理由でバックライト非搭載です。 過去のゲーム機よりスペックダウンしていますが、 本家G&Wも、モノクロ液晶、バックライト非搭載なので良しとしましょう... 良しとしてください。。。 反対面です。 ここで一工夫、基板にG&Wぽいシ…

続きを読む

EGP01でロータリーエンコーダを使う2

前回の続き、ロータリーエンコーダを使いブロック崩しを作ります。 クルクル回すコントローラー、パドル操作のゲームと言えば、まず思い浮かぶのがブロック崩しですよね。 初期のブレイクアウトやリメイクのアルカノイドが有名でしょうか? 二人同時プレイ可能で可愛いキャラのプランポップや、マージャンが題材の雀棒など個性的なゲームも多数ありました。 私が作るなら当然、レトロ風味なブロック崩しになります。 タイトルはPACPON、ナムコレトロキャラのドット絵をパックマンをボールに見立て消していきます。 動画です。 点滅するドット(ブロック)はパワーアップアイテムで、分裂または貫通パックマンになります。 全7ステージのクリアは比較的簡単です。 ミスを減らし、貫通を上手く使うことで高得点を目指します。 動画では最終面で点数表示がバグっています。 撮影後に修正ました。 ちょっとだけプログラムの説明です。 アーケードゲーム機のパドルは勢い良く回すと、手を離しても回り続けます。 これによりボールを跳ね返す"バー"を端から端へ高速に移動することができ、高速なボールにも対応できるようになっています。 しかし、本ゲーム機のパドル(ロータリーエンコーダ)は手を離すとすぐに止まるため、同じような操作はできません。 そのため、パドルを握り(つまみ)直さずにバーを端から端まで移動できるようにしないと、高速なボールに対応できなくなってしまいます。 握り…

続きを読む

EGP01でロータリーエンコーダを使う1

ロータリーエンコーダを使います。 秋月の2色LED付スイッチ付ロータリーエンコーダ(赤・緑)ツマミ付セットがゲームの操作にいい感じです。 軸を押し込むスイッチ付きのため、クルクル廻しながらスイッチを押す操作、チャンネルスイッチやローリングスイッチのような操作が期待できそうです。 赤と緑のLEDもゲームの演出に使えるのではないでしょうか? 早速、EGP01のオプションボードとして作成しました。 左側にはいつもの4方向ジョイスティック、右側にロータリーエンコーダを実装しています。 本体に取り付けると... ロータリーエンコーダがデカイ!! 無駄に存在感があります!! 回路図です。 ロータリーエンコーダの接続のみ記載しています。 それ以外はEGP01スタートアップガイドの回路図を参照ください。 ロータリーエンコーダのA、B端子とスイッチはPIC内部でプッルアップしています。 オプションボードの実装、配線図です。 ロータリーエンコーダは軸を回転させることで、 内部のスイッチ(上記回路図参照)がONになります。 A、B端子はPIC内部でプルアップしているため、通常"High"でスイッチONで"Low"になります。 下図のように時計回りでは、A端子が先にON、少し遅れてB端子がONになります。 反時計回りではB端子が先にON、遅れてA端子がONになります。 A、B端子の状態を組み合わせて見ることで回転方向が分かります。 …

続きを読む

ゲーム機の電源にスマホ充電用バッテリーを使う

 以前、小型なリポ電池を使うことでゲーム機を薄型化する記事を書きました。 たしかに薄型化は可能なのですが、リポ電池を使うには充電回路や安全回路が必要となり、 乾電池を使うのに比べ複雑な回路構成になってしまうのが難点でした。 もっと簡単に薄型化できる電源は無いかと考え、 スマフォ充電用のUSB出力バッテリーを使ってみることにしました。 これなら予め充電回路、安全回路が組み込まれているため、お手軽にゲーム機への組み込みが可能なはずです。 早速、比較的小型なバッテリー日本テラストテクノロジーMyBattery PiTAaを購入しました。  容量     : 1200mAh(3.7V)  出力     : USB5V(1000mA Max)  サイズ    : 約57mmx57mmx9.5mm  重量     : 約40g  安全回路  : 過充電、過放電、過電流、過電圧、ショート 手のひらサイズでいい感じです。 バッテリーの残量メータはありませんが、安全回路がキッチリしていればOK。 microUSBコネクタで充電、USB-Aコネクタから5V出力。また、スライドスイッチで5V出力のON/OFFが可能です。 このバッテリーを使い、EGP01互換機を作ってみます。 EGP01の回路に追加する部品は、下記の5V⇒3V降圧レギュレータ(+コンデンサ)のみです。  レギュレータ(3V 250mA) XC6221B302MR-G  \ 5…

続きを読む

EGP01でG&Wもどきスペシャル

たいへん御無沙汰しております。 諸事情により長らくお休みしておりましたが、また、ぼちぼちと更新させて頂きます。 相変わらず偏った方向の工作ではありますが、よろしくお願いします。 さて、 お久しぶり第一弾はG&Wもどきです。 以前にG&Wのマンホールやオクトパスを記事にしたことがありますが、今回は6種類のゲームで遊べるスペシャル版になっております。 完全移植とはほど遠い、もどきではございますが、 EGP01キットをお持ちの方で、G&Wを懐かしいと感じる方は是非、遊んでみてください。 メニュー画面です。 左右のスティックでゲームを選択、右センターボタンでゲームを開始します。 左センターボタンで音の有、無が選択できます。 遊べるゲームは以下の6種類と、その6種のメドレーです。  ・ヘルメット  ・マンホール  ・オクトパス  ・ファイア  ・バーミン  ・フラッグマン 各アイコン下の赤い数字は、各ゲームのハイスコアです。 電源を切ってもハイスコアは消えません。毎日少しづつ記録更新に挑戦できます。 ヘルメットです。 降ってくる工具を避けながら、作業員を左から右の建物へ移動させます。 左右のセンターボタンで作業員を左右に操作します。 オリジナルのG&Wは、ゲーム序盤の難易度が低すぎ退屈に感じます。 そこで、すぐに難易度が上がり、大量の工具が降ってくるよう調整しました。 大量の工具が降ってきますが…

続きを読む

EGP01でスーマリもどき2

 かなり間が開いてしまいました。 少々仕事が忙しかったのもありますが、いつもの怠け心が最大の原因です。 時期が時期だっただけに御心配をお掛けしたかもしれません。 失礼しました。 さて、3ヶ月以上前に紹介のスーマリもどき、ようやくプログラムを公開できるレベルになりました。 とは言え、ゲームシステムのほとんどは3ヶ月前に完成しており、足りないのは主に、以下の項目になります。  ①敵が出ない  ②キノコが出ない  ③1面のマップデータしかない  ④BGMがない で、現状は以下です。  ①敵は出ないまま  ②キノコは出ないまま  ③マップは全3面で、地上面のみ。  ④BGMは鳴るが、音階ズレあり。 ほとんど変わってないじゃん!! 3ヶ月以上も何やってたの!? いゃ だから、仕事が少々...怠け心が少々... 一応、ゲームとしては成立してます。 ゴールまでの制限時間を短くしてあり、 少ない時間でいかにコインを獲得するかが、ゲームの肝。 純粋にジャンプテクニックを競うゲームに仕上げてあるのです。 と言い訳したところで、動画をどうぞ。 ・・・ ちゃんとした移植を期待した方には申し訳ない気持ちでいっぱいです。 ガッカリした後は、ちょっとだけ解説します。 ゲームのBGMや効果音は面白さに関わる重要な要素です。 最低でもBGMと効果音の2音を同時出力できなければ、とっても寂しいゲームになると思い…

続きを読む

EGP01でスーマリもどき

 プログラミング講座の続き、「キャラ操作編」のためにマリオを移動&ジャンプさせてみると 結構良い感じに動いてくれました。 調子に乗ってアレコレと追加していくうちにスーマリもどきになっちゃいました。 講座のことはすっかり忘れてしまっています... もちろん初代ファミコン版です。 まだ、敵キャラはでません。 キノコも出ません。 よって、スーパーマリオなのにスーパー(でかマリオ)になれません。 いろいろと未完成ではありますが、マリオを操作するだけでも、なかなか楽しめます。 さすが名作です。 もう少し作り込んだらプログラムを公開する予定ですが、とりあえずご紹介まで。 では スーパーマリオコレクション スペシャルパック任天堂 2010-10-21 Amazonアソシエイト by

続きを読む

EGP01キット プログラミング講座(キャラを動かす編)

EGP01キット用のプログラミング講座です。 前回はグラフィックエディタでキャラを描画し、液晶に表示しました。 今回はその続き、キャラのアニメーションと移動です。前回講座を確認のうえ、本講座をお読みください。 1.キャラデータの作成 まずはグラフィックエディタで下記①②を描画します。 グラフィックエディタの使い方は前回講座の「2.キャラデータの製作」を参照してください。 描くのがメンドイと言う方はこちらからセーブデータ(SpMario.pgd)をダウンロードし、グラフィックエディタで開いてください。 ①Mario 下図、12パターンを描画します。 0~11の数字はパターン番号を示しています。(プログラムの解説で使用) (画面クリックで拡大) "キャラクタ設定"は以下に設定。  ネーム    :Mario  サイズX   :16      Y   :16  パターン数 :12  データ出力 :チェック ②Block グラフィックエディタ下部"ページ(キャラクタ)切替"の[2]をクリックしページ2に切替、下図2パターンを描画します。 (画面クリックで拡大) "キャラクタ設定"は以下に設定。  ネーム    :Block  サイズX   :16      Y   :16  パターン数 : 2  データ出力 :チェック ①②を描画したら、セーブします。セーブ名はなんでも良いのですが、とりあえず"SpMario.…

続きを読む

EGP01キット プログラミング講座(お好きなキャラを表示する編)

EGP01キット用のプログラミング講座です。 今回は「お好きなキャラを表示する」をテーマとします。 グラフィックエディタでお好きなキャラを描画、そのデータをdsPICプログラムに組込み、液晶に表示します。 プログラミング講座と題していますが、雛形プログラムの関数に液晶制御を任せるため、複雑なコード記述は不要です。今回は環境の準備、グラフィックエディタの使い方がメインとなります。 以下の流れで環境準備、キャラデータ製作、プログラミングを行います。 1.準備(プログラミングツールのインストール)  (1)MPLAB IDE  (2)MPLAB C30  (3)PICkit2 Programmer 2.キャラデータの製作  (1)グラフィックエディタのダウンロード  (2)VB6ランタイムライブラリのインストール  (3)グラフィックエディタの起動  (4)キャラの描画  (5)セーブ、ロード方法  (6)キャラデータ出力 3.dsPICプログラミング  (1)雛形プロジェクトファイルのダウンロード  (2)雛形プロジェクトファイルのコピー、リネーム  (3)キャラデータファイルのコピー  (4)液晶表示プログラム 4.プログラムのEGP01キット書込み =========================================== 1.準備(プログラミングツールのインストール)  (1)MPLAB …

続きを読む

配布キットのケース組込み例

 配布キット(EGP01)のケース組込み例です。 本キットはテイシン電機 モールドケース(TB-55B)に横幅がピッタリ収まるよう設計してありますが、高さ方向を合せるために、いろいろと加工が必要となります。 その加工方法をケース組込みガイドに纏めてみました。 ケース加工は不得意中の不得意なので参考になるかは微妙ですが、何かのヒントになれば幸いです。 「オレならこうする」「オレはこうした」等のアイデア、実例があれば是非ご紹介ください。 また、「PACMANもどき」のEGP01キット版をこちらの「5.関連プログラム」に公開しました。 ワープ、コーヒーブレイク時に表示が乱れるバグがありますが、とりあえず、そのままとしています。 お許しを... 以上です。

続きを読む

brainさんの倉◎番もどきを移植する

 brainさんのブログで公開中の倉◎番もどきをEGP01キット用に移植しました。 移植と言っても、brainさんのゲーム機とEGP01キットは同じマイコン、LCDを使っているため、ピンアサインの変更程度で動いてしまいます。 brainさんは私と同じく、"趣味のゲーム機製作"を楽しんでいらっしゃる貴重な同志で、PICと液晶でゲーム機を製作、発表されています。現在、PIC32に挑戦中とのことなので、今後、高性能ゲーム機の登場が期待されます。 倉◎番は説明不要の超有名パズルゲームで、過去、様々なゲーム機、パソコンに移植されてきました。 私は20数年前の愛機、PC6001mkⅡで遊んだ時以来、久々のプレイです。 このゲームは爆発的に面白いわけではないと思うのですが、つい、一面、もう一面とやり続けてしまう魅力があるんですよね。 brainさんの倉◎番もどきは細かいところまで良くできています。 マップ全体を表示する縮小表示モードと、マップの一部を拡大表示し、スクロール移動する拡大表示モードがあり、このモードを切替えることで液晶画面の狭さと小ささ(128x128ドット 1.44インチ)を上手くカバーしています。 また、面クリアまでのステップ数(スコア)の表示や面セレクト機能もあり、全30面のボリュームと、さらに簡易MAPエディタ(Windowsプログラム)でオリジナルマップも作れると言う、至れり尽くせりな仕上がりとなっています。 「とりあえず動くところまで作っ…

続きを読む

TFT液晶ボードゲーム化キット(配布開始)

 準備に時間が掛かってしまいましたが、とりあえず、6セット準備しました。 配布希望の方はこちら の 「プロジェクト」よりお申込みください。 たったの6セットしか準備できず申し訳ないです。 "たったの"になるには、申込み頂ける方が6人以上いる必要があるのですが、 6セット配布完了後は受注生産になります。 お申込み後に製作を開始し、配布準備完了まで2週間くらいかかると思います。 お待たせしちゃってすみませんが、気長にお待ちください。 また、キット以外に準備が必要な部品があります。 スタートアップガイドに記載していますのでお申込み前に確認ください。 宜しくお願いします。 スタートアップガイドには回路図も記載しています。自作が可能な方は是非、チャレンジください。 以上

続きを読む

こんなのは如何?

 ゲーム作りは、その製作過程も楽しいのですが、やっぱり遊んで貰ってナンボだと思うわけです。 たいしたゲームでなくとも、いろんな人に遊んで貰いたいわけです。 それが私の願望であり、モチベーションにも繋がるわけです。 しかし、自作ゲーム機でしか動かないゲームは、そう言う意味で絶望的です。 ゲームを遊んで貰うためには、ハード製作のハードルを越えて貰わなければならず、 このハードルを楽々越えられる方は、他人の発表した回路をそのまま作ろうなどとは思わず、 オリジナルのハード製作に打ち込むことと思います。 そこで、私の願望を少しでも叶えるため、次のものを製作してみました。 Aitendo ZY-FGD1442701V1-PCB(TFT LCDキャリーボード付き)専用のCPUボードとコントローラボードです。 写真右下のCPUボードにはdsPIC33FJ128GP804を搭載。 写真右上のコントローラボードには4方向+センタープッシュ付きタクトスイッチを2個搭載。 この2枚の基板でZY-FGD1442701V1-PCBをゲーム機に仕立て上げます。 まず、CPUボード裏面のコネクタで ZY-FGD1442701V1-PCBを取付けます。 次にZY-FGD1442701V1-PCBを挟むように、CPUボードと コントローラボードを接続します。 あとは3Vの電源を接続すれば完成です。 一応、ケース収納も可能です。 テ…

続きを読む