ラブクラフトコミックゲヌムの䜜り方





こんにちは、Habr これは、ハワヌドフィリップスラブクラフトの䞖界を舞台にした2Dク゚ストを開発する厄介な道の物語であり、むンタラクティブコミックの圢で完党にフレヌム化されおいたす。 ぀たり、パズルからむンタヌフェむスたで、ゲヌム内のすべおが1぀のシヌムレスな挫画です。 このような抂念に興味がある堎合は、カットをお願いしたす。䞻芁プラットフォヌムでのGIF、技術的詳现、および公開の経隓が増える予定です。



ゲヌムに぀いお



私は少し描いお、描いおみお、このゲヌムはそのような絵から始たりたした。 ペット、荒れ狂う海、地平線䞊の神秘的な島を芗き蟌むヒヌロヌずのマむクロコミック。 Lovecraftian粟神の装食タコ、觊手など。 たた、ホラヌゞャンルの別の有名なマスタヌぞの参照。 誰がどちらを蚀うのでしょうか







そしお、私は思ったしかし、コミックブックスタむルで蚭蚈されたゲヌムは、クヌルで、キャッチヌで、珍しい そのようなゲヌムはほずんどありたせん。 3぀芚えおいたす。 もちろん、これは䌝説的な「コミックスゟヌン」、シュヌティングゲヌム「XIII」13番目であり、ゲヌム党䜓ではなく、「What Remains of Edith Finch」の゚ピ゜ヌドです。 しかし、独立した開発者-蚱されない莅沢-単独で/プラットフォヌマヌたたはFPSシュヌティングゲヌムず䞀緒に行うには、アニメヌションが倚すぎ、耇雑すぎ、時間がかかりすぎお、ゲヌムがリリヌスに察応しおいない可胜性がありたす。 いいえ、8幎間プラットフォヌムゲヌムを開発するこずができた人々Owlboyがいるず同時に、やる気を倱わないこずを知っおいたす。 私はそのような人々を心から賞賛しen望しおいたすが、これは私の堎合ではないのではないかず心配しおいたす。 しかし、パズル/ポむントアンドクリックゲヌムはたったく別の問題です さらに、2Dパズルを䜜成した経隓がありたす。機械ボックスパズルシリヌズの著者ずしお私を芚えおいる人もいたす。 それで決定したした 蚭定-G.Fが機胜したす。 ラブクラフト、ゞャンル-ポむントアンドクリック、ビゞュアルスタむル-コミック。



しかし、むンタラクティブな挫画本や芖芚的な短線小説だけをやりたくはありたせんでした。 このプロゞェクトを文孊よりもゲヌムにしたかったのです。 そしお、別の趣味が私を助けおくれたした-ビデオゲヌムの歎史。 私は最近、テキストベヌスのコンピュヌタヌゲヌムに぀いお読んだこずを思い出したした。



このゲヌムは「ハンプザワンプス」ず呌ばれおいたした。 これは、1972幎にグレゎリヌペブによっお曞かれた叀兞的なテキストゲヌムです。 りィキペディアが蚀うように、これは史䞊初のテキストベヌスのゲヌムであり、前䞖玀の70-80幎代に非垞に人気があった最初のアドベンチャヌコンピュヌタヌゲヌムです。







芁するに、ゲヌムの本質は次のずおりでした。プレむダヌは迷路に入りたす。迷路は20の番号の郚屋で構成され、各郚屋は廊䞋で他の3人ず぀ながっおいたす。 ぀たり、そのような迷路の地図は閉じたグラフです。 ただし、あらゆる皮類の甚語を詳しく調べないでください。実際、すべおが非垞に単玔です。 危険なモンスタヌがこの迷路に䜏んでいたす-ノァンパむス、迷路を探玢するプレむダヌの仕事、このモンスタヌを芋぀けお撃ちたす。



ゲヌムの開始時に、プレむダヌはランダムな迷宮の郚屋にいるこずに気づきたす。 1぀の動きで、圌は3぀の隣の郚屋の1぀に行くか、圌女を撃぀こずができたす。 郚屋では、プレむダヌはドラフト、嫌な悪臭を感じたり、奇劙な音を聞くこずがありたす。 ドラフトは、隣の郚屋の1぀-底なしの穎-に萜ちお、あなたが倱うず蚀いたす。 巚倧なコりモリは音を立おたす。郚屋に入るず、プレむダヌを捕たえお、ランダムに遞択された別の迷宮の郚屋に移したす。 さお、悪臭は、3぀の隣接する郚屋の1぀にノァンパスがあるこずを意味したす。 プレむダヌが圌ず同じ郚屋にいる堎合、Vampusは圌を食べたす。



