テキストMMO RPGの作成を開始した方法

画像







この記事では、TelegramのテキストMMO RPGの最初のバージョンを作成した私の個人的な経験、これに使用されるテクノロジー、およびゲームを作成するために行った手順について説明します。







はじめに、または私がそれをすべて達成した方法



2010年から-私は遠くから少し始めます。 そのとき、私はブラウザゲームに精通し、彼らに多くの自由時間を与えました。 このようなゲームを数年間行った後、私は自分のゲームを書きたかったのです。 これらのブラウザーの1つで同じ愛好家を何人か集め、将来のゲームのために一種のTKをスケッチしました。 TKを書いている段階で、それはすべて終わった。







しかし、「大きなゲームの乙女に」参加するという考えは、私を去りませんでした-私がウェブプログラミングに従事している間、それは内部のどこかで暖かかっていました。







これは2017年の初めまで続きました。







1月中旬頃、当社の開発チームは、ある有名な会社から、数人のインスタントメッセンジャー用のボットを作成する注文を受けました。 チームの開発のサーバー部分は私にあるため、主にプラットフォームを選択しました。 最初に、SkypeおよびTelegram用のMicrosoft Bot Frameworkがテストされました(かっこ内では、それまでTelegramに慣れていなかったことがわかります)。 ボットフレームワークは、テレグラムからのユーザーリクエストへの応答に大幅な遅延を示したため、テレグラムボットAPIを直接使用することにしました。







そのため、最初のボットは作成されましたが、ゲームとはまったく関係ありませんでした。







しかし、それを書いている過程で、Telegramのボットの形で実装されたいくつかのテキストゲームを見つけました。 城、剣、クラフトなどの「古典的な」MMO RPGを試しました。 5つの小数に分割するというアイデアと、それらの間の戦いが好きでした。 私は見て、試してみて、すぐにここにあることに気付きました-私はテキストのRPGを作ることができます。 そのためには、私のリソースと動機で十分です。







2017年2月の始まりでした...










テキストベースのMMO RPGの最初のバージョンを作成する



まず、設定が選択されました-最も近代的な設定。 当初、このゲームは「ハッカー戦争」と呼ばれていましたが、ハッカーが働いて互いにハッキングする企業が5社あることが決定されました。 ハッキングが成功すると、現地通貨と経験値が得られ、失敗すると通貨が失われます。







この基盤は私たちにありますが、絶えず再調整されます(さらに別の時間に)。







古典によれば、キャラクターはレベルと現在の経験を持っています。 経験が増えると、キャラクターのレベルも上がります。 ここで複雑なことはありません。







次に、キャラクターのスキルを判断する必要がありました。 強さ、防御、器用さ、その他の物理的パラメーターを使用できませんでした-ハッカーは物理的に戦うことはありません。 したがって、ペアで互いに反対の4つのそのようなパラメーターを選択しました:実践理論、unningな知恵。







次の3日間は、バランサーに専念し、さまざまなキャラクターでこれら4つのパラメーターを相互作用させるためのさまざまな公式を作成しました。







この時点で、ライバルのパラメーターを比較することは容易ではなく、彼が勝った人が勝ったと判断されました。 これは退屈で、ゲームの瞬間はありません。 必要とされたのは、正確に戦いであり、ヒット、回避の可能性がありました(アナログは、説明を容易にするために物理的な世界から取られました)。 または、同じこと-ハッキングの可能性、ハッキングの回避。 トリックと知恵+ランダムがこれを担当しました。 そして、ダメージとクリティカルヒットの量-実践と理論。 すなわち 私は何も発明しませんでした。より適切な方法でスキルを呼び出しました。







そのため、3日間、数百万のボットが互いに戦いました。







次の段階は、いわゆる「ギア」です。 クラシックRPGのさまざまな剣、盾、弓、その他の持ち物。 またはポスト黙示録のプラスモガン。 現代では、ガジェットを使用することにしました。 キャラクターには、ガジェットのタイプごとに6つのスロットがあります。 1つのスロットには、一致するガジェットを1つだけ装着できます。







ガジェットのコストを計算し、キャラクターのスキルに追加した後、そのようなタブレットを手に入れました(このタブレットは後でガールプレイヤーによって準備され、私のバージョンではスプレッドシートにすぎませんでした)。







画像







RPGの基礎-スキルとガジェットが定められています。 MMOインタラクションが追加されました-5社の戦い。 ハッキングが成功すると引き出される経験と通貨の増加の公式が書かれています。 しかし、何かが欠けていました。 私は熱意が欲しかった。







そのため、7日目に(そしてプログラマーはそれが良かったと思った:)、5社すべてのシェアがプロジェクトに登場しました。 プレイヤーはどの会社の株でも購入できますが、購入後は手元に現地通貨で一定の金額を持っているはずでした。したがって、戦闘の開始までに、プレイヤーはしばしば空の財布を持っていました。これは成功したハックで奪うものでした。 これは、株と彼ら自身の間の戦いとの間の最初のリンクでした。 次のステップは、各戦闘の結果に応じて株式の価値を変更することです。 企業がハッキングされた場合、株価は下落します;クラックできなかった場合、株価は上昇します。 それで、株は戦いに影響を及ぼし始めました-株への戦い。







同時に、Startup Wars-Startup Battlesでゲームの名前を変更することにしました。







プロモーションの主な「通貨」は、同様のMMOプロジェクト-アフィリエイトリンクを介した友人の誘引により時間とともに増加するエネルギー-から取られました。ここでは自転車を発明しませんでした。 唯一のことは、動機と呼ばれるこの通貨があることです。 プレイヤーのアクションにはモチベーションコストが必要なものもあり、その代わりに経験、お金、その他のリソースが与えられます。







