コードを書き始めてはみたものの……。

 前回の記事でゲームパッドの入力を司るクラスを書いていると言いましたが、コードを書いている最中で「ほんまにこのクラスは要るんやろうか?」と思い始めました。
 と言うのも、豚は「DXライブラリ」を使わせて頂いてコードを書いているのですが、このライブラリは凄く良くて来ていて、ゲームパッドの状態を知らせてくれる関数もあるので、わざわざクラス化する必要も無いのかなと思いました。
 しかしその度々に関数を直接呼び出すのもスマートでは無いので、マウスの入力も同時に知る事が出来るようにクラスを作っていこうかと思っています。
 まぁマウスの状態を知る関数もDXライブラリには有るので、これもクラス化する必要があるのかと言われれば考えてしまうのですが……。

 何故豚がクラスに拘るのかと言いますと、今回の目標である「ドラクエもどき」を作成するに当たって、クラスライブラリを作成しようと思っています。自分だけのクラスライブラリを作っていれば、次回作を作るときにも便利になりますし、何より自分の思うとおりに動作をデザインする事が出来ます。本来はC/C++の標準ライブラリには無い物で、痒いところに手が届くと言うような関数を作って行くものなのですが、豚は究極の面倒くさがりなので、同じコードを何度も書くのが面倒でクラス化してしまおうと考えているわけです。

 そう言う意味でも今回のようにいきなりコードを書き始めるのは間違いで、クラス分けを終えてから一つ一つクラスを作っていき、最後にメインプログラムを制作するべきです。
 まだ本格的にコードは書き始めていませんので、今からもう一度ゲームの設計を考えるところからやり直そうと思います。

 今回のプロジェクトに使える時間は、各種ツールの制作も含めて2年半。勿論、弟の介護がメインになるのでフルに時間が使えるわけではありませんが、やれる限り頑張ってみようと思います。(鬱の波には勝てませんが……。)

今日はドラクエⅡ発売35周年らしい……。

豚が初めてプレイしたドラクエです。

 豚が初めてプレイしたドラクエは「ドラゴンクエストⅡ」でした。中学生の時だったか、高校に入ってからだったかは憶えていないけど、豚はファミコンを持っていなかったので友人から本体を借りてプレイしたのが最初です。
 その後、MSXでも初愛されているのを店頭で見つけて衝動買い(と言っても当時のお小遣いを使い果たしました)し、試験期間だったにも関わらずのめり込みました。
 ロンダルキアへの洞窟で理不尽な目に遭いながらも何とか洞窟を抜け、一面白銀の世界に出たときには本当に感動しました。それが余りに印象的すぎたので、クリアしたときの事は憶えていません。

 そして時間は流れ高校生になってから、あの名作「ドラゴンクエストⅢ」が発売されました。
 その時は友人が学校を休んでドラクエⅢを買いに出かけていました。皮肉な事にその様子がテレビのニュースで放映されてしまい、翌日学校でこっぴどく怒られていたのを憶えています。
 その時もファミコンを持っていなかった豚は、その友人が攻略してから本体ごと借り受けて、熱心にプレイしていました。
その時から「いつかこのゲームをパソコンに移植してやる!」と思い始め、豚のライフワークである「ドラクエもどき制作プロジェクト」を立ち上げるきっかけになりました。

豚は未だにⅢが最高傑作だと思っています。

 あれから数十年、いつかはやろうと思って居たライフワークですが、豚が社会人をドロップアウトしてから時間を取れるようになり、またコツコツと取り組み始めています。
 高校時代に思い立ってから今はもう50歳になってしまいましたが、豚がこの世を去るまでには何とか形にしたいと思っています。
 本当は「ドラクエⅢ移植プロジェクト」として立ち上げたのですが、「ドラクエⅢ」は色んな新しい技術が詰め込まれており、豚が一人でゲームの分析からドット絵の作成、マップの作成、イベントの作成、それらに伴うモジュールの作成と考えていると、「これはとても無理だぞ」と言う事が見えてきました。
