ぱらなのブログ

ゲーム作品集 1 DXLib編

今まで作った大量の作品をまとめておいた方が何かと便利だと最近気がついたので、とりあえずはてなブログにまとめることにしました。

スマホやブラウザで動作するものは皆無です。作品のほぼ全てはgoogle driveに置いてあります。(アセットの著作権的にアウトなもの等の一部は置いていません。)

※2023/7現在、DXLib製のゲームが軒並みアセット読込みできず動作しなくなっている模様。原因不明。windowsアップデートとかで壊れたのかな?
直しようもないのでこのままです。

drive.google.com


1作目 シューティング

DxLib

shooting title

人生で最初に作ったゲームです。

高校に入り自分用のパソコンを手に入れて、C言語の勉強を始めて2 or 3ヶ月の段階で下記の記事をコピペしてから気合で改造して作ったものです。

シューティングゲームの作成(チュートリアル) - C/C++言語とDXライブラリでゲーム作成入門 - ポンクソフト

タイトルで隠し操作をするとゲームが大きく変わるんですが、かなり動作が怪しいです。長押ししないと反応しなかったりで全く安定しません。 それだけではなく、CDの音源そのまま使ってたり友人の実写顔写真を隠しモードで仕込んでたりするので、もうあらゆる要素が公開できる状態ではありませんでした。
ソースコードも紛失してるので何がどうなっていたのかわかりません。作品のソースコードは保存しておいた方がいいと気がついたのがけっこう最近で、それまでは作り終わったら実行ファイルだけ残してプロジェクトはガンガン消去してたので…

プレイしてる様子のgifはつけておきます

難易度設定:最高


2作目 LIFE BREAKERS II

Google Drive: Sign-in

人数設定をつけた

マップ生成(大嘘) 実際は1ミリ秒かかってないはず フレーバー要素としての待ち時間

ドクロマスは何が起きるか分からない。即死もある

小学生の頃に作って友人間でめちゃくちゃ盛り上がったすごろくゲームのひとつを、だいたいそのまま移植したものです。当時は紙で面白いゲーム作れてたんだなぁ。小学生の発想力に戻りたい。

ちなみにライフを減らして残り1人になるまで続けるゲームだったので「○し合いゲーム」(○=殺)という小学生っぽい直球なネーミングでした。担任の先生に変な顔をされた記憶がありますが改名はしませんでした。安易な表現規制の意見にはしっかり抵抗していくことは大切だと思います。(?)
本家にはライフを大回復できる天国マップや、絶対生きて帰ってこれない地獄マップに飛ばすイベントとか色々盛り上げる要素があったんですが、そんなものは技術力の問題で全部カットしました。

残念なことにプレイヤーの干渉できる余地がほぼゼロです。紙で作ったものと同等レベルまで作り込むにはプログラミング経験が足りなさすぎました。


第3作 Collapse Tower

Download Google Drive: Sign-in

静止画だと伝わりにくいので動画にしました

高校の同級生になぜか絶賛されたゲーム。複数人向け。AIの実装ができなかったので2人以上揃えてからお楽しみください。

ダイスでランダムに移動マス数を決めて、歩くと地面がどんどん崩れてくので最後まで残った人が勝ちというシンプルなゲームです。

壊れ方に結構ランダム性とか加えてるので最後まで誰が勝つか分からなかったり、敵を早く落とすために周りを崩しに行くと自分が落ちる可能性があったり、リスク・リターンが明確で結構よくできてて我ながら結構面白いです。5年前なのでもはや他人の作品を遊んでる感覚ですね。


第4作 しゃぼんのアクション

Download

第4作 しゃぼんのアクションver1.1.zip - Google ドライブ

制作2日です。
「円と円の衝突判定は三平方で簡単に取れるらしい」と知ったのでそのままゲームにしたもの。
タイトルは某高難易度ゲームのタイトルを意識しています。しかし共通してるのは難易度だけですね。

特に書きたいことがないですね… C言語しか知らなくて動的配列とかわからなかったので背景とかのシャボン玉を2000個の配列作って処理してた気がするなぁぐらいでしょうか。C++が満足に書けるようになるのはここからだいぶ先の話です。動的確保は重いしこれはこれで正解ではあるんですけど。

この頃ゆっくり実況にはまってたんだと思います。BGMがないのは面倒だったんでしょうね。その割にゆっくりボイスつけてるが

移動速度が再初期化されないバグを見つけて修正したのでver1.1がついてます。


第5作 スーパーD言語くん

Download

第5作 スーパーD言語くんver1.1.zip - Google ドライブ

これはなんですかね?

悪ふざけで「D言語くんの画像を無限に増殖させるプログラムを作ろう」って同級生と話してて作ったものなんですけど、その場のノリで作ったのでそれ以上の説明が難しいです。もちろんDriveに置いてあるのはその部分をカットしてゲームだけにしてあります。

もともとは、ゲームプレイ中に画像を大量にコピーしまくってディスク容量を埋め尽くす、いわゆるジョークプログラムでした。ディスクを埋めると言っても、フォルダごとゴミ箱に放り込めばそれで終わりなのでおもちゃみたいなものです。

反射神経ゲーなのでちゃんとやってみると多少は面白いです。1000点ぐらいがひとつの山場です。

これも制作2日ぐらいです。


第6作 フォーエバーラビリンス

Download

第6作 フォーエバーラビリンス.zip - Google ドライブ

ゲーム画面

