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

Pythonは、読みやすくするために動的に強く型付けされたプログラミング言語です。

5
Pythonで書かれた有名なゲーム[終了]
これらの2つ、つまりJavaとC#/ XNAを見てきました...そして最近Pythonを取り上げました。どのようなことを考えさせられました。 PythonでPygame / Pyglet / Pyopenglを使用して作成された(有名な)ゲームは何ですか?
30 python 

3
多くのユニークな武器/呪文/力のコードを構成する方法
私は、Pythonを使用してFTLの「ローグライクのような」ゲームを作成する経験の浅いプログラマーです(まだテキストのみを扱っているため、PyGameはまだありません)。 私のゲームには、ユニークな能力を生み出す多数の武器(初心者には約50個)が含まれます。オブジェクトコードを構造化する方法を理解するのに苦労しています(強力な(武器に根本的に異なる効果を持たせることを可能にする)点で)拡張可能な(たとえば、フォルダーにそれらをドロップすることによって後でより多くの武器を簡単に追加できるように) )。 私の最初の本能は、BasicWeaponクラスを持ち、そのクラスから異なる武器を継承することでした。しかし、これは私には問題があるようです:BasicWeaponクラスを基本的に役に立たないようにする必要があります(すべての武器に共通する機能は名前とタイプ(ピストル、aなど)のみです)、またはすべてを予測する必要があります独自の効果を考え出し、BasicWeaponにコーディングします。 後者は明らかに不可能ですが、前者はまだ機能します。しかし、それでは疑問が残ります。個々の武器のコードはどこに置けばいいのでしょうか? plasmarifle.py、rocketlauncher.py、swarmofbees.pyなどを作成し、それらをすべてゲームにインポートできるフォルダーにドロップしますか? または、eval / execに頼らずに、各武器の一意のコードを何らかの形で含むデータベーススタイルのファイル(Excelスプレッドシートのような単純なもの)を作成する方法はありますか? 後者のソリューション(データベース)に関して、私が苦労している根本的な問題は、コードとデータの分離を維持することが望ましいことを理解している一方で、武器が「コード」の境界を曖昧にしているように感じることだと思いますおよび「データ」を少し。それらはゲームで見られる多種多様な類似物を表しており、その意味ではデータに似ていますが、ほとんどの場合、他のアイテムと共有されていない少なくともいくつかのユニークなコードが必要です。コード。 このサイトの他の場所で見つけた部分的な解決策は、BasicWeaponクラスに空のメソッドの束(on_round_start()、on_attack()、on_move()など)を与え、各武器のそれらのメソッドをオーバーライドすることをお勧めします。戦闘サイクルの関連フェーズで、ゲームはすべてのキャラクターの武器に適切なメソッドを呼び出し、メソッドが定義されているもののみが実際に何かを実行します。これは役立ちますが、それでも各武器のコードやデータをどこに配置する必要があるかはわかりません。 ある種のハーフデータ、ハーフコードのキメラとして使用できる別の言語やツールはありますか?優れたプログラミングプラクティスを完全に実行していますか? 私はありません回答いただければ幸いですので、OOPの私の理解では、最高の状態で大ざっぱですあまりにもコンピュータ科学-yと。 編集: Vaughan Hiltsは、下の投稿で、私が本質的に話しているのはデータ駆動型プログラミングであることを明らかにしました。私の質問の本質は次のとおりです。データにスクリプトを含めることができるようにデータ駆動設計を実装し、メインプログラムコードを変更せずに新しい武器で新しいことを行えるようにする方法はありますか。

5
noSQL-Webベースのゲームの有効なオプションですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 6年前に閉鎖されました。 機会と退屈から、友人と私はウェブベースのゲームを作ることにしました。通常、私はジャンゴでウェブアプリをプログラムするので、これは私が作る最初の「ゲーム」です。 ゲームに同じフレームワークを使用することを選択しましたが、将来の要件とDB関連の問題を予測することができないため、データストレージについては完全にはわかりません。最近、noSQLの動きが勢いを増しているので、その領域について調べたいと思います。 したがって、次の質問があります。 noSQLデータストレージ(MongoDBなどのドキュメントベース)は、Webベースのゲームに適していますか? MySQLなどの従来のRDBMSを使用して発生する可能性のある問題は何ですか? ゲームプレイ中またはcronジョブなどの定期的なイベントで、MongoDBを使用するユーザー間でデータの一貫性を保証する方法は? ゲームの概要:モンスターと戦い、アイテムなどを獲得する典型的なアドベンチャーゲーム。 アイテム、武器、ポーション、マップなど、一部のデータはすべてのプレーヤーで静的です。 プレーヤーに関連付けられたいくつかのデータ:インベントリ、メトリック(統計)、進行状況など プレイヤーは他のプレイヤーの統計と状態を知る必要があるかもしれません スケジュールされたタスクは特定の時間間隔で実行されます