すべてのメカニズムと並行して、ゲームインターフェースを作成する作業が行われていました。 テレグラムボットには、入力ラインの下にある「通常の」テキストボタンと入力ラインの上にあるインラインボタンの2種類のボタンがあります。 ボタンに加えて、/ helpなどのスラッシュで始まるコマンドがあります。







使用可能なインターフェースに基づいて、多くのアーキテクチャ上の決定を下しました。 したがって、ゲームのさまざまな「シーン」での主な動きは、入力行の下のテキストボタンを介して実行されます。 そこで、メインメニューに戻る最初のボタンを考慮して、6つ以下のボタンを保持しようとします(メインメニューはキャラクタープロファイルです)。 あるページに決定を下すための1-2ステップ(たとえば、手持ちのすべての株式の売却の確認)がある場合、インラインボタンを使用します。 ページに多くの操作がある場合(たとえば、ローカルのオンラインストアでガジェットを購入する場合)、スラッシュで始まるコマンドを使用します。







ケースは2月中旬に近づいており、15日に手術を予定していたので、帰国後、プロジェクトを開始する予定でした。 操作の前に、ゲームに広範なヘルプを導入し、さまざまな詳細を完成させるのに数日かかりました(そして、悪魔は詳細にあります)-たとえば、より強力なガジェットを手に購入すると、古いガジェットが自動的に置き換えられ、古いものが置かれますバックパックに。







最初のバージョンは、主な作業の合間に、ちょうど14日間で開発されました。










テキストベースのMMO RPGの最初のバージョンの起動



それで、私は病院から戻り、翌日に打ち上げを組織しました。 チームのメンバーがサーバーのセットアップを支援しました。 当時、それは1つのメインゲームボットであり、ロングポーリングによって電報から更新を受信して​​いました。 さらに、cronで実行されているサーバー上のいくつかのスクリプト-昼間は3時間ごとに自動的に行われるバトル自体と、消費したモチベーションを回復するスクリプト。







ボットの立ち上げと同時に、私は電報で5つの非公開グループを登録しました-対立する企業のそれぞれに1つです。 プラス1つのオープングループ-すべてのプレーヤーの相互通信用。 さらに、ニュースチャンネル-ゲーム自体の更新について。 チームのアーティストが、これら6つのチャット、ゲームボット、ニュースチャンネルのすべてに美しいロゴを用意しました。







このシンプルなコンテンツセットすべてについて、2月18日の夕方に開始しました。 Sparkに関する記事はローンチのタイミングで、最初のプレイヤーを獲得しました。 これらのプレイヤーは既にモチベーションを高めるためのプロモーションリンクを友人にばらまき、6日後には約400人のプレイヤーがいました。







ゲームはテキスト形式、つまり 各プレイヤーのアクションの後、ゲームは彼に何らかの答えを送ります。 打ち上げの時点で、私自身がすべてのテキストを準備しました。 それから、あなたのモチベーションを費やすことができる2つのクエストがありました-仕事と散歩。 職場では、プレーヤーはより多くのお金を稼いだが、経験は少なかった。 ウォーキングの経験は増えますが、お金は減ります。 各クエストには1モチベーションの投資が必要で、5分間のリアルタイムで終了しました。 クエストの最後に、プレイヤーは、仕事中または外出中に発生したイベントの説明を含むいくつかのフレーズのセットからランダムなフレーズを送信されました。







スタートから3日目のどこかで、勇気を出して、ウォークとワークのフレーズの終わりのコンテストを開催することにしました。 「実装」は非常にシンプルです-ゲームのメインチャットでハッシュタグ#sw_competitionを使用してコンテストのフレーズを書くことをお勧めします。 それだけです。







数日のうちに、興味の度合いが異なる109のフレーズが既にありました。







そして、これらのフレーズを何らかの方法でソートし、データベースに送信してからゲームで使用するときだと気付きました。 今後、これらのフレーズはゲームの最初のバージョンには入りませんでした。







そのため、ゲーム用の2番目のボットがありました。私は、2度考えることなく、SW Informantと呼ばれる、一種の電子アシスタントガイドです。 私は彼を6つのゲームチャットすべてに「フック」し、ハッシュタグでコンテストのフレーズを収集するように求められました。 文字通り、このボットを立ち上げた直後に、新しいアイデアを思いついた- #idea 。 各プレイヤーは、ゲームの既存の機能を改善したり、まったく新しい機能を提供するためのアイデアを提供できます。 将来、他のハッシュタグが登場しました。最も人気のあるものは、たとえば#バグです -これはプレイヤーからのバグ報告です。 ゲームで見つかったバグと実装されたアイデアについては、ゲーム内通貨で支払いました。







そのため、ゲームが開始され、コミュニティが徐々にその周辺に形成され始めました。 プレイヤーが見つけたバグを修正し、興味深いアイデアを実装しました。 残念ながら、2月末に3.5か月間病院に行きましたが、3月3日に友人にゲームサーバーの停止を余儀なくされました。 そのため、私の最初のゲームの最初のバージョンは存在しなくなりました。










使用技術








ご注意



病院から戻ってから2番目のバージョンをどのように立ち上げたのか、その時点で何を経験したのかについて興味がある場合は、コメントを書いて、別の記事を準備します。







PS:ここで説明したゲームをプレイしたいハブロフスク市民のために、最初に特別なボーナスを用意しました 。これはHabrリンクをクリックするだけで取得できます。








All Articles