そこで友人の助言もあり、いきなり「ドラクエⅢ」に取り組むのでは無く「ドラクエⅡ」若しくは「ドラクエⅠ」の移植から始めて見る事にしました。
 しかし万一このプロジェクトが成就しても、「ドラゴンクエスト」としてPCで公開する事は出来ません。ありとあらゆる権利関係を侵害する事になりますので、「ドラクエ」と似て非なるもの、即ち「ドラクエもどき」を作る事にしました。
 と言っても公開しないだけで「ドラクエⅠ」又は「ドラクエⅡ」の移植を諦めたわけではありません。
 完全に自己満足になりますが、外部には一切公開しない形で移植をしようと思ってます。
 但し、豚は全く音楽を作る事が出来ませんので、音楽は「すぎやまこういちさんのオーケストラ版」やファミコン音声からそのままお借りしようと思っています。その他のマップチップやキャラクタ等は、レトロフリーク又はエミュレータで画像を撮影して、1ドット1トット独自に作成したオリジナルのキャラクターエディタで再現していくつもりです。
 実は昨年には「ドラクエⅢ」の出発点の街でのスクロールまで、出来るようになっていました。後は足りないキャラクタを作成してマップも作成して、と進めていけるところでしたが、豚の悪い癖でサーバやNAS、それにメインマシンのあちこちに、同じ名前のフォルダやファイルを作っていて、どれが最新の物かわからなくなってしまい、最後はサーバのHDDが吹っ飛ぶという悲惨な目に遭いました。
 結局また一から制作し直して、ついでにそれらを制作するために必要なツールも、始めから書き直す事にしました。
 今はゲームパッドの入力を司るクラスを、C++で書いているところです。

 世の中には強者がいて、ExcelでドラクエⅡを完全再現している人が居たり(これは公開されています。良いのか悪いのかは別にして、完成度は完璧です)、僅か数時間でDOSプロンプト上で動作するテキストキャラクターのみでドラクエⅠを作る人が居たり、みんな凄いなぁと感心しています。
 でも、もしスクエアエニックスが公式に「ドラクエ」シリーズをPCで公開したとしても、豚は自力でコツコツと作っていこうと思っています。

 正直、弟の介護に関わる時間は今後は劇的に増えていくと思います。豚が自分の時間をどの位確保できるかわからないですが、今日から3年以内には何らかの結果を残そうと考えています。

 しかし誰か手伝ってくれないかなぁ……。一人で何から何までやるのは相当キツいです……。これもまぁ自分の夢ですので、他人を巻き込むのは筋が違うかも知れませんね。

肋骨にヒビが……。

 昨夜、ソファーで仮眠中に宅配便が来て、慌てて起き上がろうとした時にスリッパに足を引っかけてそのまま勢いよくキャットタワーに突っ込む形で盛大に転けてしまいました。
 その時は余り痛みは感じなかったのですが、本格的に寝ようとソファーに寝転んだときに、思わず呻き声が出てしまう程の痛みが胸に走りました。
 その時は「朝になったら治るだろう」と思ってそのまま寝てしまったのですが、午前0時に起床したときには痛みが酷くなっていて、姿勢をうつむき加減にする時に激しい痛みが胸に走るようになっていました。

 そして今日、朝一番に整形外科の俊徳道クリニックに行き、レントゲンを撮って貰いました。先生が開口一番に「内臓には損傷は無いけれど……」と仰ったので、「あ~折れたのかなぁ」と思っていたら、「折れてはいないけど、ヒビが入った状態やろうね」と言われました。
「本当ならバストベルトをして、肋骨を固定するのが良いんだけど、あなたの場合は合うサイズのベルトがないので、そのまま痛み止めで乗り切って貰うしかないねぇ。3週間は痛いよぉ~」と楽しそうに仰っていました。

 豚は以前にも肋骨(正確には六軟骨)を骨折した事があるのですが、当時は病的に痩せていたのでコルセットで固定していました。今は太りすぎて合う物が無いとは……。

 そしてそのまま弟の代診で掛かりつけの内科クリニックへ行きました。ドアには「都合により当分の間、休診します」との張り紙。?と思ってインターホンを鳴らすと先生がガラスのドアの前まで出てこられて、何やら仰っている様子。でも余り聞こえなかったので首を傾げていると、「電話して!」と聞き取れたのでクリニックの前から電話を入れてみました。
 先生は「体調を崩してしまって診察が出来ない状態やねん」との事。「弟さんの処方箋かな?」と聞かれたのでそうだと答えると、「FAXで薬局に処方箋を送っておくから、暫くしてから取りに行って~」と仰いました。「風邪を引かれたんですか?」と伺うと「いやぁ、体調を崩してしまって具合が悪いねん。ごめんやけど薬は全て院外処方でお願いします。」とのこと。
 コロナじゃなければ良いのですが……。何かみんな具合の悪い新年を迎えてるんやなぁ。

