タグ付けされた質問 「php」

2
パーリンノイズについて
私は、Diamond Squareでの仕事の後、Perlin Noiseをいじっています。基本的に、各座標値をスローするための入力としてx、yを使用して一連の関数を作成するHugo Eliasの実装に従いました。 私のPHPコードはこちらです: 2つの質問があります。 アルゴリズムを使用して、配列に高さマップを生成するにはどうすればよいですか?私はそれを完全には理解せず、PHPに擬似コードを移植しましたが、アルゴリズムが「魔法のように」与えられたx、yポイントごとに遷移した値を与えることを読んだ後、最後の関数(map_perlined)を実行します(明らかに、隣接する値)、ランダム関数として使用するときにこれを取得しますmt_rand(-100,100)/100; そして、これは暗号を使用する場合:(1.0-(($n*($n*$n*15731+789221)+1376312589)&0x7fffffff)/1073741824.0;ところで、これはPHPに「そのまま」実装できますか?): 要約すると、3つの質問: 私のコードは正しいですか? ランダム関数は、コードで説明されているようにPHPに移植できますか?エラーはスローされませんが、結果はそこにありません。 アルゴリズムを実際に使用するにはどうすればよいですか? 更新 OK、Gustavsonの論文に示されているコードのPHPポートを作成しました。他のコーダーが言ったように、1オクターブを生成するだけです。複数のオクターブ、振幅、周波数などの概念でこれを使用してノイズ機能を制御する方法について、他の有用なサイト/ペーパー/ガイドがありますか?Gustavsonの論文では、アルゴリズムの実際の実装ではなく、結果のみを示していますが、おそらく何かが欠けていますか? 更新2 @NATHAN 私は次のようなものを作りました: $persistence = 0.5; for ($j = 0; $j < $size; $j++) { for ($i = 0; $i < $size; $i++) { for ($o = 0; $o < 8; $o++) { $frequency = pow(2,$o); …
31 algorithm  php 

5
ブラウザベースの戦略ゲームのデータベースからPHPで六角形の世界地図を作成する方法
PHPブラウザベースの戦略ゲームの六角形の世界地図を作成しようとしています。データベースに、行ごとにid、type、x、y、および占有データを含むテーブルを作成しました。typeはタイルの種類で、数字で定義されます。たとえば、1は草です。マップ自体は25 x 25です。 クリック可能なタイルを使用してデータベースからマップを描画し、矢印を使用してマップ内を移動できるようにします。私はこれから始める方法について本当に手がかりを持っていません、そして、どんな助けも感謝されるでしょう。

3
リアルタイムマルチプレイヤー用のJavaScriptとPHP [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新する Game Development Stack Exchangeで話題になるようにします。 2年前に閉店。 JavascriptクライアントサイドとPHP / mysqlサーバーサイドを組み合わせることは、HTML5リアルタイムマルチプレイヤー(小規模)ブラウザーゲームにとって良いアイデアだろうか? 私の技術的な知識は非常に限られており、将来node.jsを学習することを計画していても、学習曲線は今のところかなり大きいです。 私はすでにPHPに精通しているので、はるかに高速に機能すると思います。 私が考えている規模は、当時2〜8人のプレーヤーです。また、クライアントからサーバーへのメッセージ数を可能な限り少なくしようとしています。 格納/処理する値は次のとおりです。 プレイヤー名とID。 XおよびY位置。 健康。 装備アイテム(最大8スロット、おそらくそれ以下)。 アクション(歩行、攻撃、使用など。ただし、一度に1アクション/プレイヤーのみ)。 箇条書きのX、Y座標と軌跡。 ギルド/クラン名。 そして、いくつかの基本的なチャット/メール機能。 私の推測では最良の解決策ではありませんが、ロジックを小さく保つ限り、これは完全に実行可能です。私は正しいですか?

4
今日のPHPはブラウザゲームにどの程度関連していますか?
私は数年前に適度に成功した2つのブラウザゲームの主任開発者でしたが、まもなく新しいゲームに取り組む予定です。当時、私はそれらを純粋なPHPで作成しました(テンプレートエンジンなどはありません)。 新しいゲームの開発を始めたいのですが、しばらくの間、Web開発の世界から離れていました。読み返してみると、Rails、Django、Node.jsなどについて多くのことを聞いていますが、Python、Javascript、およびその他についての私の方法はよく知っていますが、経験はありません。 私の質問は次のとおりです。古い方法でPHPを使用する場合、自分で物事を難しくしているでしょうか。もっと「トレンド」なものを選ぶことは、私の開発に本当の影響を与えるでしょうか? さらに、これらのより新しいツールを使用してブラウザゲームを具体的に開発することに関連する指針はありますか?

3
PBBGでC#よりもPHPを使用する理由 [閉まっている]
閉まっている。この質問は、オフトピック。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 私はC#開発者であり、永続的なブラウザーベースのゲーム(PBBG)を構築する趣味のプロジェクトを開始したいと考えていました。私はC#、MSSQL、Angularを使用しており、趣味のプロジェクトでもこれらのテクニックを使用すると思いました。 doやdonts、tipsを検索し始めたとき、多くのプロジェクトがPHPを使用しており、C#を使用したPBBGを実際には見つけていないことに気付きました。私が使用しているスタック(C#、MSSQL、Angular)はPBBGに適しているようです。 C#が使用されていないと考えることができる唯一の理由は、Visual Studioの高額な価格と、それがオープンソースではなかったという事実です。 他に理由はありますか、それともC#を使用するプロジェクトを見つけるのが苦手ですか?それとも私は自分の仕事が苦手で、このスタックがPBBGに適していないことに気付かないのでしょうか?

3
戦闘後に獲得した経験値の計算
単純なテキストバトルゲームを開発していて、バトル後に獲得する必要のあるXPの計算にいくつか問題があります。考慮したいいくつかの要因があります。 1)同じレベルの誰かを倒した場合、プレイヤーはもちろん良いXPを獲得する必要があります 2)より高いレベルの誰かを倒した場合、プレイヤーは素晴らしいXPを獲得する必要があります 3)より低いレベルの誰かを倒した場合、プレイヤーは貧弱なXPを獲得する必要があります 4)上記は適切にスケーリングする必要があります。つまり、プレーヤーAがレベル10で、レベル9または11のプレーヤーBと戦う場合、その差は大きくありません(もちろん、レベル11のキャラクターを倒すとXPが増えますが、これは巨大であると期待します)、しかし、彼がレベル5または15で戦う場合、この違いは巨大なはずです。 すべてのシナリオでうまく機能する何かを計算するのに問題があるだけで、現在の私のXPテーブルは以下のようになります。 Current Level XP Needed Increase from Last Level 1 30 0 2 65 35 3 106 41 4 154 48 5 210 56 ... 10 672 123 PHPでは、必要なXPを計算するためのコードは次のようになります。 $offset = 30; $multiplier = 1.17; $base = $prevXp * $multiplier; $xp = $base + $offset; …

