“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

HSPプログラムコンテスト2025 結果発表~♪

本日、2025年12月1日、HSPプログラムコンテスト2025の結果発表がありました。
結果、「たまねとりっぷ!」が、プロ生ちゃん賞をいただきました!

自信があったのは「月面鮫」の方だったので、ちょっと意外ではありました。
サメゲー三年連続受賞ならず。残念。

評価していただけたのは、意外にもプレイヤー登録の部分。先に作っていて良かったですw
もともと親子や兄弟で遊ぶことを想定してたので、セーブデータは分けた方がいいよね?の精神で作ったものなので、嬉しい評価でした。

さて、「たまねとりっぷ!」は、放置しますと言ってはみたものの、やっぱりアイデアが具現化できていないことが心残り。
優先順位は下げますが、来年もモチベがあれば完成に向けて手を入れていきます。

来年も懲りずにサメゲーム作りますよww
それと、ぼちぼちではありますが、ラズパイ竜巻鮫もやっていきます。
2026年もネタには困らないな。

277.竜巻鮫 リアルゲームウォッチプロジェクト その7

2025年のHSPプログラムコンテストへの応募も終わったので、ラズパイに戻る。

液晶画面への表示を先にやりたいところだが、また泥沼にはまりそうなので、まず、ボタンがちゃんと動く(反応する)のかを確認したくなった。

GamePi Wikiにピンアサインの番号が書いてたと思ったので確認。

https://www.waveshare.com/wiki/GamePi20

その番号をもとに、HSP3で入力状態を確認するプログラムを作ってみた。

Linux版のHSP3は、devcontrol命令がGPIOピンの入出力に対応している。

;GPIOのPIN20の値をゲット
devcontrol "gpioin",20
pin20=stat

作ってみたのだが、まったく違うボタンが反応している…このWiki、もしかして信用できないのか?
ただ、ボタンを押すと、1が0になって反応自体はしているから、40ピン全部しらみつぶしで探すことにした。
やっぱり、Wikiとは全く違っていた…

対応しているピン番号が分かり、筐体についているボタン類のオン/オフの状態は、すべて取得できることがわかった。
同時押しももちろんOK。逆に同時押しをちゃんと処理しないと、変な動作になる。ただ、竜巻鮫は、移動キー+攻撃キーの同時押しぐらいしかないので、処理は簡単な方かな?

まだまだ先は長いけど、少しずつ進めます。

276.HSPでゲームを作ろう:たまねとりっぷ! その34

ゲーム本編のお話。
wttr.inから天気情報が取れないとき、天候や気温などをランダムにしていた。
完全にランダムにしまうと、不都合がでる。天気が雪なのに、気温が30℃とかにするわけにいかない。
ある程度判定して、場合分けすればいいんだけど、世界地図にはどうやって表示しようかと悩んだ。

はじめは、取得できなかった時の国は、プレイ記録をDBから取得するときに対象外にしようと思っていた。
そうすると、世界地図も一覧もすっからかんになってしまいかねない。

国をランダムにしてしまうことも考えたけど、しっくりこず。
そこで思いついたのは、伝説の都市、架空の都市、場所の天気として出すこと。「アトランティス」「邪馬台国」「バミューダトライアングル」などw
国情報のDBに登録しておけばよいので、これはいける!と思ったのだが…
国旗の画像を作るのと、どの地点を示せばよいのか考えなくてはならない。締切まで時間がないw

ということで、将来的な余地を残しつつ、今回はネットから情報が取れない場合はすべて「アンノウン」という国にすること。国旗は自分で適当に書いたw
緯度経度を無しにすると、地図上にピンが立てられないので、今回は、陸地から最も遠い場所「ポイント・ネモ」の座標にさせてもらった。
天候は、天候情報DBからランダムで取得して、気温などの情報をさらにランダムで設定した。

ネットから情報が取れないと「アンノウン」に

ここまで作って、コンテストに応募した。
この時点で締切2日前。もう少し何かできないかと思い考えたところ、クリア型のゲームなのに、プレイ記録にクリアしたかの情報を表示していなかったwww
プレイ記録テーブルに、クリアフラグを追加。それを取得してレコード表示ごとに判定。一覧表では、「くりあ」の文字を、世界地図ではゴール時の旗を表示するようにした。

「くりあ」の赤文字を表示
ゴール旗を右端に表示

ゲームとして最低限の機能や、体裁しかできてないが、足掛け2年やってきて、モチベも下がり気味であることもあり、いったん終わりにする。

275.HSPでゲームを作ろう:たまねとりっぷ! その33

各画面、ほぼデバッグ用の表示のままだったので、いろいろとゲームになるように作ったり、修正した。

ステージ開始前に訪問する国と天気情報を表示してみた。

ゲーム中のステータスを表示する右側の領域。はじめは国名だけにしていたが、せっかくなので国旗も表示してみたら、なかなか良くなった♪

そしてメニューとして表示していたが、中身のなかった遊び方、クレジット画面を作った。

遊び方。見づらい…
クレジット画面

オプション設定は、本当はもっといろいろあるんだけど、最低限のBGM、SEの音量設定だけ実装した。

見よ!このスッカスカの設定画面!w

この設定も、SQLiteに記録するつもりで、テーブルとカラムを設計したつもりだったが、まったく使えない設計になっていたww
今さら設計変更する時間もないので、外部ファイルで読み書きしようと思った。これすらも作るのが時間が足りない。
ふと、何年か前にiniファイル編集モジュールをコンテストで見たような…と思い、調べるとありました!

dev.onionsoft.net

Xでもフォローさせていただいている、木製ナットさん作の「ini編集モジュール」。これをサクッと使って、iniファイルへの書き込み、読み込みを作ることができました♪

一通り、メニューも動くようになり、最低限の体裁は整えられた。