霜夜ゆく反省会

10月 16, 2021

  魔都新宿——多くの流れ者が巨大すぎる欲望と僅かな日銭を手に訪れるこの街は特に関係なくて、先日iOS向けにリリースした『霜夜ゆく』の状況がだいぶん落ち着いてきたのでそのひとり反省会です。



→App Store


 なお、設定などゲーム内の話は一切なく(そういうのは設定資料集でする予定です)、完全にデベロップに関する話です。


■背景 / Introduction

・開発までの流れ

  1. 『冷たい方程式』読んだとき、いくつか冷たくない解法を考えた。
  2. ちょうど大学で初めてプログラミング(fortran)を習得する機会があり、これを使えば冷たい方程式に関するゲームが作れそうな気がした。
  3. 研究の必要上、さらにPythonを取得。画像処理等もできるようになり、Pythonanywhereとかで公開する形式にすれば面白いのではないか、などとちょっと考えるがほとんど手をつけず。
  4. 10年くらい寝かせている間に樽の匂いが染みつく。
  5. 南極行って、帰る船が1ヶ月以上かかるので、この際何か開発言語を学ぼうと考える……もののだらけて映画とゼノブレイドだけで終わる。
  6. 新しい職場での就業日数が減るため、この機に何かやるかということでSwiftに手を出して2020年8月から開発開始。


 同人ゲームどころか、同人作品は初。

 それまでは年1くらいで主に推理小説を雑誌に投稿していたほか、投稿向きでない作品は小説投稿サイトに載せたり、カードゲームのフレーバーやストーリー考察などをしていた。



・影響を受けたゲーム

  • 怪鳥(全体の骨格)
  • 風来のシレン(適応と対応)
  • サガ・スカーレットグレイス(プレイヤーごとに異なる進め方やレスポンス)
  • 絢爛舞踏祭(六角形)
  • Death Stranding(音楽の使い方。運搬はもともとあった)
  • Lifeline(非立ち絵型のテキスト)

あたり。


 たぶん『怪鳥』だけ異常に知名度がないのでこれだけ説明しておくと、その昔まだ神々が地上を去っていない時代、PCのフリーゲームがめちゃくちゃ流行っていた時代があり、その時代のけっこう有名な作品である『分裂ガール』というRPGの作者が「3分ゲームコンテスト」というコンテスト向けに作ったADV。怪鳥の巣からの脱出を試みる。

 まだVectorに残っているようなのでプレイ可能なはず。

→Vector 情報ページ


 RPGツクール2000で作られており、ツクール2000用のRTP(ツクール用の素材パッケージ)が必要です。

→ツクールWEB RTPページ



■開発:Swiftでの開発に関して

・開発期間

 2020年8月スタートで2021年10月にリリースなので、おおよそ1年2ヶ月。

 よほど忙しいとき以外はほぼ毎日触っていた。


 ちなみに当初の見込みだと半年程度で作れると思っていた。



・開発言語

 Swift。
 どうせ新しい言語を学ぶなら新しいものを、ということで選定した。



・Unityでやっておけばよかったか

 まず失敗点その1。開発にSwiftを使ってしまったという点。

 SwiftはiOS用言語なので、Android用のアプリを作ることはできない。そのため、現在Android(+iOSも一括)用に移植するために四苦八苦することになってしまった。



・とはいえそんなこと言っていたら始まらなかった

 最適解や最短経路とされるものがあっても、必ずしもそれを模索することが効率的とは限らない。

 少なくとも「作ろう」と思わない限りはモチベーションは上がらないわけで、「とりあえずSwiftで作ってみよう」と定めて達成できたのは悪くはなかった(ちょっと話が違うが、「車輪の再発明を恐れない」と似たようなものかもしれない)、


 また、Swift(正確にはそのフレームワークであるSwiftUI)を使って開発して良かったことのひとつは、UIがいいかんじにまとまったことだろう。たとえば『霜夜ゆく』では白黒+一色(ベースはiOSカラーの青)での描画を基調としていて、ほとんどの画面で多くの色を出さないようにしている。

 これはイラストレーターに依頼した複雑なキャラ絵であっても同じで、基本が白黒ベースのデザインにしてもらっている。




 こういったデザインになったのはSF symbolsという、iOSで利用可能なアイコン素材に関するアプリケーションのパッケージのインストール画面が良い色合いだったことに影響されている。



 だからSwiftで開発を行なっていなければ、このようなUIにはならなかっただろう。



