上顎 Dec/27/2025 18:00

ゲーム制作記 -その126- 今週の進捗

今回の記事は進捗のお話です。

今週も地道に製作作業を続け、
小粒な話が多かったので詰め合わせ的な感じで進捗報告です。


進捗その1 乱数とシード値の作成

世の中のほとんどのゲームで
乱数というものを扱っています。

特に今作っているゲームはローグライト…
ゲームの基礎が乱数で出来ているといっても過言ではありません。


そしてゲームをたくさん遊んでいる人は
時折「シード値」という言葉を聞いたことがあると思います。

有名なのだとマインクラフトや
本ブログでもよく出てくる Slay the Spire でも出てきます。


シード値とは
「乱数生成の種(シード)」となる初期値」です。

パソコンは乱数を「無」から生成することはできません。

人間に「適当な数字を言ってください」と聞けば
何かしら適当な数字を出すことはできますが、
パソコン君はまったく無意味な数字を思いつくことはできません。

そこでプログラムで乱数を作るために

例えば
・ゲームが起動してから経過したフレーム数
・キャラクターが歩いた歩数
・現在時刻
などゲーム中に絶えず変化する数字を
適当に計算して乱数を生成したりします。

ですがこの乱数を「シード値」という数値を基準に
生成したらどうなるか?

同じ「シード値」でプレイした人は同じ乱数が生成される…
つまり乱数を固定できるのです。

「乱数を固定したらダメでは?」と思うかもしれませんが、

・シード値を保存することで
 ランダムなイベントをセーブ&ロードで再抽選できなくする。

・同じシード値を指定することで
 複数人が同じ条件でゲームをプレイできる。
(同じ条件でスコアアタックのような遊び方が増える)

などゲーム的に色々できて便利です。


というわけで作ってみたのですが…
これがなかなか難しい…!

何が難しいかというと
適当な計算をしまくっても「一部数字が偏る」のです。

例えば数学で習う「素数」
掛け算で乱数を作ろうとすると素数は出にくくなります。

逆に偶数はめっちゃ出やすくなります。


というわけで自力で作ってもダメなので検索すると
乱数を作るアルゴリズムというものがたくさん出てきました。

数学的な言葉がたくさん出てきて
大学生のころの授業を思い出しました…

しかもゲーム画面に影響がある作業ではないため
ブログ的にも映えないんですよね…
難しい実装だったのに…

というわけで
思いのほか書けることも載せる画像もないため
進捗報告の1つとして書かせていただきました。


進捗その2 新しいアニメーションを増やしたお話

前作のロボット少女では

「すべてのパーツ変更が画面に反映されて、
 すべてのアニメーションごとの画像を用意する!」

というめちゃくちゃな実装をしました。

剣を振るモーション1つを増やすだけでも
各装備ごとに増やす必要があり、
作業量がすごかったです。

本作は今のところシスター服のみなので
前作ほど作業量は多くないです。

というわけでハンマーを振るアニメーションが増えました。

既に剣用の横振りアニメーションは作ってあり、
多くの武器でそれを使っていたのですが、

やっぱり縦振りも欲しいよね!
あと重いものを頑張って振る姿もいいよね!

って事で作りました。

1日で新アニメーションを増やせるのいいなぁ…
と思いつつ、

枚数が増えてきて、
「いつか衣装変更を実装したいけど作業量どんどん増えるな…」
と悩みも増えつつあります。


バニーガール服とか実装したいなぁ…


進捗その3 スキル追加

本ゲームは
武器として攻撃したりする「カード」

攻撃力上昇など常時効果のある「スキル」

この2つによって成り立っています。

ローグライクカードゲームの醍醐味といえば
ランダムに提示される「カード」や「スキル」を集め、
最適なデッキを組む「デッキビルド」です。

ここを楽しくするにはどうするべきか?

色々な手法があるのですが一番手軽?…なのが
「特定カードを集めると強くなる仕組みを作る」事です。


というわけで
今回作ったのが以下の2つです。

・犬を使った攻撃が強くなる「スキル」
・猫を集めるとお金がたくさん手に入る「スキル」

こうしたものを実装するだけで

「カード」を入手する選択肢では
「後々スキルが出たときのために犬のカードを集めよう!」

「スキル」を入手する選択肢では
「先に犬強化のスキルを取って
 犬のカードが出たら積極的に取ろう!」

とカード・スキル集めの指針になります。

更にここに

・どんなカードでも強くできるが
 ちょっとしか強くならない「スキル」

を実装することで、

・安定したスキルを取るか?
・より強くなるロマンのあるスキルを取るか?

とプレイヤーに更なる選択の幅を作ることができます。


…とゲームを面白くするためのスキルを作っているのですが
これがなかなか難しいです。

・汎用スキルと犬専用スキル…効果にどれぐらい差を付ければ
 プレイヤーは楽しく悩めるか?

・そもそも犬の攻撃力を単純に上げるだけでよいのか?
 もっと犬っぽくて特別な強化は無いか?
(猫はことわざと掛けたいい感じのスキルにしたのに…)

ちょっとスキルを増やしただけで
悩みがどんどん湧いてきます。


早ければ3月には
ゲームイベントに体験版を持っていく必要があります。

そこで手に取った人に
「面白い!」「興味がある!」と思ってもらうためにも
この辺りの調整を今後頑張っていきたいです。


というわけで今週の詰め合わせでした。

各トピックにまとめると
結構記事が長くなってしまいました…

ですが

・快適に遊ぶためのシステムに関わる「乱数」
・見て楽しむ「アニメーション」
・触って楽しむゲームシステムに関わる「スキル」

と色々なトピックをまんべんなく仕上げることで
ゲーム全体のクオリティを
少しづつ上げることができたと思います。


ゲーム制作が煮詰まってくると

「やる事はいっぱいあるのに
 どこからやればいいか分からない!」

って状態になりがちです。
私もよくなります。

それでも足を止めないように、
ちまちまと目についた色々な作業をこなして
ゲームが完成するようにこれからも頑張ります!

それでは、また次回!

1 tips have been sent.

Sending tips requires user registration.Find details about tips here.

Search by Article Tags

Monthly Archive

Search by Exclusive Perks

Search Articles