4
JavaScriptゲームからサーバーへのHTTPデータの保護
私がJavaScriptゲームをやっていて、ユーザーがゲームとその結果を正常に完了した場合にゲームでサーバーを更新したいとします。 リクエストがJavaScriptゲームからのものであり、送信されたデータが改ざんされていないことを確認するにはどうすればよいですか。サーバーサイド言語としてPHPを使用しています。 100%フールプルーフになる戦略はないことを理解しています。実行する対策は絶対的な保護というよりも抑止力です。 編集時:(従来のMMOのように)各ユーザーのステップのサーバー検証を使用していないとします。ゲームはWebゲームまたは教育ゲーム(スペースインベーダーやリアルタイムゲームなど)の一部としてのミニゲームであり、これらのゲームのそれぞれにサーバー側コンポーネントを必要とするのは面倒です。 例:ゲームが完了すると、リクエストがサーバーに送信されます。AJAX game_finished.php?user_id=1&outcome=success&score=88 ユーザーは、game_finished.phpにリクエストを送信することで、ゲームが正しく完了したと信じ込んでサーバーを「偽造」できます。これをどのようにもっと難しくすることができますか?

1
ブラウザーゲームでロジックとデータを分離する
私はこれを何日も考えてきましたが、どうすればよいかわかりません。私はPHPで戦闘システムをリファクタリングしようとしています(...申し訳ありません。)これまでに存在したものは次のとおりです。 これまでのところ、戦闘に参加できるエンティティには2つのタイプがあります。それらをプレイヤーとNPCと呼びましょう。彼らのデータはすでにかなりよく書かれています。 戦闘に関与する場合、これらのエンティティはと呼ばれるDB内の別のオブジェクトでラップされCombatant、特定の戦いに関する情報を提供します。彼らは一度に複数の戦闘に参加することができます。 戦闘員を投入して戦闘用のロジックエンジンを作成しようとしています。 テスト用にすべてを模擬できるようにしたい。 ロジックとデータを分離するために、私は2つのインターフェース/基本クラス、ICombatantDataつまり1つともう1つを用意したいと考えていますICombatantLogic。データの2つの実装者は、データベースに格納されている実際のオブジェクト用と、モックオブジェクト用です。 私は今、物事の論理的な側面を設計することに関して不確実性にぶつかっています。プレイヤーとNPCごとに1つの実装者を指定できますが、問題があります。戦闘員は、ラップするエンティティを返すことができる必要があります。このゲッターメソッドはロジックまたはデータの一部である必要がありますか?ロジック部分は戦闘の実行に使用されるため、データ内にあるべきだと強く思います。誰かが今度の戦いについての情報を探しているだけでは利用できません。しかし、データクラスはDBからモックのみを分離し、NPCからのプレーヤーは分離しません。DBデータインプリメンターの2つの子クラス(エンティティタイプごとに1つ)を試してみる場合、モックをループに維持しながらどのように設計すればよいですか?IEntityProviderデータクラスに注入するような3つ目のインターフェイスが必要ですか? また、私が検討していたいくつかのアイデアでは、NPCのロジックが誤ってプレーヤーのデータをラップするなど、不一致がないことを確認するためにチェックを配置する必要があると思います。それは意味がありますか?それは、アーキテクチャが正しい場合にさえ起こり得る状況でしょうか、それとも、適切な設計がそれを完全に禁止しているので、チェックする必要がないのでしょうか? 誰かがクラス図などをレイアウトするのを手伝ってくれるなら、それはとても役に立ちます。ありがとう。 編集する また、モックデータクラスではは実際には必要ありませんEntity。代わりに、戦闘統計のようなすべてのパラメーターを直接指定しているだけです。おそらくそれは正しい設計に影響を与えるでしょう。