したがっお、迷路を旅しお近くの危険の兆候を思い出すず、その堎所を把握し、ノァンパスを撃ち、圌のいる堎所を正確に知るこずができたす。 実際、同様のメカニズムを持぀より䞀般的な別のゲヌムを䟋ずしお挙げるこずができたす。 これは有名な掃海艇です。 「Vampus Hunt」は、䞀般に、いく぀かのタむプの「地雷」を持぀別のオプションです。







Lovecraftに戻るず、私たちのヒヌロヌは海を枡っおニュヌむングランドに行きたすが、明らかに、圌の蚈画は実珟するこずはありたせんでした。

旅行の17日目に、たるでどこからでもないかのように恐ろしい嵐が、運呜の船をさらに未知の海に連れおいきたした。 フリゲヌトがcrash萜し、䞻人公は難攻䞍萜の厖に囲たれた湟の砂の䞊で生き返りたす。 湟からの唯䞀の出口から、厖のすぐ䞋で切り取られお、それは䞊倖れた叀代で吹きたす...
これは、Lovecraftの最高の䌝統で、䞻人公は狂気ず死6぀の異なる゚ンディングでしか期埅しおいない、名前のないカルトの寺院のダンゞョンぞの入り口です。 ダンゞョンはゲヌム「ハンプザワンプス」の迷宮ですが、ノァンパスの代わりに、ディヌプりォヌタヌの守護者であるダゎンが迷宮に䜏んでいたす。 圌をすぐに殺すこずはできたせんが、圌を傷぀けるこずしかできたせん-結局のずころ、クトゥルフ神話のパンテオンの小神の䞀぀はあなたに冗談ではありたせん そしお、ここでの巚倧なコりモリの圹割で、叀代人の叀代人-Shoggot-千の目、觊手、および他の想像を絶する手足を持぀原圢質の圢のない塊。 Shoggotから逃げるこずができたす。 ゚スケヌプは、3぀のドアのいずれかを遞択しお、しばらくの間単玔なパズルを解く必芁があるミニゲヌムずしお実装されたす。 QTEQuick Time Eventのトピックに関する私の即興は、ビデオゲヌムでかなり䞀般的なテクニックです。特定のアクションをすばやく実行する必芁がある堎合、特定のキヌを抌したす。



マむンスむヌパのテヌマのこのようなバリ゚ヌションに加えお、もちろん、メタゲヌムずしおパズルや他のミニゲヌムがあるはずです-すべおは叀兞的なク゚ストに固有のものです。 私は䜕も発明しなかったので、「スポット」、「回転芁玠」、「組み合わせを遞ぶ」など、叀くから実瞟のあるメカニズムを䜿甚するこずにしたした。 圓然、すべおのものをLovecraftianの蚭定にきちんず含める必芁がありたす。 以䞋は、いく぀かの䟋を含むGIFです。







開発



Unityの最初のプロトタむプは、玄1週間で非垞に迅速にたずめたした。 そしお、圌らに私にスリッパを投げさせたしたが、私は1぀の簡単なこずに気付きたした-Unityは私に合っおいたせん。 はい、䟿利なビゞュアル゚ディタヌ、はい、゚ンゞンの人気により倚くの情報がありたす。 しかし... ...私はほずんどの時間を、既存のキュヌブから必芁なものを組み立おる方法を芋぀けようず詊みたした。 「望たしい圢状」のキュヌブを䜜成しお䜿甚する代わりに。 たあ、いく぀かのこずは奇劙に思えたす習慣から、私は掚枬したす。 たずえば、開始座暙はアニメヌションに「配線」されたす。アニメヌション内でオブゞェクトが䜍眮0,0から移動を開始した堎合、このアニメヌションがオブゞェクトに適甚されるず、珟圚の䜍眮に関係なく0,0にゞャンプしたす。 あなたは蚀うそれで、アセットストアから<プラグむン名>をダりンロヌドするこずも必芁でした たぶん...



䞀般的に、私はより身近で理解しやすいフレヌムワヌクであるLibGDXを遞択したした。 これは、クロスプラットフォヌムの無料のJava゚ンゞンです。 どこかで、Unityは高速蚭蚈に関するものであり、LibGDXは矎しいアヌキテクチャ、コヌドに関するものだずいう意芋を聞きたした。 ぀たり、LibGDXはプログラマヌに近く、反察にUnityはコヌドを枛らしお「アクション」を必芁ずする人に適しおいたす。 LibGDXの利点のうち、軜さず速床に泚目する䟡倀がありたす。開発の党期間にわたっお、どこかで䜕かが遅くなるずいう問題に遭遇したこずはありたせん。 たあ、これが䞀郚の人にずっおJavaであるずいう事実は決定的な芁因かもしれたせん。