正月太り……。

 豚の自宅にはオーブントースターと言うものがありませんでした。3年前までは有ったのですが、さつき(黒猫)が我が家に来てから、リビングで暴れるようになり、ジャンプした勢いでオーブントースターを棚から落下させて破壊してしまいました。

 昨年末、親戚の結婚祝いのお返しにカタログギフトを戴き、その中にタイガーのオーブントースター(15,000円程度のもの)が掲載されていたので申し込みました。
 さつきも3歳になり、少しは落ち着いたのか棚からものを落とさなくなりましたので、届いたオーブントースターを設置しました。
 しかしこれがいけなかった……。

 鏡開きの時に鏡餅をバラすと、中から10個程の丸餅が出てきました。これを貰って、自宅で餅を焼きご飯を軽く一杯の上に焼いた餅を載せ、食塩を少しかけてお茶をかけてお茶漬けにしたところ、これが物凄く美味しい。病みつきになり、空腹になったら餅茶漬けをしていたら、あっという間に餅が無くなったので、通販でこっそりサトウの切り餅1kg入りを2袋購入して、毎日食して居ました。

 それで体重を量ると、見事にリバウンド。現在体重は136kg。少し動くだけで酷い腰痛と膝の関節痛に悩まされ、余計に体を動かす事が無くなり、益々肥満に輪をかけてしまいました。

 年内に100kgを切りたいと思っていますが、そこまで痩せるのは無謀かも知れません。でも頑張ります。今でも心臓に少なくない負担をかけているので、このままだと60歳を迎える事無くあの世に旅立ってしまう事になりかねません。

 本腰を入れてダイエットを頑張ります。

三日坊主どころか……。

 年末に「新年から○○をやる!」と色々と目標を挙げましたが、三日坊主どころかまだ全く手を付けてません。
 気が付くと三が日が終わり、既に十四日。間もなく旧正月を迎えようとしています。
 せめて昨年に購入した「黎の軌跡」くらいは最後までやり切ろうと思うのですが、何故かやる気が出ずに1時間も続けられません。

 ドラクエもどき制作プロジェクトも、先ずはジョイカードの入力を管理するクラスを作ろうとしてプロジェクトを作ったのは良いけど、まだ肝心のコードは全く書いていません。
 このままではまたダラダラと一年を過ごしてしまい、年末に後悔する事になるのは目に見えています。

 新年早々「破廉恥で怠惰な豚」になってしまっているので、今日から少しずつでもコードを書いて行こうと思います。

 頑張ろう。

PC-8001を購入。

PasaocomMini PC-8001

 PC-8001と言ってもPsocomMini PC-8001です。未使用品がメルカリで13,000円で売られていたので、購入しました。
 このPasocomMini PC-8001はPCGが付いていないので、ノートパソコンを購入した人だけが貰えるキャンペーン版だと思います。後に市販された物はPCGが添付されているはずですので……。 このPC-8001は言わずと知れたエミュレータ機です。N-BASICが使えて、当時のカセットテープに記録されたゲームやソフトが有れば、音声をWAVに変換することによりそのまま読み込めて実行出来るらしいです。
 豚が初めて買って貰ったパソコンはPC-8001mkⅡでしたので、当然N-BASICのソフトも持っていました。しかし離婚時に掃除業者に自宅にある物を洗いざらい引き取って貰った中に、PC-8001mkⅡと周辺機器一式が含まれていたらしく、今は納戸を幾ら探しても見つかりません。今は亡き祖母に買って貰った大切な思い出の品なのに、とても残念なことをしてしまいました。

 多分明日辺りに到着するのでは無いかと思うのですが、それまでにモニタやキーボードと接続するためのケーブルを用意しておかなければなりません。HDMIはHDMI-mini端子ですし、USB端子はmicro USBですので、それぞれ変換が必要となります。
 また豚はこの手の機械のシステムをぶっ壊すのが得意ですので、最初にシステムのバックアップを取らなければなりません。システムはmicro SDに収められているので、ライティングツールを使えば吸い出しも出来るのかな? やった事が無いですが、システムを壊してしまわないように吸い出してバックアップを作っておこうと思います。

 N-BASICが使えるという事はMONコマンドも使えるのかな?このコマンドはマシン語モニタに入るコマンドで、ハンドアセンブルしたマシン語のコードを入力したり、記憶装置に保存したりする為のものです。
 例えばBASICででもコードを書いて保存したいときは、一体どこに保存されるんだろう……? システムの入っているmicro SDなのか、それとも別の記録媒体に保存出来るのか、全く不明です。

 色々と弄りたいのですが、メモリマップ等の最低限な資料も添付されて無さそうなので、ネットで調べる必要がありそうです。

 何はともあれ、到着が楽しみです。(豚の財布は空っぽになりましたが……。)

 

久しぶりにスマホを購入。

