スキップしてメイン コンテンツに移動

あほげー参加作品「タッチ!イカタコ」公開

先週末行われた第20回あほげーに参加させていただきました。
イカさんに変装したタコさんを見つける動く間違い探しゲーム「タッチ!イカタコ」です。



【ニコニコ動画】【自作ミニゲーム】タッチ!イカタコ Touch! Ika Tako ver 1.1【HSP3.4Dish】


ブラウザ版のプレイはモゲラ様からできます。
 タッチ!イカタコ ver1.1 Touch! Ika Tako | モゲラ
Windows 版はふりーむ!様からDLできます。
 タッチ!イカタコ Touch! Ika Tako:無料ゲーム配信中! [ふりーむ!]

(こちらの動画は、改良版です。あほげー参加当時の作品はモゲラ様のゲーム画面の下のリンクからプレイできます)


あほげーの開催前までは前回も少し書いたかもしれませんが日記ソフトを作ってました。
これがなかなかできそうでできない。もうちょっとな感じですが、夏の間にリリースできればいいかなというルーズな目処しかたってません。

あほげーのありがたさ


不思議とあほげーのときはなんとか作品を作ってリリースできるんですよね。

やっぱり1日(+α)という短さが集中力や体力的にちょうどいいのだと思います。
これが1週間とかだとこだわりだして、結局だらだらと仕様をこねくりまわして実装途中で空中分解しそうです。

あとは、少し遅れても下手でもおおらかに対応してくれる懐の広さにも安心します。

発表会の雰囲気を想像しながらやれるので、どのような感じでプレイしてもらいたいかを具体的に想像しやすいのも良いのだと思います。
どこかで聞いた話ですが、売り込む対象(ペルソナ)を具体的にすることで作るものがはっきりしてくるといいます。

短時間で、寛容で、具体的なプレイヤーを想像して作ることができるというよい条件のおかげで毎回なんとかリリースできているのかもしれません。
それに、わずか数分でもYoutubeライブストリーミングできちんとプレイしてもらえるという、はっきりとした開発者としての楽しみがあることもやる気につながっていると思います。


今回も無事にプレイしてもらえてうれしかったです。いつもありがとうございます。
そういえば、今回初めて?あほね!のランキングの20位以内の19位になることができました!
あほさがいつも足りないと思っているのですがうれしかったです!

実はツクールMVで作ろうと思ってた


今回のお題は「いか」でした。

実は、今回は最近半額で購入した steam 版のツクールMVでやってやろうと数日前から使い方を勉強していました。
お題を聞いた直後も、簡単なRPGを作ろうかなと構想をねっていました。

しかし、草案を出すところで、タコがイカに変装したらどうなるかと考え、ちょこちょこ落書きをしていたら、わりとイカに似せることができました。これの間違い探しもいいなーと思いました。

タコとイカの間違い探しなら、以前から使っている HSP なら3時間くらいでできるだろうとタカをくくって、いわば前座というか安パイのような感じで作り始めました。
これをちゃちゃちゃっと作って、それからメインのミニRPGを作ろうという感じです。

今回は余裕がありそうだったのに結局遅刻


もう、あれです。前回のことから学んでません。。。
前回も、今回は2本作れちゃうかもねーたはーwとか余裕ぶって、結局遅刻しながら1作リリースするのがやっとでした。

それでも今回は、夕方前にはバランス調整とサウンドをいれるだけの状態でした。
その頃にはミニRPGは間に合わないことは確定していたのですが、まだ、明日のお昼くらいまでに作れればいいんじゃね?と自分のMPの少なさを忘れていました。

バランス調整はいつもの感じで、テストプレイで慣れている自分が少し余裕をもってクリアできる設定でパラメータを調節して、その後、前半はチュートリアルということでより甘くして、後半は自分でもたまにミスをするくらい少し難しくしました。
それでも、プレイしてくれたありがたい方たちの話では簡単という声もありました。

どちらかといえば、最終ステージまで放送中にやってもらって少しだけ焦ってもらった後でクリアしてもらいたいという気持ちだったので、難しくてクリアできないというよりは自分の意図通りだったと思います。