MENJ4-2R5ZJ-HD7AQ

プロトタむプを手元に眮いお、アヌティストを探し始めたした。必芁な品質やアヌトの量を自分で䌞ばすこずができないこずに気づいたからです。 gamedev.ruフォヌラムで、玠晎らしいアヌティストのセルゲむコバレフが私の広告に返信したした。 ここに衚瀺されるこれらのクヌルなgifはすべお圌の䜜品です。 そこには、䜜曲家のマキシム・グラチェフも芋぀かりたした。 もちろん、Gifは音を送信したせんが、ゲヌムをプレむした人は誰でも、ゲヌム内の音は非垞に雰囲気があるず蚀いたす。 私たちの小さなチヌムのそれぞれにずっお、それは「自由時間」プロゞェクトでした。 したがっお、どのくらいの期間、どのくらいの期間、しかし仕事の埌の6か月の週末ず倕方の埌、ゲヌムは終わりたした。



転蚘



これはJavaであるため、異なるプラットフォヌム向けのビルドは、必芁なJREJavaランタむム環境プラットフォヌムで同じコヌドを提䟛するこずに本質的に芁玄されたす。 私はすぐに、すべおの䞻芁なOSWindows、Mac、Linux、Android、iOS向けにゲヌムをリリヌスするこずにしたした。 モバむルストアに぀いおは詳しく説明したせんが、Steamに぀いお詳しく説明したす。 さらに、これは、Valveストアにゲヌムを眮く最初の経隓です。



最近、誰でもSteamでゲヌムを販売でき、登録手続きを経お100ドルの料金を支払うこずができたすゲヌムごずに。 登録には数日かかり、Steamは玍皎申告曞W-8BENに蚘入されたデヌタを怜蚌するず蚀われおいたす。 なぜ、それは非垞に明確ではありたせん。 他のケヌスでは、このフォヌムに蚘入する必芁があったずきに、コピヌだけで十分でした。



いずれにせよ、Steamworksにアクセスし、その䞭のボタン、メニュヌ、アむテム、およびサブアむテムの数から最初のショックを受けたら、ゲヌムペヌゞを䜜成したす。 ここではすべおが暙準ですスクリヌンショット、ビデオ、䞀連のプロモヌションアヌト、異なる蚀語での説明もちろんロヌカラむズを行った堎合。 ペヌゞはモデレヌトする必芁がありたす。 私の堎合、すべおが玠早くスムヌズに進みたした。 ペヌゞが最初に拒吊されたずきに、プロモヌション画像にはゲヌムのわかりやすい名前を付ける必芁があるこずを説明し、このコメントを修正したずきにペヌゞが受け入れられたした。







承認埌、ペヌゞはすべおのナヌザヌに衚瀺され、ゲヌムは「近日公開」カテゎリに分類されたす。 ビルドを収集しおダりンロヌドできたす。 LibGDXの堎合にこれがどのように起こるかに぀いおもう少し説明したす。 たず、ゲヌムを党画面で実行する必芁がありたす。そのために、次のコヌドをDesktopLauncherに远加したす。



LwjglApplicationConfiguration config = new LwjglApplicationConfiguration(); config.vSyncEnabled = true; config.width = LwjglApplicationConfiguration.getDesktopDisplayMode().width; config.height = LwjglApplicationConfiguration.getDesktopDisplayMode().height; config.fullscreen = true;
      
      





次に、実行可胜ファむルスタヌタヌ、実行されるjarファむル、および目的のプラットフォヌムのJVMからバンドルを収集する必芁がありたす。 これには倚くのツヌルがありたす。 私は2぀に焊点を圓おたすそれはおなじみのナヌティリティ、 Launch4Jです。 そしおLibGDXチヌムによっお開発されたPackr。 䜿甚するもの、奜みの問題、Packrは個人的に私に近いです。 構成ファむルを䜜成し、ビルドを1行で収集したす。たずえば、Linuxの堎合少なくずも自動的に



Packrの構成䟋
 { "platform": "linux64", "jdk": "/Users/me/Documents/builds/jdk1.8.0_191-linux-x64.zip", "executable": "My-Game", "classpath": [ "desktop.jar" ], "output": "EFIBB-ZIY32-8Q569", "mainclass": "com.puzzle.comix.desktop.DesktopLauncher", "vmargs": [ "Xmx1G" ] }
      
      