4
最高のPython 3Dエンジンは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 Linuxで簡単に入手でき、使いやすいストレート3D Pythonエンジンが必要です。Soya3Dは、ドキュメントがないために失敗しました。一般的な3Dモデルを問題なくロードできるはずです。
20 3d  python 

3
ゲーム内でランダムに湖や川を生成するにはどうすればよいですか?
2Dブロックビルディングゲームがあり、ランダムに生成された湖や川を作ろうとしています。Perlinノイズアルゴリズムを調べましたが、ランダムで素晴らしい結果を生成することができませんでした。 私はpythonノイズライブラリを使用しようとしましたが、マップをあまりランダムに作成しませんでした。 よりランダムにするために、そのライブラリに欠けているシード関数がありますか?よりランダムにしたい場合、どの変数を変更しますか?可能であれば、数学とPythonの用語を減らして、技術的な答えを減らしてください。 マップは2Dタイルマップです。他のアルゴリズムの非ランダム性の例を次に示します。次のコードは3回連続で出力されました。私は次のようなものでオクターブと周波数をランダム化していました:freq = 16.0 * random.randint(1, 500000) * 0.000001 + 0.5 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 …

3
フラクタルベースの手続き型都市レイアウトに適したアルゴリズムは何ですか?
バックグラウンド Minecraftサーバーを実行して、かなり大規模なスターターシティを設計します。ルールの看板や暴徒の籠のような一連のものがあり、そこに建物を置きたいです。都市自体は非常に大きく、広がるでしょう。できれば最大1000 x 1000ブロックの大きさです。 建物自体は、すべての3ブロックの倍数のように、特定のベースキューブに基づくキューブまたは長方形のフットプリントを持ちます。道路と建物間の距離は、道路の重要性に応じて、5〜11ブロックの幅であることが好ましいでしょう。 都市の計画を開始するとき、建物がどれだけ大きくなり、いくつあるかを正確に知ることができます。 問題 問題は、都市のレイアウトを設計することです。明らかにそのような規模で、私は都市計画の背景ではなくプログラミングの背景から来ているので、問題に頭を包み始めることさえ非常に困難です。 問題は、具体的には、都市ができるだけ自然に見えるようにすることです。もちろん、これは単純なグリッドパターンに基づいて構築するのはかなり簡単ですが、グリッド、またはグリッドのように見えるものは可能な限り避けたいと思います。 質問 コードを使用して設計するために、どのアルゴリズムを追求できますか?Minecraftは既に地形生成でフラクタルを使用しており、都市はフラクタルパターンで自然に成長しているように見えるので、何らかの方法でフラクタルを使用すると最も自然に見えると考えていました。 いくつかの点でテトリスを演奏するアルゴリズムに似ていると思うので、誰かがその方向に存在する解決策を持っているなら、それも助けになるでしょう。使用したい形状を定義できる場所を描いており、ソフトウェアは、建物の均等な分布に最も「最適な」ソリューションが見つかるまで繰り返します。 Pythonを使用して、できればpygameを使用して視覚的にこの問題を解決するのに役立つ何かが既に存在しますか? 当然、これはゲームデザインにおける一般的な都市の生成にも興味深い影響を与えるため、最適なソリューションが何であるかを非常に楽しみにしています。 編集 明確にするために、建物はゲーム内で設計および構築されるため、この時点でレイアウトを探しています。

2
マウスを動かすと、スプライトプレーヤーの動きが速くなるのはなぜですか?
Pygame(Pythonライブラリ)で作られたシンプルなゲームを開発しようとしています。 のspriteオブジェクトがあり、player矢印キーを使用して移動します。マウスを動かさないと、スプライトは普通に動きますが、マウスを動かすと、スプライトは速く動きます(x2やx3など)。playerオブジェクトが内部にあるcharsGroupVAR。 ゲームをW7とUbuntuで実行しました。両方のOSで同じことが起こります。 NPCや弾丸のように動くエンティティがもっとありますが、影響を受けるのはプレイヤーだけです。これを考えると、問題はおそらくプレイヤーの移動システム(矢印キー)と直接関係があると思います。 オブジェクトのupdate()メソッドは次のplayerとおりです。 def update(self): for event in pygame.event.get(): key = pygame.key.get_pressed() mouseX, mouseY = pygame.mouse.get_pos() if event.type == pygame.MOUSEBUTTONDOWN: self.bulletsGroup.add(Bullet(pygame.image.load("bullet.png"), self.rect.x + (self.image.get_width()/2), self.rect.y + (self.image.get_height()/2), mouseX, mouseY, 50, 50)) if key[pygame.K_RIGHT]: if not self.checkCollision(): self.rect.x += 10 else: self.rect.x -= 10 if key[pygame.K_LEFT]: if not self.checkCollision(): …