そのあといつものフリー音楽素材/魔王魂様のサウンドを使わせていただき、さらにゲームの雰囲気を出してリリースです。
この時点で20時30分をすぎていました。
しかし、いつものようにアップロードして、モゲラさんに登録するならぎりぎり21時に間に合う。
いつまでも遅刻魔じゃないんだ(`・ω・´)
とか、思ってたんですが、ローカルでは起きなかったバグが2件も出た(´;ω;`)

今回の心に残るバグ2つ


一件目は、容量が足りなくてプログラム中の配列が作れなかったようです。
これは、ログのガイドに従い、確保するメモリの最大値を HSP 3.4 Dish 既定の16MBから適当に24MBにあげることで対処できました。この時点で残り15分。

次のは、ある特定のステージ(3、6面)だけ始める前にフリーズしてしまいます。
フリーズ系って、エラーメッセージもでないから原因を探すのが、ちょっと面倒です。
ローカルと違ってブラウザ上でのデバッグプリントの方法もわからないし、3、6面の共通点について考えました。

その共通点はどちらも、イカの配置数が6x4であること。
共通点はわかっても、それが何を意味しているかしばらくわからず他の原因を探しました。

その時点で21時を経過。また遅刻しちゃった(´・ω・`)
でもね、安西先生もあーいってるし、あほげーならきっとまだまだ遅刻して出してくる遅刻仲間がいるはず・・・!そう思って頑張ってバグを調べました。

それで、思い出しました。 HSP 3.4 Dish のブラウザ版でのみ起きるバグ。
以前にもブログで書いたのですが、乱数関数 rnd に 2^n の値 2, 4, 8 などを入力すると、常に同じ値が返されるバグが HSP 3.4 Dish にはあります。

それでなぜ、フリーズするかというと無限ループが発生しているからです。
この間違い探しのタコさんの配置は、次のようなロジックです。
・格子状の全てのマスに、イカさんを配置
・そのあと、乱数で選択したマスのキャラをタコさんに変更
 ・ただし、そのマスがタコさんだったら、再抽選する

この再抽選ででてくる座標が同じだったため延々と無限ループしていたようです。
前と同じように 2^n の引数のときは +1 した値で rnd して、範囲内の値が返されるまでループする関数を作り対処しました。

発表会で他の人の作品をみるのもためになる


これで全てのステージの動作を確認して、モゲラさんに登録し、あほげーにエントリーしたのが22時(1時間遅刻)でした。
いつも思うことだけど、自分の見積もりの3倍の時間はかかるんだなーと改めて思いました。

次の日の朝はミニRPGを作ろうかなと思いながらも、ぜんぜん作れませんでした。
あれです。MP=0状態です。
脳が昨日大変だったんだから今日はだらけさせろと軽いボイコットをしている感じかもしれません。

そこで他の方の作品をやったりしました。結果的に他の人の作品を見て勉強になったのでよかったと思います。
全ての作品はしませんでしたが、それぞれ個性があって面白いし、絵のきれいさだったりネタの突き抜け方だったり勉強になりました。
イカビターンとかはシンプルだけどはらはらするし、面白いし、「あぁ、こういうのがあほげーなんだよなー」と一番記憶に残っています。

作品発表をみていて、後半にいくにつれてこれを1日+αで作ったのか?という驚くレベルのものがぞろぞろとでてきました。
今思い出すのは、某イカゲーを彷彿とさせるスプラッシュレーサーで、もう製品として出せるんじゃないかと思ってしまいました。
それと、今回のバージョンアップをするきっかけのひとつになったのが、イカ・トランケートでした。
ドット絵がきれいなアクションなのですが、背景もすごくきれいでした。
他の作品については割愛しますが、こういうやり方もあるんだと勉強になりました。

ver 1.1 を作ったらよりよくなってうれしかった


いろいろな作品をみて刺激をうけて、自分の作品をもう少しブラッシュアップしようと思いました。
しかし、ドット絵できれいな海の絵をかくのは、絵が下手な私には難しかったです。

そこで、少し使い方を知っている InkScape を使って、ためしに沈没船の絵を描いてみました。
グーグル先生の画像検索で帆船の絵をモデルにして、線をひいて、パス編集をして、色をつけて、グループ化してと小さいパーツごと作っていきました。
帆船はわりと複雑だったのですが1時間ちょっとでできました。
海全体については、ラフなデザインを鉛筆でかいて、それをもとに、先ほどと同じく部分ごと作って組み合わせていきました。
絵が下手な私ですが、それっぽい絵が InkScape で描けることがわかってうれしい驚きでした。

あとは、難易度調整です。
全体的に少し制限時間を短くしたりしました。
それと最後に難しいステージを新しく追加しました。
あまりに最後まで一回もミスなくクリアすると、簡単すぎて満足感も少ないと思ったので、数回に1回勝てる程度の難易度にするようにしました。

それと、キャラの動き方も、より細かくステージごとに調整できるようにしました。
ver 1.0 では、回転するのは1,2,3,7,8,9、移動するのは4,5,6,7,8,9と決めて、動きの激しさは常に同じでした。
回転する確率、移動する確率、移動する方向の変更の確率、移動の歩幅をステージごとに設定できるようにして、より細かな難易度調整をしました。

結果として、1日かけて作った作品の見栄えがよくなり、うれしかったです。
つい、作ってリリースすると、モチベーションがなかったり、次のことがやりたかったりして、ブラッシュアップをしないことも多くありますが、ブラッシュアップもやってみると満足感が多く得られる作業だと思いました。

感想としばらくの予定


結局3連休のほとんどをあほげーに使ったのですが、作品がよりよくなり満足しています。
だけど、まだまだプレイしてくれる人の数は少ないです。
プレイしてくれる人がいるだけうれしいのですが、もっと多くのプレイヤーがプレイしてくれるような作品を作るために、まだまだいろいろと勉強が必要だと思います。

あほげーなのにあほになりきれず、いつの間にか小さくまとまってしまうのも、何とか突き抜けたいです。
前も同じようなことを書いたのですが、なかなか突き抜けた作品は作れません。

他の作品を見て、新たに作りたくなったものがあるので、それを作りつつ、以前から作っている日記ソフトとデスチェリー農場2も完成させたいです。





コメント

  1. あほげーお疲れ様でした!
    いやぁ、あほげーのゲームをここまで考えて作ってたなんて思ってもいませんでした(;・ω・)
    SakuraCrowdさんスゴい。
    これからも良質なゲームを期待してます!応援してます!

    返信削除
    返信
    1. 恥ずかしながら、わりとマジで作ってます(´・ω・`;)
      なかなかあほを貫くゲームが作れないですねー。

      良質なんてほめてもらえてうれしいです。
      もっと良いゲームが作れるようになりたいです。

      おくPさんもモゲラのランキングおめでとうございます。すごいですね!かげながら応援してます!

      削除

