2016-03-31 20 views
-2

私は経済/都市建築シミュレータに関する少し質問があります。したがって、都市のスカイラインなどのゲームでは、都市はコンピュータによってリアルタイムでシミュレートされます。シミュレートされているすべてのデータは、ゲームが保存されるときに保存ファイルに書き込まれます。大規模なシミュレーション、フロントエンドまたはバックエンド?

ここで、ブラウザ内のマルチプレイヤー経済シミュレータを作ったとします。だから、基本的に、あなたはブラウザインタフェースから国家を動かす。さまざまな人々が口座を作り、お互いに取引します。そうすれば、基本的にはマルチプレーヤーの経済シミュレータが得られます。

今、私はどのように行ってこれを行うのかに関するいくつかの質問があります。

  • 私は経済をシミュレートするためにJavascriptを使用できません。なぜならあなたは簡単にinspect要素を使って不正行為をすることができるからです。基本的に、クライアント側のシミュレーションは悪い考えです。

  • バックエンド(サーバー側)のすべてのエコノミーをシミュレートすると、エコノミーの量とサイズによって、シミュレーションを実行するために膨大なサーバーが必要になります。

私はリアルタイムでシミュレーションする必要があるものの量をある程度減らすことができます。ほんの少しの例: 悪い考え:

エンティティはローンを支払う必要があります。サーバーは、毎秒データベースを更新して、どれくらいのお金が支払われているか、どれくらいの金額が支払われているか、どの日付に基づいているかを伝えます。

毎秒巨大なデータベースを毎秒更新するのはひどい考えです。

良いアイデア:

データベースが原因これまでに、どのくらいのお金、時間単位あたりは、支払われている...ローンに関する情報が必要な場合は、合計で支払われなければならどのくらいのお金伝えますすでに支払われた金額は、現在の日付を使用した要求とデータベースの情報を使用して計算されます。

私はあなたの思考過程を理解してくれることを願っています。私はプログラミングの面で苦労しているわけではありません。アーキテクチャーはかなり重要なことです。

これは私の最初の深刻なプロジェクトです。私はそれが簡単であるとは思っていませんし、良い結果を残しています。しかし、私は試してみたいのでこれを作っています。

サーバーによるシミュレーションの量を制限する方法や、安全なクライアント側をシミュレートする方法についてのアイデア、助言、提案。それとも、建築に役立つだけでいいのだろうか。

ありがとうございます!

(私は私が求めているものについては明らかではないんなら、私に教えてください)

+1

このようなゲームは、おそらくデータベースとの常時接続を意味します。私はこのシナリオでPHPに行くのではなく、 'node'を選択します。この作業にははるかに高速でなければなりません。 – paskl

+2

_ "シミュレーションを行うには膨大なサーバが必要" _ - だから何?あなたは成功したゲームの他の提供者がそれを妨害として見ていると思いますか? 1台のサーバーから始め、どのようになっているのかをご覧ください。ユーザーベースが成長するにつれて、クラウドに移行します。 – CBroe

+0

@CBroe確かに、私は単一のサーバーから始め、必要に応じて展開します。できるだけ効率的に処理したいと思っています。このプロジェクトは単なる個人的なプロジェクトです。 16歳の男の子として、新しいサーバーを簡単に購入できる予算はありません。しかし、私はまた、大量の人がゲーム/シミュレータを使用することを期待していません。 –

答えて

1

このゲームは本当に良いアイデアです。

私はあなたがクライアント側を使用する必要があると思うが、サーバー側も。 node.jsを使用してサーバーサイドのJavaScriptを作成すると、人々はそれを不正に使うことができません。

アイデア:毎秒データベースを保存せず、カスタム暗号化データを持つCookieを作成し、30秒ごとにデータベースに保存しないでください。クライアントがウィンドウを終了したら、それを検出してページの終了時に保存するスクリプトを作成します。

+0

これは本当に素晴らしいアイデアです!ありがとう!私は確かにnode.jsを調べます。クッキーのアイデアも素晴らしいアイデアです! –

関連する問題