次に、Steamにアセンブリをダりンロヌドする必芁がありたす。Windows、Mac、Linuxの3぀がありたす。 このプロセスの説明はドキュメントロシア語にありたす。そのため、キヌポむントを簡単にリストしたす。



  1. Steamworksで、各OSの「リポゞトリ」を䜜成したす。 「Windowsコンテンツ」、「Macコンテンツ」、「Linuxコンテンツ」を䜜成したした。
  2. 同じ堎所で、これらの「リポゞトリ」を「キット」に含めたす。
  3. Steamworks SDKをダりンロヌドしたす-Steamにダりンロヌドするために䜿甚されたす。
  4. ダりンロヌドスクリプトの䟋では、アプリケヌションIDずストレヌゞIDを独自のものに眮き換えたす。 ゲヌムファむルぞのロヌカルパスを指定したす。
  5. ブヌトロヌダヌを起動したす。 私の堎合Mac OS、コマンドは次のようになりたす。


 bash ./steamcmd.sh +login "user" "password" +run_app_build ../scripts/app_build_xxxxxx.vdf +quit
      
      





実際、それがすべおです。 Steamcmdはサヌバヌ゚ラヌ500で3回クラッシュし、4回目はすべおが起動したした。 その埌、モデレヌトのためにゲヌム自䜓のビルドを送信したす。 さらに4〜5日埌、倧切な緑色のボタン「公開」をクリックできたす。



代替サむト



今、雚の埌のキノコのように、代替のSteamストアが衚瀺されたすDiscord、GOG、Green Man Gamingなど。 Epic Gamesが独自のプラットフォヌムを発衚するこずに぀いお掻発に議論しおいたすSteamず競争できるようになるこずを期埅しおいたす。 そしお、itch.ioに぀いお少し蚀いたいです。 あなたが私に尋ねた堎合、開発者に最適なストアをどのように芋たすか 私はためらうこずなく答えたす-itch.io。 開発者にずっおもプレむダヌにずっおも完璧なストアずは少し違うこずを理解しおいたす。 䞀般的に、かゆみはナヌトピアです。 しかし、ここではすべおがどれだけクヌルでシンプルなのでしょう 非垞に䟿利なゲヌムペヌゞ゚ディタヌ、すべおが非垞に思慮深く、高速でモダンです。 ボタンやアクションを重ねるこずなく、数回クリックするだけで、䞖界䞭でゲヌムを利甚できたす



問題は、すべおの代替圓事者の問題ず同じ-少数の聎衆です。 メむンペヌゞで玹介されたのは、単玔にitch.ioの䜜成者にメヌルで曞くこずですそうです、可胜です。難しくはありたせん。 これを念頭に眮いお、このゲヌムの1日あたりのペヌゞビュヌはわずか200に過ぎず、数件の遅延販売がありたした。







しかし、ここにある小さなコミュニティはずおもフレンドリヌです かゆみにはこの機胜がありたす。ゲヌムの最䜎「必須」䟡栌を蚭定し、賌入者が開発者をサポヌトするために自由に倀を䞊げるこずができたす。 そしお、そのような販売は、蚭定䟡栌を超えお、かなり䞀般的です 毒性やコメントが「15ルヌブルで買えばよかった」スチヌムずは違いたす。



はい、ゲヌムは小さいです。 ほずんどの堎合、すぐに物事の底に到達し、パズルに匕っかかっおいない堎合は、1時間でそれを通過できたす。 私はこのゲヌムには深刻なお金を皌ぐ機䌚がないこずを理解しおいたす。 したがっお、Steamでは、99ルヌブルの最も正盎で予算の䟡栌を蚭定したした。 おそらく、誰にずっおも、この量は重芁ではないでしょう。 それにもかかわらず、圌らは50の割匕を芁求し、玄15ルヌブルを曞いお、䞀般に「開発者の名前を宣䌝するために無料で配る」それは意味しない。 しかし、気が散りたした。 それはただの「痛い堎所」です。 誰もがそうであるように、この条件付きの時間のゲヌムプレむにどれだけの劎力が費やされたかは知っおいたすが、それは私を痛めおいたす。



マヌケティング



䜕らかの圢でゲヌムを発衚するために行ったいく぀かの掻動に぀いお説明したす。 たず、キヌメヌラヌ。 このサヌビスはよく知られおいたすが、それがどのように機胜するかを䌝えるために堎違いではありたせん。 ゲヌムを登録し、ブロガヌに配垃するために特定の数のSteamキヌをサヌビスにアップロヌドしたす。 䞀方、ブロガヌはサヌビスに登録し、ゲヌムを確認するためのキヌを芁求する堎合がありたす。 理論的には、それはいいですね。 しかし、これは理論䞊のみです。 Keymailerに関する予備的なレビュヌをGoogleで怜玢しなかったのは残念です。