コメントを投稿

このブログの人気の投稿

QTableView で表を表示してみる

タイトルは駄洒落を狙っているわけではありません。 こんばんわ SakuraCrowd です。 今回は今作っているソフトの経過報告です。 最近のブログのパターンは、 「XXX作ったよ。これがスクリーンショットね。あとこんなこと思ったよ。」 という流れですが、 今日はできていないソフトの部分的な話なので、 いつもよりもプログラムちっくな話になると思います。(´Ծ_Ծ´)メガネノトキハマジメブッテル QTableView は GUIライブラリ Qt のクラスです。 それを Python で使うための PySide というライブラリを使っています。 某表計算ソフト っぽい表の GUI です。 このデータの日付が 09/01 なのでおそらくその日に   QTableView 使うぞ!(`・ω・´) とサンプルデータを作ったのでしょう。 Qt Designer という GUI エディタを使うとポトペタでウィンドウを設計できます。 選択できる GUI の中に QTableView と QTableWidget があります。 どちらも上のような表の GUI です。 QTableWidget は 簡単 に値をいれたりできます。 Qt Designer 上で直接編集 することができるので、 サンプルの表を簡単に作ることができます。 それに対して、 QTableView は Qt Designer 上では値を編集できません。たぶん。 QTableView の強みは MVC の構造 を使えることです。 名前のとおり QTableView は View です。 これにデータを管理している Model オブジェクトを設定して使います。 Model クラスを作る手間がかかりますが、 GUI の細かな操作をしなくても Model に応じた表を表示してくれます。 Model は QAbstractTableModel を 継承 して作ります。 コンストラクタで基底クラスの処理を呼び出し、いくつかの純粋仮想関数をオーバーライドします。 def __init__ ( self , parent= None , *args):

LibreOffice Writer 文書の差分 (WinMerge x TortoiseGit) + 社畜PCの原因と対策

お久しぶりです。皆様におかれましてはお風邪などをひかれてはいませんでしょうか。 春と秋だけあればいいのにヽ(`Д´)ノとつい思ってしまう SakuraCrowd です。 今日はいつものような製作日記ではなく、ちょっとした役立つメモを書きました。 タイトルにもあるとおり、 TortoiseGit への WinMerge の導入の仕方です。 今まではソースコードくらいしか差分で確認しなかったので、 TortoiseGit 標準の Diff ツールで問題なかったのですが、 LibreOffice の Writer が最近自分の中で便利だと話題になっていて、それを差分表示するためにちょっと調べてみました。 #Writer は、文章書いて、ちょっと絵をいれたり表を作るのに便利だと思います。 #リッチテキストのエディタを探していて、これが一番よさそうな気がしたので使ってます。 それとブログを書くときはあまり長く書かないつもりだった、 Win7 PC が社畜PCになってしまった際の原因と対策も後半に書きました。割と有用な情報かもしれませんので、時間がありましたらご覧下さい。 まずは TortoiseGit で Writer の odt ファイルを管理して、差分も普通に表示させる方法です。 WinMerge(+plugin) 導入手順 すでに TortoiseGit はインストールしてある前提ではなします。 1.信頼と実績の窓の杜様から WinMerge 日本語版をダウンロードします。 WinMerge - 窓の杜ライブラリ 私の PC は 64 ビット版なのでそちらを選びました。 2.WinMerge をインストールします。 フォルダを指定し普通にインストールできます。 インストール直前の設定で TortoiseGit をチェックしておくと自動的に TortoiseGit の利用する Diff ツールの設定を置き換えてくれるようです。 これの設定は TortoiseGit の設定の Diff ツールの項目で確認できます。 3.LibreOffice Writer のファイルを読むためのプラグインをダウンロードします。 ぐぐって出てくる英語版のDLサイトは応答がなかったりしましたが、日本語版は大