5
Pythonパフォーマンスvsゲームメーカー[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 6年前に閉鎖されました。 私はもともと、PythonとSFMLでゲームを作成することを考えていました。PythonはC ++と比較して遅いことを理解していますが、ゲームメーカーと比較してどうですか? 私が尋ねる主な理由は、最近、コンピューターでかなり悪いフレームレートで実行されたGame Makerゲーム(The Iconoclasts)をプレイしたことです(GMA 950)。Python / SFMLでも同様のパフォーマンスの問題があるのではないかと心配しています。

3
グリッド上でA *を使用して自然に見えるパスを作成する方法は?
私はこれを読んでいます:http : //theory.stanford.edu/~amitp/GameProgramming/Heuristics.html しかし、私が理解していないこともいくつかあります。たとえば、この記事では、対角線の動きを伴う経路探索に次のようなものを使用するように記述されています。 function heuristic(node) = dx = abs(node.x - goal.x) dy = abs(node.y - goal.y) return D * max(dx, dy) 記事のようにDを設定して自然なパスを取得する方法がわからない、それを言ったようにDを隣接するスクエア間の最低コストに設定し、ヒューリスティックなものに関する意味がわからない4 * Dであり、何も変わらないようです。 これは私のヒューリスティック関数および移動関数です。 def heuristic(self, node, goal): D = 5 dx = abs(node.x - goal.x) dy = abs(node.y - goal.y) return D * max(dx, dy) def move_cost(self, …

6
タイルセットの境界の効率的なアルゴリズム
この投稿を改善したいですか?引用や回答が正しい理由の説明など、この質問に対する詳細な回答を提供します。十分な詳細がない回答は、編集または削除できます。 地図を形成する既知の有限サイズのタイルのグリッドがあります。マップ内の一部のタイルは、テリトリーと呼ばれるセットに配置されます。この領域はつながっていますが、その形状については何もわかっていません。ほとんどの場合、それはかなり規則的なブロブになりますが、一方向に非常に長くなる可能性があり、潜在的に穴がある可能性もあります。領土の(外側の)境界を見つけることに興味があります。 つまり、テリトリー内に存在することなく、テリトリー内のタイルのいずれかに触れるすべてのタイルのリストが必要です。これを見つける効率的な方法は何ですか? 難易度を上げるために、タイルがヘックスであることが起こりますが、これはそれほど大きな違いをもたらさないと思われます。各タイルにはまだ整数のxおよびy座標がラベル付けされており、タイルがあれば、隣接するタイルを簡単に見つけることができます。以下にいくつかの例を示します。黒は領土、青は探したい境界線です。 これ自体は難しい問題ではありません。擬似Pythonのこのための簡単なアルゴリズムの1つは次のとおりです。 def find_border_of_territory(territory): border = [] for tile in territory: for neighbor in tile.neighbors(): if neighbor not in territory and neighbor not in border: border.add(neighbor) しかし、これは遅いので、もっと良いものが欲しいです。テリトリーでO(n)ループがあり、すべてのネイバーで別のループ(短いループですが、それでも)があります。次に、サイズがnである2つのリストのメンバーシップをチェックする必要があります。それはO(n ^ 2)のひどいスケーリングを与えます。ボーダーとテリトリーのリストの代わりにセットを使用して、メンバーシップをすばやくチェックできるようにすることで、それをO(n)に減らすことができますが、それでも素晴らしいことではありません。テリトリーは大きいが、単純な面積対線のスケーリングのために境界が小さい多くの場合があると予想しています。たとえば、領土が半径5のヘクスの場合、サイズは91ですが、境界線のサイズは36のみです。 誰かがもっと良いものを提案できますか? 編集: 以下の質問のいくつかに答えるため。領域のサイズは、約20〜100程度です。テリトリーを形成するタイルのセットはオブジェクトの属性であり、すべてのボーダータイルのセットを必要とするのはこのオブジェクトです。 最初、テリトリーはブロックとして作成され、その後、ほとんどの場合タイルが1つずつ増えます。この場合、最速の方法は、境界線のセットを保持し、取得したタイル上でのみ更新することです。領土に大きな変更が発生する場合があります-そのため、完全に再計算する必要があります。 私は、単純な境界検出アルゴリズムを実行することが最善の解決策であると考えています。これにより発生する唯一の追加の複雑性は、境界線が必要になるたびに再計算されるようにすることですが、それ以上ではありません。私は現在のフレームワークでこれを確実に行うことができると確信しています。 タイミングに関しては、現在のコードには、領土のすべてのタイルをチェックする必要があるいくつかのルーチンがあります。毎ターンではありませんが、作成時とその後は時々です。完全なプログラムのごく一部であるにもかかわらず、テストコードの私のスーツの実行時間の50%以上がかかります。したがって、繰り返しを最小限に抑えることに熱心でした。ただし、テストコードには、プログラムの通常の実行(当然)よりも多くのオブジェクトの作成が含まれるので、これはあまり重要ではないことがわかります。

2
Pythonプログラムのネイティブ実行可能ファイルを配布するにはどうすればよいですか?
最近、私の仕事はすべてPython(およびRuby)で行われており、私はこれら2つの言語が大好きです。Pythonでのゲーム開発には多くのライブラリがありますが、問題は、それらのフレームワークの多くがゲーム作成の「配布」の側面をカバーしていないことです。私のゲームをPython(および私が必要とする他のすべての純粋なPython追加ライブラリ)でコーディングし、メインのPCプラットフォーム(Windows、MacおよびLinux)の実行可能ファイルを配布できるようにしたいと考えています。 そこにオプションがありますか、これのための最良の組み合わせは何ですか?(おそらくpyglet + cx_freeze)
11 python  pyglet 

1
Python 3.5のPygame?
Python 3.5を入手したばかりです...リンク:https : //www.python.org/downloads/windows/ 以前私はPython 3.4とPygameバージョン1.9.2a0を持っていました。それは完全に機能しました。ただし、新しいPython 3.5は、3.4で取得したPygameのバージョンと互換性がありません。私は最新のPygameファイルを見つけました...リンク:http : //www.lfd.uci.edu/~gohlke/pythonlibs/#pygame Pygameファイルをダウンロードしましたが、これは.whl形式のファイルです。私はどうしたらいいですか? 昨日は一日中調べてみました。これまでのところ、私が理解しているのは、pipとwheelに関するものであり、「pip install」などのコマンドを実行することですが、完全に失われています。私はこれまでにピップやそのことを知りませんでした。 Python 3.5で動作するバージョンのPygameがあるかどうかさえわかりませんが、調べて調べようとしましたが、そのような情報は見つかりませんでした。私が望んでいるのは、Python 3.5をPygameで稼働させ、Python 3.4を使用していたときと同じようにうまく機能させることです。PygameがPython 3.5とまだ互換性がない場合は、python 3.4とそれに対応するpygameファイルを再インストールします。
10 python 

3
Pythonゲームは複数のプラットフォームで動作しますか?
私はPythonとおそらくいくつかのSQLでゲームを書く計画があります。私がプログラムを完成させたときのプログラムの多様性が心配です。理想的には、Windows、Mac、Android、iPhoneで実行したいのですが、電話がこれに制限されていると感じています。一種のこと。複数のプラットフォームで実行されるプログラムを作成するにはどうすればよいですか?これは初心者プログラマにとっても実現可能ですか?

3
スクリプトはエンジンの抽象化と相互作用する必要がありますか?
私はJavaとJythonを使用していますが、いくつかの調査の結果、スクリプトがエンジンインターフェイスに直接アクセスできるようにすると、2つが密接に結びつくため、間違いになる可能性があることがわかりました。 MODがエンティティを作成および管理できるようにするほとんどのスクリプトは、なんらかの抽象化を介して行われているようです。これらの抽象化はこの理由のためにそこにありますか、それとも非プログラマーがゲームを変更するためのより直感的な方法を提供するだけですか?
10 java  python  scripting 

3
自明ではない2DゲームをPythonで開発するのは良い考えですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 4年前休業。 2DスペースRPGの開発を計画していて、選択肢に直面しています。それを書くのに最適な言語は何ですか?私の候補者はC ++、Java、Pythonです。言うまでもなく、その表現力、開発のスピード、およびスクリプトサポートの追加の単純さのために、Pythonでゲームを書きたいと思います。しかし、私は心配しています: Pythonが遅くなりすぎませんか?ゲームは簡単ではありません(たとえば、テトリスのように)。宇宙にある何千もの船のタスクを計算する必要がある場合があります(それらの船がプレイヤーに表示されない場合、AIを大幅に簡略化できます)。もちろん、Cでいくつかの重要な部分を書くこともできますが、ビルドとデプロイがすぐに複雑になります。 ゲームが人気になり、スーパースターになったとしましょう。WindowsユーザーがPythonを使用することはめったにありません(幸い、py2exeがあります)。Mac OS X上のPythonは古くなっている可能性があり、あいまいな例外でゲームがクラッシュする場合があります。Pythonでゲームをデプロイするのは難しくありませんか? Python 3のライブラリが不足しているため、Python 2でゲームを作成する必要があります。数年でPython 3に移行するのは、あまりに面倒で時間がかかりませんか?
10 python 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.