まあよくある感じのゲームです。
下記のサイトをとても参考にしました。 http://2dgames.jp/2012/05/21/%E6%93%AC%E4%BC%BC3d%E3%83%80%E3%83%B3%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90%E6%96%B9%E6%B3%95/2dgames.jp

迷路の生成方法ですが、当時自動生成なんてものは到底作れなかったので、事前に作ったマップを読み込むようにしています。
このマップの作り方ですが、bmpの画像ファイルです。ドット絵を打てるツールでぽちぽちとドットを打って迷路を作っていたんですね。

とはいえマップ開発専用ツールを作るのはとても大変ですし、発想はかなり良かったのではないかと思います。今同じものを作れと言われても恐らく同じ手法を取ります。

数年後、OpenGLでリメイクすることになります。


第7作 じゃがりこDrilling G

Download

第7作 じゃがりこDrilling.zip - Google ドライブ

起動するとなんか謎のムービーが流れるんですが、AviUtlでちょっと新しい機能を覚えたので、予測変換をチェインさせたりして適当に生成したそれっぽい文字列を表示しているムービーを入れてみただけだったと思います、たぶん。うーん、一体これはなんですか?(本当に記憶がない)

ネタとしては先輩が「じゃがりこに爪楊枝を刺すゲームを誰か代わりに作って」みたいなツイートをしてたので乗っかって作ったものです。爪楊枝が爆発したりするし、期待は確実に超えられたのではないかと思います。時事ネタ系ゲームはいくつか作ったりしてますが、これが最初ですね。

3つのモードがあるのでそれぞれ紹介します。

スコアアタック

じゃがりこに10本の爪楊枝を突き刺してスコアを競うモードです。アーチェリみたいに(?)中央の方が得点が高いです。 確かCalbeeのlの上辺の左縁あたりが1000万点でトップだったかな? 爪楊枝は左右に自動で往復するので、いい感じにリズムを掴めるかがポイントですね。

ちなみに隠し要素がありまして、

unsigned long long

中心から離れるほどスコアが減るわけですが、1番右端にスコアが-1される場所があります。スコアがunsigned long longで管理されているので、0ポイントのときにここに刺すことでオーバーフローが起きて凄まじいスコアが得られます。

当然、普通にスコアを取ると再度オーバーフローでまた戻ってしまうのでずっと右端に刺し続ける必要があります。文化祭で展示してたので1人だけ達成者を見たことがあります。暇人かな?(失礼)

もともとはバグで、仕様に取り込んでみたら面白かったので隠し要素として実装しました。

エンドレス

どんどん小さくなるじゃがりこに爪楊枝を刺し続けるモードです。時間差があるのでやや偏差撃ちしないといけません。

小さくなり続けて47回目ぐらいで縦横1ピクセルになります。こうなるともう見えません。フルスクリーンで起動してギリギリ見えるかな…?ってぐらいなので、見失うと大変です。
動画では1ピクセルに到達する直前で外しちゃってますね。

ドッジニードル

シューティングゲームをだいぶ意識してますね。東方にハマってた時期に作ったものだと思います。判定は爪楊枝の先端とじゃがりこのフタにしかないので、柄の部分をすりぬけたりできます。敵を実装…敵ってなんだ…?って感じなので避けるだけです。1年後に敵が実装されます。

時間経過で勝手にスコアが増えていきますが、600を超えるとアラートが鳴り、それ以降爪楊枝エクスプロージョン(爆発する爪楊枝)が落ちてくるようになります。

Xボタンでボム(バリア)が発動でき、こちらも時間経過で増えるので頑張って生存していけばチャンスは広がります。バリアは周囲の爪楊枝を消せて、爆風は消せないけど爆発前の爪楊枝エクスプロージョンは消すことができるので、うまく接触してやることで安全地帯を作ることができます。バリア後に無敵判定はないのでうまく消せずに爆風内でバリアが切れるとそのまま死にます。

ゲームオーバーになるとAキーでコンテニューできるのですが、一定のスコアごとにチェックポイントがあってコンティニュー時はそこから再スタートする仕様になっているのでひたすらコンティニューし続けることによって人力でも無限に点数を上げていくことができます。ガバガバじゃねーかまあ苦行をやり続けるといいことがあるよって修正しなかったんだと思います。たぶん。覚えてないので適当なことを書いている。実態はただの不具合と思われます。

どんどん難易度が上がるのでそのうちこうなります。

第8作 break meteor

Download

第8作 break meteor for 文化祭.zip - Google ドライブ

タイトル

夜2時ぐらいにじゃがりこDrillingを作り終わって、まだ朝まで時間があるな?もう一個作ろう!って一晩徹夜して作ったゲームです。だから制作3時間ぐらいの記憶。

思いつきから完成までめちゃくちゃ短いので当然作りも荒いんですが、中央から白い点をばーって表示することで宇宙空間を進んでるように見えなくもない演出をつけたりしてます。そこだけはいい感じですね。

ゲームとしては隕石をクリックしてくだけです。


は~~疲れました!忙しくて書けなかったりしたのでこの記事の完成だけで数週間…

まだ作ったゲームの半分ぐらいしか紹介できていませんが、DXライブラリで作ったゲームはこれが最後です。
これ以降はSiv3DやUnityで作っているので、この記事は一旦ここでおしまいとします。プログラミングを始めてから2年間でこんなに作ってたので、今よりも昔の自分の方が優秀だと思いました。はい。以上です。

次の作品集です。

para7note.hatenablog.com


作品集全体へのリンク

para7note.hatenablog.com