OPPO A73

 以前から「ラジスマ」対応のスマホを中古で探していましたが、中々市場に無く、有っても結構価格が高かったので手を出せずにいました。
 豚は移動中はFMラジオを聞いていることが殆どなので、今まではスマホアプリの「ラジコ」を使って視聴していました。
 しかし「ラジコ」は当然ながらデータ通信を行っているので、データ使用量を圧迫しています。(まぁ使用データ量は僅かなので、気になる程ではありませんが……。)
 現在スマホは2台持っていて、1台はDoCoMo契約のiPhoneX(こちらがメイン端末)、もう1台が親父と同じ富士通のスマホで(型番は失念)、格安SIM契約です。iPhoneXの方は結構シビアな契約で、月々の基本料金は安いですが、データ量は2GB迄と言う、何もしていなくても結構ギリギリな感じです。これを超えると料金がグンとアップしてしまうので、iPhoneは本当に電話とメールのみに使用しています。
 いつもは富士通のスマホをラジオ代わりに持ち出していて、こちらでラジオを楽しんでいます。本当はiPhoneXとモバイルWiFi(20GB契約)で良いのですが、何だか面倒でスマホのみで視聴するようになってしまいました。

 今回購入した「OPPO A73」はまだ実際に見た訳ででは有りませんが、店頭POPで「FMラジオ対応」と書かれていたので、すぐさま飛びついてしまいました。(Webに掲載されたPOPを確認)
 ただ心配なのは「ネットワーク対応が○と-が入り交じっている」とのことで、どちらの場合でもネット使用には問題ないとの事。さらに永久赤ロム補償が付いているので、ネットが繋がらなくてもショップが交換対応をしてくれるらしく、少しは安心出来るのかなと思います。
 価格は未使用品が12,022(税込・送料550円)でした。2020年末に発売された機種なので、1年落ちと言う事もあり叩き売られていたんだと思います。
 色はいつもブラック系統のスマホばかり購入しているので、今回はダイナミックオレンジにしてみました。どうせスマホケースを取り付けるので同じだと思いますが、気分的に今年は明るく行こうと決めましたので、明るい色にしました。
 早ければ明日にも発送して貰えそうですので、明後日には手元に届きそうです。
 楽天版と言うのが気に食わない所ですが、SIM ロックFreeなので良いかな……。まぁこのスマホにSIMを挿して使うことは滅多に無いと思いますが……。

 他にも新年の売り出しにiPhone SE(第2世代)とかiPhone12 miniとか安売りをしていて、思わずこちらを買うところでしたが、今回は踏み止まりました。どちらも未使用品という所に惹かれましたが、iPhoneはメイン端末に1台有れば良いなと思います。予定では折り畳み式もラインナップに加わるであろうiPhone14はスルーして、iPhone15を購入しようと思っています。ゲームをする訳でも無く、写真や動画を撮る訳でもないので、本当に通話とメールさえ出来れば良いんです。ゲームは今回購入した「OPPO A73」で遊ぶつもりです(と言ってもドラクエ位しか遊びませんが)。

 OSはAndroid10ベースのColorOS7.2だそうで、多分このスマホ用にカスタマイズされているんだと思いますが、果たしてどれ位互換性を保っているのかが、少しだけ不安ですね……。
 Android11ベースにアップデートも出来るとの事ですが、さてさてどうなる事やら……。

新年2日目……。

 つい昨日までまだ年末のような気がしていたのに、今日はもう1月2日。元日は何だかバタバタしていたので、まだ師走の続きのような気分でした。
 1月は去ぬ、2月は逃げると言われるように、ボーッとしていたらあっという間に時間が過ぎて行くんでしょうね。

ドラえもんの名言

 年末に14歳の中学生が東大数学をバリバリ解いていて、学校がつまらないと言う人の特集をやっていました。学校では授業がつまらないのでもっと難易度の高い問題集を解いていたら、先生に見つかって怒られたり、何か分からないことが出来て先生に聞いても、難易度が高すぎて答えてくれる先生が居なかったりと、天才ならではの悩みを口にしていました。
 結局その人は公立中学に籍を置いたままフリースクールに通って、好きな勉強を思う存分やっているという事でしたが、その子が今ハマっていることはプログラミングとのこと。言語は何を使っているのかという質問には、Pythonでも無くスクラッチでも無くて、何とC++。
 この人と豚を比べるのも烏滸がましいですが、何となく親近感を持ちました。

 こんな天才は別格として、豚のように平凡以下の能力しか持っていない者は、日々努力しか有りません。これは何歳になっても、死ぬその日までずっと続けなければならないことだと思います。不幸にも途中で認知症に襲われる危険性もありますが、それを避けるためにも頭は錆び付かせてはいけないんだと思います。
 今年の目標として豚は、PythonとC#の習得を挙げていましたが、年末の特集を見てからは、折角身につけたC++をこのまま忘却の彼方に追いやってしまうのは勿体ないので、時間が許す限り復習をして忘れてしまわないようにしようと思います。
 未だゲーム制作の現場ではC++が使われている所も多いと聞きます。C/C++はアセンブラのようにハードを直接叩くことも出来ますし、Python等に比べると高速に実行出来ると思います。

 兎に角、豚は今年からは介護の合間を縫って、コツコツと学ぶべき事柄を身につけて行こうと思っています。塵も積もれば山となる。毎日の積み重ねが今すぐでは無くても、物を言う時が来るかも知れません。そして例え無駄になったとしても、ボケ防止の頭の体操だと思えば、全くの無駄にならないでしょう。
 頑張ります!