「接触」の条件でのフラッシュゲーム「マフィア」

この記事の目的は、たとえば「In contact」の下にある私のゲーム「Mafia」などのアプリケーションを作成するプロセスを説明することです。

どんなゲームなのかわからない人(私は個人的にそのようなものがあることを非常に疑っていますが)については、 ウィキペディアでその説明を読むことをお勧めします。



As3、Flex、Java、マルチスレッド、永続的なソケット接続が何であるかを知っている場合、またはフラッシュゲームがどのように書かれているのか疑問に思っている場合は、投稿があなたのためだと思います!

カットの下には、いくつかの統計もあります。





私はマフィアのファンです



それを最初にプレイして以来、それを自分自身と呼んでいます。 私の仲間の学生はすべてファンでしたが、これも驚くことではありません-誰もが「マフィア」をプレイしました!」 Flashゲームを専門的に開発し始めたとき、自分のバージョンのゲームを書くことを考えました。 しかし、常に何かが欠けていました。 しかし、この考えは常に私が行うすべての背景として役立ってきました。



「ワニ」を手伝った



アイデアがあったので、私はインターネットでの実装を常に監視していました。 しかし、どんな選択肢に出会ったとしても-いつも何かが私に合わなかった。 1つの欠点は、ほとんどすべてのバージョンを統合しました-それらは非常に複雑でした。 そして、ユーザーが何も考えずにログインしてすぐにプレイを開始できるように、このようなゲームを作成したかったのです。 そして、「クロコダイル」は私を助けてくれました-見事なアイデアの簡単な実装です! 連絡先「Gena」の緑色の尾に数日間「ハング」した後、ミッシングリンクを見つけて、「Mafia」の独自のFlashバージョンの作成に取り掛かりました。 しかし、別の補助的な瞬間がありました。仕事が始まる少し前に、書かれた文学の筋書きに従ってゲームの実装を手伝うように頼まれました。 ただし、すべてが思ったよりもはるかに複雑であることが判明し(マップ上に多数のモンスターがいるオンラインRPG)、十分なフラッシュ機能がありませんでした。 プロジェクトは無駄になりましたが、開発は残りました。 「コンタクト」の下に「マフィア」を書くときに便利になったのはこれらの開発でした。 私の開発とクロコダイルゲームの原理を組み合わせることで、私は今持っているものを手に入れました。



設計



私はプロのサービスのための資金を持っていませんでしたが、今ではありません。 したがって、私は自分の能力を使用しました:私はすべてをフラッシュで直接自分で描きました。 ガールフレンドは少し助けました-彼女はアイコンの2番目のバージョンをわずかに修正しました。



アイデアを実装するためにどのツールを使用しましたか?



  1. リソース、グラフィックス-私が言ったように、Adobe Flash 4。
  2. クライアントコードはAction Script 3です。開発はFlex環境で行われました。
  3. サーバー-Javaで記述。 ここで、私がJavaを選んだ理由を述べたいと思います。 -それは簡単です。 インターネットでJavaとC ++のパフォーマンステストを調べました。 両者はそれほど大きな違いはありませんでしたが、JavaはAction Script 3と非常によく似ており、これが主要な選択基準となりました。 しかし、後でこの選択は個人的にはプラスになりました。

    1. 言語間の切り替え時間が最小化されたため、開発速度が向上しました。
    2. Javaでは、メモリを操作するためのシステムは自動化されていますが、私にとっては、不必要なトラブルを愛する人でない限り、これは手近です。
    3. Javaには言語開発者が提供する多くの特殊なクラスがあるため、全体的な開発時間は短縮されました。 私の前にすでに発明されているのに、なぜ車輪を再発明するのですか?
    4. C ++で記述されたマルチスレッドサーバーは、Javaの同じものと比較するとかなり時間がかかります。
    5. Javaは、例外を処理しないことを禁止しています(try / catchコンストラクト)。
  4. クライアントとサーバーの接続は、ほとんどの場合に一般的なHTTP要求ではなく、永続的なソケット接続を介して実行されます。
  5. 音楽-スポンサーシップの一環としてプロの作曲家アレンジャーによって書かれました。





プロジェクト構造



このゲームは水平スケーリングの原則に基づいて構築されています。少なくともこの原則を守ろうとしました。なぜなら、アプリケーションは潜在的なユーザーの聴衆が非常に多い「VKontakte」の下で書かれたからです。 ゲームの発売から1週間後、観客は雪崩のように成長していることがわかりました。つまり、私は正しかったということです。人; この期間中に同時にオンラインでプレイできるプレーヤーの最大数は600人でした。 このオーディエンス全体にサービスを提供するには、互いに独立して動作する2つの「デーモン」(サーバーインスタンス)で十分です。 負荷の増加に伴い、「デーモン」の数を増やす予定であり、それらがサーバー全体に分散されます。



ゲーム日程



ゲームは2週間で書かれました(上記で書いたように、予備的な開発を使用したという事実を考慮して)。



試用版



結論として、技術的な観点から、ゲームはベータ版で起動されます。すべてのプロセスは、負荷が増加した状態でデバッグされています。 ゲームプレイは並行して改善されます。 チームの力はバランスが取れています。 みんながプレイを楽しんでいることを保証したい。



リソース(統計)



ゲームは専用サーバー(友人のスポンサーシップ)で実行されています。

サーバー機能:

  1. Intel Xeon X3440 2.53GHz
  2. 8 GB RAM
  3. マザーIntel S3420GP


1つの「デーモン」は、プロセッサの0.3%以上の負荷とRAMの2%で消費します。 負荷が増加すると、RAMの負荷が増加します。 プロセッサの負荷は、1/10パーセント(最大0.5)以内で変動します。 同時に、サーバーには他のプロジェクトからの負荷がかかりません。



ゲームリンク



All Articles