・GUIという未体験領域の難しさ

 これまでは研究解析にfortranやpythonを習得し、利用していた。

 しかしそれまでの解析はいわゆるCUI(コマンド・ユーザー・インターフェイス)で、線形のコードをターミナルで動かせさえすればそれで良かった。


 ゲームの場合はそうはいかず、複数のプログラムが並列に一度に動き、ユーザーが入力するたびに異なる行動が行われる。

 このために特に理解に時間がかかったのが「ディレイが必要」という概念であった。特にビュー(SwiftUIでのシーン単位)を移動する際は予想したとおりにプログラムが流れるとは限らず、意図的に遅延(ディレイ)を引き起こすことによって予定したとおりの処理が行えるようになる、と気づくまで数日かかったプログラムもあった。



■発注:イラストの発注に関して

・発注までの流れ

  1. ココナラでイラストカテゴリをすべて読み、少しでも可能性があるものをピックアップ。ここで100超に絞られる。
  2. それらをひとつずつ見ていって、価格や期間、絵柄や条件などが合うものに絞る。ここで10以下に。
  3. 改めて精査し、「価格的に可能か」「何点くらい発注できそうか」「デザインしてもらえるか」などの点で最終決定をした。



・絵柄以外で特に重要視した点

 絵柄が重要なのはもちろんだが、それ以外にイラストレーターを選定するときに重要視したのは、

  1. 値段
  2. デザインしてもらえるか

の2点である。前者は言うまでもないが、後者はおそらくあまりイラストレーターの側が重要視していない部分だと思う。


 今回、キャラクターのデザインはおおよその容姿を伝え、詳細なデザインはイラストレーターの側で起こしてもらっている。たとえばナイフ少女は「日頃運動していない人が高尾山に登ってみるかな、とでもいうような格好」みたいな(ちょっと違うかも)要望で作り上げてもらった。

 ぶっちゃけキャラクターデザインのセンスが皆無なので、餅は餅屋で依頼して本当に良かった。

 本作、「少女がかわいい」と言ってもらえることが多いが、自分でデザインしていたら同じ人に描いてもらっても、こういった評価にならなかったであろうことは間違いない。なので今後もこちら側ではおおよその要素でしか区切らず、イラストレーター側で詳細なデザインは作ってもらいたいし、ココナラやSKIMAみたいなところで出展している人でキャラクターデザインできる人はそれができる旨を積極的に書いてほしいと思う。



・いくつかの失敗

 表面化している部分を見れば大成功だったイラスト発注だが、2点失敗があった。

  1. 依頼サイトはココナラよりSKIMAのほうが手数料が安かった
  2. 細かいシステムが煮詰まる前に発注してしまい、あとから足りないイラストが出てきた

 まず(1)だが、手数料というのは支払いの時点で発生するものではなく、支払われた金額からさっ引かれるもので、(金額によって異なるが)数%程度違う。

 今回依頼したイラストレーター(冬村さん)の場合はココナラSKIMAでも同額で提供しているので、この場合は依頼者であるこちらとしては支払う金額は変わらず、イラストレーターが受け取る金額が変わるだけとなる。

 だから支払う金額は同じだからどうでも良い……ということはなく、すげー本音を言ってしまうと、デベロッパーとしてはイラストレーターにとにかく気分良く働いてもらって良い絵を作ってもらいたいわけで、それを考えると相手が受け取れる金額は高いほうが都合が良かった。

 しかし手数料の差に気づいた時点ですでにある程度プロジェクトが進んでおり、いまさら変えるのも仁義がないなぁ(?)ということでココナラで通した。


 (2)に関してはそもそも依頼をしたのが完全に仕様が固まっていない段階だったために起きたことで、システムが完成するに従って足りてない画像や表情が出てきてしまったために追加で発注せざるを得なかったという問題。

 これはもっと依頼をかけるのを遅らせれば良かったのだが……ぶっちゃけ個人開発で、モチベーションを維持するものが限られている状況で、数少ないモチベーション維持手段が出来上がった絵を見ることしかなかった以上、仕方がないことであったと思う。

 今後の作品でもおそらく前のめりにイラスト発注したりするだろうが、改める予定はない。