4
JavaScriptやPHPを使用したテキストベースのゲーム
JavaScriptまたはPHPを使用して、単純なテキストベースのゲームを作成したいと思います。理想的には、ASCIIテキストを一種のブラックスクリーンの「コンソール」スタイルでレンダリングできるようにしたい(クロールやNethackなどのコンソールローグライク、または古いInfocomテキストアドベンチャーゲームなど)。ゲームはシンプルで、主にテキスト入力とメニュー選択です。 これはJSまたはPHPを使用して簡単に実行できますか。もしそうなら、私にいくつかの指針を教えてもらえますか?そうでなければ、この種のゲームを実行可能ではなくブラウザから実行するにはどうすればよいですか?

6
Webゲームのアイテムにコンポーネントベースのシステムを実装する方法
コンポーネントベースのシステムを使用してアイテムを定義することに関する他のいくつかの質問と回答を読んで、PHPで記述されたWebゲームのアイテムとスペルに使用したい。実装にこだわっています。 このシリーズで提案されているDBスキーマを使用します(パート5ではスキーマについて説明します)。 http://t-machine.org/index.php/2007/09/03/entity-systems-are-the-future-of-mmog-development-part-1/ これは、一般的なアイテムプロパティを持つアイテムテーブル、アイテムのすべてのコンポーネントをリストするテーブル、そして最後に、アイテムを構成するために使用される各コンポーネントテーブルのレコードがあることを意味します。 最初の2つを1つのクエリで一緒に選択できると仮定すると、各コンポーネントタイプに対してNクエリを実行します。クエリを実行する前に、データをmemcacheにキャッシュして最初にチェックできるので、これで問題ありません。memcacheから取得した場合でも、実装がリーンサイドである必要があるため、使用されるすべてのリクエストでアイテムを構築する必要があります。 しかし、アイテムのコンポーネントシステムを実装することに自信を持っているのは、まさにそのためです。使用する各コンポーネントから属性と動作をコンテナに取り込む必要があると思います。それを効果的に行う方法がわからないだけで、各コンポーネントを処理するための特別なコードを大量に作成することにはなりません。 たとえば、AttackComponentは、バトルコンテキスト内のターゲットをフィルタリングする方法を知る必要があり、攻撃動作を提供する必要がある場合もあります。同じアイテムにUsableComponentを含めることもできます。これにより、アイテムを使用し、同じバトルコンテキストから別の方法でフィルターした別のターゲットセットに何らかのエフェクトを適用できます。次に、アイテムのすべてのパーツがアクティブなパーツであるとは限りません。AttributeBonusComponentは、アイテムが装備された状態にあるとき、またはアイテムの詳細ページを表示するときにのみ起動する必要がある場合があります。 最終的に、アイテムを武器として使用するときにターゲットの正しいリストを取得できるように、すべてのコンポーネントをコンテナにまとめるにはどうすればよいですか?武器をアイテムとして使用できる時期を知っていますか?または、アイテムが提供するボーナスをキャラクターオブジェクトに適用するには? うさぎの穴の奥まで行きすぎたような気がして、目の前の簡単な解決策がつかめません。(それがまったく意味をなさない場合)。 同様に、ここからベストアンサーを実装すると、同じ質問がたくさんあるように感じます。 リレーショナルデータベース内の使用可能な在庫/オブジェクト/アイテム(カタナなど)の複数の「用途」(たとえば武器)をモデル化する方法
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.