投稿記事

satofumi 2021/05/28 20:00

Number Place ゲームの試作(その3)

とりあえず試作していきます。

やったこと

グリッドを描画してみた

とりあえず描画しました、良いです。


(この問題は https://www.danboko.net/level9.cgi に掲載されていたものです)

仕様を考えた

今回のゲームというかツールで目指していることは「アルゴリズムを可視化すると楽しいよね」なので、アルゴリズムを担当するユニットは、それらしく動いて、それらしい場所にエフェクト描画をしたいです。

例えば「縦一列で、候補が1つのみになっているマスの数値を確定させる」という処理では、その列に移動して、上から順番にターゲットエフェクトを描画し、確定させられるマスでは発動エフェクトを描画する、みたいなことをさせたいと思っています。

まずは、
・値が確定した縦や横方向のマスに対し、その値を候補から取り除くユニット
・3x3 ブロックに対して↑これと同じ処理をするユニット
を実装してみます。

今後の予定

ユニットを作ってみて、移動したりエフェクトを描画したりして「私が楽しいと思えるか」を確認してみます。がんばります。

次回の更新: 月曜日の20時

satofumi 2021/05/26 20:00

Number Place ゲームの試作(その2)

Number Place が表示されて、それをユニットを配置して解いていくようなゲームの流れを考えていたのですが、Number Place を見ても「この配置なら、こういう風に解けばいいから、このユニットを出せばいい」みたいな考えができないのに気付きました。なので、方針を変えます。

やったこと

「どういうゲームにするかなぁ?」みたいなことを考えていました。
今、
・アルゴリズムをユニットに担当させて、ユニットが解く様子を見る
・解けない問題に対処するユニットをプレイヤーがプログラミングできるようにする
・スクリーンの一部の画像をキャプチャして、そこにある Number Place の問題を取り込めるようにする
・問題は自動生成できるようにする
とかを考えています。

アルゴリズムをユニットに担当させて、ユニットが解く様子を見る

例えば、横一列、縦一列、3x3ブロックのそれぞれを評価して1つしかない値を探すときに「縦や横を走査するのは騎士ユニット」「3x3ブロックを評価するのは僧侶ユニット」とかのユニットに割り振って、それらユニットが確認しているマスにエフェクトを表示したりと、アルゴリズムを可視化して眺めたいです。

まずは、ユニットが動くあたりを実装して、どんな感じになるかを確認したいです。

解けない問題に対処するユニットをプレイヤーがプログラミングできるようにする

可能なら「こうすればユニット実装できるから、さぁ、やってみて!」という風にプレイヤーにユニット作成を丸投げしたいのですが、無茶振りだなと自分でも思います。
でも、そういった「プログラミング教材」的な雰囲気を出せないかを模索してみたいです。

今後の予定

まずは「この解くための処理をこのユニットに割り振ったとして、こういうエフェクトや動きを作ればいいかな」というのを考えて仕様に書きます。
その後で、順に実装して楽しいかを確認していきたいです。がんばります。

次回の更新: 金曜日の 20時

satofumi 2021/05/24 20:00

Number Place ゲームの試作(その1)

Number Place を解く作業を、マスの上をユニットが移動しながら行うと楽しいかも、と思ったので試作していきます。

やったこと

とりあえず、
・マス目を描画できるようにする
・問題を表示できるようにする
・基本的なルールで問題を説いてみる
ということを実装しました。(問題は Web 上で探してきたもののため、数値はぼかしてあります)


コンピューターが一瞬で答えを導き出すのを見ていても、ぶっちゃけ楽しくないのは確認できました。
これを、このマス目の上でユニットが移動しては数値を確定させていくと楽しいかは、もう少し試作してみます。

今後の予定

マス目の上をユニットが移動して、マス目の数値が少しずつ確定していく様子を眺めることを目指します。
今の所、楽しくなるかはまだ自信がないです。がんばります。

次回の更新: 月曜日の20時

satofumi 2021/05/21 20:00

ゲーム周回ツールの作成

政権マニフェスティアというゲームを購入しました。ただ、脳死周回してのレベル上げが苦痛だったので、周回を自動化するツールを作りました。

https://bitbucket.org/satofumi/seimani_clicker/
↑ツールのソースコードはここにあります。

やったこと

心の準備(言い訳)

ソシャゲみたいに利用規約でツールの利用が禁止されてるゲームでは、もちろん自動化ツールは使いません。でも、シングルプレイのゲームで、レベルアップにステージを繰り返しクリアする必要があり、そのクリアの手順がまったく同じだったりすると、なんというか、こう… 「むり、これは人間のやることじゃない」って思っちゃうんですよね。
なので、自動化します。
マウスの操作を記録して再生するツールでもゲームプレイの自動化はできるんですけど、自分で作りたいと思ったので作りました。

自動化する処理の流れを確認する

とりあえず書き出して処理を整理します。


なんというか、あまり自分を信用してないので、検討過程はなるべくドキュメントとして残すようにします。

自動化するスクリプトを作る

そして、確認した処理をコードにしたものがこれ↓です。


ゲーム開始を検出したときの最初の1回だけユニットを操作して、あとはリザルト表示の「再戦しますか?」の「はい」ボタンの位置をクリックし続けるようにしています。

ゲーム中かは Tesseract-OCR でゲームの残り時間を表示している部分の数値を読み取って判断しています。
詳しい処理は↓このリンク先の Python のクラスで確認できます。
https://bitbucket.org/satofumi/seimani_clicker/src/master/seimani.py

今後の予定

Flappy Bird クローンを作ることになったので、次回以降でその記事を書いていこうと思います。
あと、Bonsai Castle の不具合を修正したので、その記事も書きたいです。がんばります。

次回の更新: 月曜日の20時

satofumi 2021/05/19 20:00

理不尽パズルゲーム作成(その8)

今回はステージのブロック配置の調整と RTA モードの追加をしました。
それから Steam ストアでの販売申請が通りました。やったぜ!

やったこと

RTA モードの追加

「RTA 用のカウンター表示ができるといいかも!」と思ったので実装しました。


↑画面右上の抜粋画像
ゲーム開始のスタートボタンを押したらカウントが開始され、ゲームのクリア表示がされたら停止します。良いです。

ヒントを日本語で表示する機能の追加

既存のヒントは英語でしか表示できなくてあれだったので、日本語のヘルプも表示できるようにしました。Steam Workshop の言語アイテムをサブスクリプションすると、その画像がゲーム内のヒント表示で利用される仕組みです。
ぶっちゃけ、ヒントを表示する機能を実装するよりも Steam Workshop の設定に時間がかかりました。(設定しそこねてた項目があって動作しなかった)


ストアサイトの日本語ページにも「ここに日本語用のデータがあるよ!」と記述しました。良いです。

Steam ストアの作成

とりあえずストアのページを作成しました。あと、Steam のレビューを通ったのでストアページが閲覧できるようになりました。
https://store.steampowered.com/app/1628670/Move_the_Window/
良いです。

今後の予定

とりあえずリリースの準備は終わったので、あとは 6/1 にリリースするだけです。
次期間は、次に何を作るか考えたり、Bonsai Castles の不具合修正をします。

次回の更新: 金曜日の20時

月別アーカイブ

限定特典から探す

記事を検索