■テスト:βテストに関して

・概要

 ほぼ完成版(日本語のみ)を、英語翻訳が終わるまでという予定で行った。

 結果としては英語翻訳が終わっても続き、約1ヶ月行うことになった。参加者は110人程度。



・テストの初動失敗

 テストを始めて早々、「着陸後に確定でクラッシュする」というエラーが発生。原因は船内モードで使用していた宇宙天気の変数をそのまま着陸後も流用していたため。

 これは大失敗で、製品版も合わせて大きなエラーは3種類あったのだが、その中でこれは唯一「ちゃんと事前にテストしておけば発覚した」タイプのエラーであった(事前のセルフテストでは船内、船外それぞれでテストをしていたため、船内→船外の推移で起きるこのエラーに気づかなかった)。

 今後はもっと初期テストをしっかりやっていきたいところである。



・期間は意外とこんなもの?

 もともと英語版の翻訳が終わるまでの予定で施工したβテストだが、意外とテスターが根性があったため、報告が安定化するまでは続けて1ヶ月ほど行うことになってしまった。

 しかし結果として複数のエラーや機能追加を行うことができたので、このくらいのテスト期間を設けるのは案外良かったかもしれない。



■販売:App Storeでの実際の販売に関して

・想像以上に売れた

「売れた」とあまり強調するのは売れていない人がするマーケティングなのであまり言いたくないのだが、実際売れたのである。

 といっても120円なので売上的には大したことない……というかほぼイラスト発注代とトントンだし、Android発売時のアップデート+設定資料集用にまた新たにイラスト発注すればマイナスかもしれない。金を右から左に動かすことしか知らんのか。



・なぜ売れたのか?

 なぜ売れたかといえば、運が良く初動購入者が宣伝してくれたというのが理由であろう。



 具体的な販売本数は伏せるが、上の画像がApp Storeでのダウンロード数(販売数)の内訳を示す。

 判例を見てのとおり、販売直後に大きいのが橙の「参照元Web」で、ついで「App Storeの検索」が多い。前者は発売直後、複数のメディアにプレスリリースを送ったのだが、掲載してくれたゲームキャスト、およびSQOOL.NETからのリンクだろう。

→ゲームキャスト 紹介記事

→SQOOL.NET プレス記事


 また後者はこういった記事を読んで関心を寄せ、App Storeで検索をしてたどり着いてくれた人たちだろう。

 これらのおかげで一時はカテゴリ2位までランクを上げることができた。この期間、特に競合する相手がいなかったことも大きいだろう。


 その後急速に伸びてくるのが「App Storeの閲覧」である。これが何を意味しているのかが具体的なところがよくわからないが、検索ではなく、他からのリンクではないということは、つまりはランキングなり、トップセールスなり、サジェストなりで「すでに売れているものをさらに売れるようにしたもの」であろう。


 つまるところ、初動で宣伝してもらえたからこそApp Store上で名前を出してもらえる頻度が増え、結果として売り上げの増加に繋がったということであろう。

 まだ実績のなかった時点でプレスや記事を掲載してくれたゲームキャストやSQOOL.NET、およびRTや感想をツイートして宣伝してくれたプレイヤーには感謝の意を表したい。



・120円で良かったの?