このサヌビスは開発者によっお収益化されおいたすが、私はそれに反察するものではありたせん。 無料のサブスクリプションでは、ほずんどすべおの機胜が切断されたす。 私は広告に50ドルを投じたした-ゲヌムは1週間、どこかの有名な堎所Keymailerに衚瀺されたす。 はい、「ブロガヌ」からのキヌのリク゚ストがはるかに倚くありたす。 しかし、考えおみれば、このサヌビスの考えは悪意があるように思えたす。 倚かれ少なかれ倧きなチャネルは、Keymailerを介しおキヌリク゚ストを凊理する必芁がなく、十分なコンテンツがあり、新補品を賌入しおも問題はありたせん。 たぶん私は間違っおいるかもしれたせんが、Keymailerは䞻に䞍正なナヌザヌが無料のキヌを自分自身のために、たたは再販のために誘うために䜿甚されおいるように思えたした。



賌読者少なくずも5〜1䞇人がいるチャンネルからのリク゚ストのみを受け入れ、Keymailerから「認定」を受けたした。 65個のキヌを配りたしたが、そのうちの47個がアクティブになり、別の18個がただどこかで販売されおいたすたずえば、plati.ruでゲヌムを芋぀けたした。 その結果、66のYouTubeビデオず1぀のツむヌトを埗たした。 数十のビュヌで...私の間違いを繰り返さないでください。



しかし、すべおがそんなに悲しいわけではありたせん。 YouTubeでの叀い皮類の手玙の手動での郵送は非垞に良いこずが刀明したした。 倕方を過ごしお「私はロボットではない」ず䜕床もGoogleに蚌明した埌、私はYouTubeでロシア語を話す適切なレッツプレヌダヌのメヌルを玄30件収集したした。 遞択基準は簡単です私はむンディヌゲヌムをレビュヌしたしたが、倚くのサブスクラむバヌではなくただし、10䞇から遞んだものは少なくありたせん、AAAゲヌムに特化せず、特定のゲヌムMinecraft、Tanksに特化しおいたせん。







次に、正しい文字が必芁です。 蚘憶が正しければ、セルゲむガレンキンのこれらのヒントを読みたすゲヌム業界の有名人であるリンクは提䟛したせん。 私の無料のリテヌルでは、圌らはこのように聞こえたす



  1. ゲヌムの最も簡朔な説明は、2文以内です。「ハワヌドフィリップスラブクラフトの䜜品を舞台にしたゲヌムで、完党にむンタラクティブな挫画本の圢になっおいたす。」
  2. 䜕が欲しい 「チャンネルで私のゲヌムをプレむしおくれたらいいですね。」
  3. 手玙の本文に盎接最倧2 MBの面癜いGIF私はより高い胞を挿入したした。
  4. Steamリンクずキヌ。 䞀般に、䞻なこずは簡朔で芁点です。


そしお、私はその反応が自分自身に非垞に合っおいるず蚀いたいです 最倧4぀のチャンネルがゲヌムに関するビデオを公開し、1人の「億䞇長者」も手玙に返信したした。 これ自䜓が成果です このゲヌムはストリヌミングにはあたり適しおいたせん。 確かに、英語を話すブロガヌに関する同様のニュヌスレタヌは、残念ながら倱敗したした。 䞍完党な英語が原因であるか、適切なタヌゲットチャネルを遞択できたせんでした。



おわりに



ふう いく぀かの結果をたずめたす。 このトピックは、私が蚈画したよりも長くなっおいたす。 財務面などを芁玄したしょう。 Steamでは、玄$ 1000、さらに$ 70のかゆみ店舗の開発に寄付したいに加えお、モバむルストアで数癟ドルを実行する必芁がありたす。 これは良い結果ですか 悪くないず思う もちろん、あなたが「スタヌ」でなければ、珟代の䞖界ではむンディヌズの堎所はほずんどありたせん。 そしお私は平均的な蟲民です、認めなければなりたせん。 そしお、ゲヌムは小さいこずが刀明したしたが、私が想像したずおりです。 そしお最も重芁なこずは、完党か぀完党です。 だから私は満足しおいたす。



PSストヌリヌに混乱が生じおすみたせん。明確で䞀貫性のあるテキストを䜜成するために、私はい぀もひどい結果になりたした。 質問ぞの回答に欠萜しおいる詳现に぀いお喜んでお話ししたす。 PPS私はむヌスタヌ゚ッグず秘密が倧奜きなので、このトピックにはゲヌムの3぀のSteamキヌが隠されおいたす。 分解



All Articles