QWidget の選択時のデザインを CSS で変える方法

ひさびさに書きやすいネタができたので、1ヶ月ぶりくらいに書きます。 ここ1ヶ月の作業内容 タイトルのとおりなのですが、 テーマがいきなりマニアックでとまどったり、 デスチェリー農場の続編はどうしたんだよおおおお! とか新作を楽しみにしている生命が宇宙のどこかにいるかもしれないので あらかじめ書いておくと、 ここ1ヶ月は日記ソフトを作ろうと python + pyside + sqlite の勉強をしていました。 勉強というか、ウィンドウ起動から初めて、 GUI をせっせと作ったり、ファイル保存と復元を作ったりしてます。 Copy & Paste や Redo/Undo など未実装の処理も多くあります。 今回は、タブ遷移とかクリックで選択されたウィジェットの、 背景色が変わるとか、 枠線が出るとか そんな設定を CSS で実現します。 PySide と CSS について PySide は前も Raspberry Pi 2 で使う mount コマンドの GUI ツールで使いました。 Python の GUI フレームワークです。 さすがに HSP ほど簡単にウィンドウを出すことはできませんが、 かなり楽だし、 GUI の種類や機能もかなり充実しています。 ある程度 GUI を作っていて、 こんな露骨なウィンドウだと受けが悪いんじゃないかな と思いました。 なんか今っぽいおしゃれなデザインにしたい。 そんな誘惑にかられて調べていると、 CSS でお手軽にデザインを変更 できることがわかりました。 QWidget 派生のオブジェクトを作る際に、 setStyleSheet(str_css)で css を読み込ませることで簡単に実現できます。 次の例では file.css というファイルに書いた css を QWidget 派生クラスのオブジェクトに読み込ませます。 # css の読み込み with open("file.css","r") as f:     self.setStyleSheet("".join(f.readlines())) いろいろな G