「120円は安すぎる」という感想を言ってくれた方が多かったのだが、そう言ってくれただけでひとつの宣伝としては成功だったと思う。

 少なくとも「240円のものを360円で売る」より、「240円のものを120円で売る」ほうがずっと成功だと思う。


 また、より突き抜けて無料にして広告や課金制にする、という手もあっただろうが、以下の3つの理由で行わなかった。

  1. ゲームの広告とか課金が嫌い
  2. 無料は有料より売れない気がする
  3. そもそもそういう機能の付け方がわからない

 個人的には広告はWEBや雑誌だとかにあるのであればまったく気にならないのだが、ゲームに出てくる広告となると、小説を読んでいて急に広告ページが挟まれるようなものである。厭すぎるし、厭なものは取り入れたくない。

 

「無料は売れない」というのは一見して意味がわからないように見えるが、まず無料と有料だとカテゴリが分かれていて、無料は課金制のいわゆるソシャゲと競合するというのが大きい。


 また、そもそも有料のもののほうが無料のものより楽しめる気がする。自分の場合、もし同じくらい気になっているゲームがあって、120円と0円だったら前者を選ぶ。人間、有料のもののほうが信じられるし、楽しめるのである。

 3000円と0円なら0円を選ぶだろうが、低価格路線で攻めるならむしろ有料のほうが面白そうな気がするし、たぶん「面白い」と感じるはずだ。通過儀礼効果のようなものだ。



・そもそもどのくらい想定していたのか

 βテスト時、こういったツイートをしていて、その中で「10本売れたらUnity版を作ります」と言っていた。



 これは冗談ではなく、本気で10本売れるかどうか怪しいと思っていた。

 実際はそうはならなかったわけだが、しかしそうなっていた可能性も否定できない……というのは英語版の売り上げ本数の問題があるからだ。



・英語版の宣伝不足


 日本以外では0である。


 これが5とか10なら、「英語圏じゃウケなかったのだな」「英語の翻訳がうまくなかったのだな」で済ませられる。

 が、0であれば「そもそも認知されていない」としかいえない。あといちおう設定がおかしくてダメという可能性もないではないけど、素直に英語圏の宣伝不足と考えるべきだろう。

 日本でも、宣伝してくれる人がいなければこうなっていてもおかしくはなかっただろう。



■今後:今後のアップデートや展開について

・Unity版(iOS + Android版)の作成

 長くとも半年以内には完成したい所存。

 

 言語が違うままSwiftとUnity(C#)で並列でアップデートしていくのも大変なので、iOSもAndroidもUnityに統一する予定。



・Android版は売れるのか?

 正直マーケティング次第だろう

 ここで「iOSよりシェアが多いんだし、少なくとも今回と同程度かそれ以上には売れるだろう」とは思えない。


 前述のとおり、今回売れたのは、

  • ゲームメディアに送りつけたプレスリリースがたまたま取り上げてもらえた
  • 購入者がツイートやRTで宣伝してくれた
  • 競合する相手がいなかった

あたりが原因だろう。


 が、次回もそうなるとは限らない。今回「Android版があれば良いなぁ」と言っていた人たちの購買意欲がそこまで続くかどうかわからない。

 何かしら効果的なマーケティングができればいいのだけれど……Unity版完成までには何か売り方を考えておきたい。



・設定資料集を出す

 幸いにも「何か投げ銭のようなものをしたい」と言ってくれるプレイヤーがいたのだけれども、無償の投げ銭的な制度はあまり好きではない(好き嫌い激しいなコイツ)。

「何かの対価にもらう」だったら良い。たとえばYoutuberが動画を作って、それに対して視聴者が投げ銭するのはいいと思う(Youtube見ないけど)。

 ただ既に「120円ですよ」と言って売った以上、そこからさらに貰うのは完全に「無償で貰う」に相当する。無償で何かを貰うというのは状況次第だが、少なくともゲーム制作に当たっては精神的に良くない。


 そういうわけで、電子版の設定資料集を作って売りたい。ようはHelltaker戦法である

 電子版なので刷ることは考える必要がないとはいえ、本を作るというのは初めての試みなのでいろいろと苦労しそうである。そもそも何で作れば良いものか……LaTeXかなぁ。

 


0 件のコメント:

Powered by Blogger.