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

ハロウィンゲームをハロウィン当日ぎりぎりリリース(・`ω・´)

急に冷えてきてもう眠いけど
ハロウィンのうちにブログを書きたいので頑張ります(´ぅω・`)

先月下旬あたりから作り始めたゲームをついにリリースできました!
タイトルは「胡桃坂(くるみざか)ハロウィンパーティ」です。

胡桃坂ハロウィンパーティ:無料ゲーム配信中! [ふりーむ!]



いつものようにBGMと効果音は「フリー音楽素材/魔王魂」様の素材を利用させていただきました。
特にメインのBGMがすごくハロウィンっぽい雰囲気を出してくれています。

先月からのブログを見ている方には見慣れた画面かもしれませんが、このラスト10日間で劇的な速さで実装が進んだ気がします。

システムを使うためのデータ作り


キャラの描画やマップ移動のシステムが大事なように、話したりアイテムをくれたりするNPCの設定も大事です。
矛盾がないようにフラグを管理しながら、NPCを追加していきました。
衣装を細かいものまで数えたら53種類になっていましたが、それをどのように配置するかなども悩みました。
そのためのクエストやミニゲームへの自然な流れなども作っては少し修正して作りました。
プログラミングとは違った難しさがありましたが、短いストーリーを考えるのも楽しい気がします。

にぎやかしのNPCの配置


某人探しのカリスマ的な絵本「○oー○ーを探せ」とまではいきませんでしたが、各マップに40体のエキストラ的なNPCを配置しました。
このNPCはにぎやかさと人探しのゲームのために配置しているので、話したりはしません。
それでもいろいろな衣装をつけて配置するのは、割と気合と時間がかかりました。

ミニゲーム「魔女のゲーム」の実装


ミニゲームは以前のブログでも追加したいといっていたのですが、実装したのはリリースの3日前くらいです。
半ば諦めていたのですが、勝手に脳内でこんなん作りたいと仕様が少しずつ固まってきていたのでほぼ1日で作ることができました。
基本的なシステムは通常のマップと同じですが、マップの雰囲気やリアクション(話しかけるとAIがランダムから一定の場所に向かうようになる)の変化という末端の部分の追加だけですんだのもスムーズにいった要因だと思います。

列車も動いたよ!


列車の絵は用意していたのですが、実装の優先度を低くしていたので、リリース前日まで実装していませんでした。
でも、テストでプレイしているうちに、線路があって「TRAIN」という看板もあるのに、列車がこないのもなんだか変だなと思うようになり、やってみたら意外と簡単に実装できました。
単純に、絵を位置をずらしながら描画するだけなので今思えば簡単でした。

あとは、マップの当たり判定や重ね合わせの微調整をしました。
まだまだ粗はありますが、壁に飲み込まれるようなこともなくなり、だいぶましになりました。

何とかハロウィンに間に合ってよかったです。
しかし、間に合わせるために睡眠不足が続いているので明日は超だらけたいと思います。

コンテストにも何とか間に合った


まだ結果は反映されていませんが、HSPプログラムコンテストにも参加の申請をさせていただきました。
HSPはちょっとしたツールを1回作ったことがありますが、触れた日数はトータルしても3ヶ月を超えないと思います。
それでも、さくさくとGUIのアプリケーションを作れてしまうのが便利だと思います。

間違い探し?


コンテストのほうへ提出したものはすぐに直したんだけど、ふりーむ!に出したほうは審査中だったこともあり直していない点があります。
起動するためのショートカットのファイル名が胡桃坂ではなく胡桃沢になっています。(´・ω・`)
とはいっても、ゲーム内の要素ではないし、ちょっとした間違い探しとして笑ってもらえればそれはそれで良いかと思いました。
胡桃坂(くるみざか)という名前は架空のショッピングモールの名前を考えていたときになんとなく思い浮かんだ語呂のよさそうな名前でハロウィンシーズンぽいかなと思い決定しました。
ただ、いろいろとてんぱった状況で胡桃沢になってしまったみたいです。
それではおやすみなさい。ハッピーハロウィーン(ゝω・)v

ニコニコのほかに youtube にもあげてみたよ。

コメント

このブログの人気の投稿

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