1read 100read
2013年05月ゲ製作技術286: 【pygame】pythonでゲーム製作【ぱいがめ】 (652) TOP カテ一覧 スレ一覧 2ch元 削除依頼
【入門書クリア前提】初心者用段階的ゲーム製作スレ (232)
■ ゲーム製作技術板雑談スレ01 (285)
総合発表&雑談スレッド その3 (948)
汎用ゲームエディター『Multimedia Fusion2』 11 (873)
世界観・キャラをメインにシナリオを語るスレ (640)
C# C# C♯ でゲームを作ろう Part2 (374)

【pygame】pythonでゲーム製作【ぱいがめ】


1 :2005/09/13 〜 最終レス :2012/10/12
オブジェクト指向スクリプト言語のpythonでゲーム作ろうぜ!!

2 :
python本家
http://www.python.org/
日本Pythonユーザ会
http://www.python.jp/Zope/
pygame
http://www.pygame.org/news.html
http://www.unixuser.org/~euske/doc/pygame/
py2exe
http://starship.python.net/crew/theller/py2exe/
http://www.cubelab.com/ymasuda/python/py2exe/py2exe.html

3 :
>>1
ひろまさ乙
ところでおまいらゲームループどうやって組んでる?

4 :
10 'ループ カイシ
………
120 GOTO 10

5 :

ひろまさって誰だyo
>ゲームループどうやって組んでる?
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/923.txt
おれは↑みないなクラスで作っといて
class Main(EventHandler):
  def __init__(self):
    EventHandler.__init__(self)
    self.event_map[] = self.onKeyDown #イベント登録
  def onKeyDown(self, event):

6 :
途中で投稿してもたorz
class Main(EventHandler):
  def __init__(self):
    EventHandler.__init__(self)
    self.event_map[KEYDOWN] = self.onKeyDown #イベント登録
  def onKeyDown(self, event): #キーが押されたときの処理
    #ほげほげ
  def update(self): #1フレームに一回呼ばれる処理
    #はげはげ
main = Main()
main.eventloop()
みたいな感じなんだがどうなんだろ

7 :
Windowsでやってみようとしたけど、いきなりhello, worldで躓きました。
メモ帳でprint "Hello, world"と書いて、test.pyで保存。
pythonのあるディレクトリにpathを通して、
コマンドプロンプトからpython test.pyとやったら、
File "<stdin>", line 1
python test.py
^
Syntax Error: invaild syntax
だってさ。何なんでしょ?
あと、test.pyをダブルクリックすると、pythonインタプリタが起動して
Hello,worldと表示した後、すぐに閉じるけど、Cのsystem("pause")みたいなのは
無いんでしょうか?

8 :
勘違いしてた。
コマンドプロンプトからは実行できた。
でも、python.exe上から実行できない。

9 :
>Cのsystem("pause")みたいなの
raw_input()
もしくは
import os
os.system("pause")
かな
>python.exe上から実行できない。
たとえばpython.exeからhoge.pyを実行したい場合は
import hoge
2回目以降は
reload(hoge)
でできまつ

10 :
ひろまさage

11 :
>ひろまささん
うまくできました。
ありがとうございます。

12 :
http://www.unixuser.org/~euske/doc/pygame/ChimpLineByLine-j.html

13 :
>>12
そこはむしろ「Python によるゲームプログラミング実況中継」の方が面白い.

14 :
即効止まったな。

15 :
ほんまやで

16 :
ひろまさッて誰?

17 :
だれでしょね。

18 :
panda3Dなかなか面白い

19 :
panda3DやSoya3DもPython使うからスレ違いじゃないよね。

20 :
そらもちろん。

21 :
>>20
御言葉に甘えさせて頂きます
Panda3D
http://panda3d.org/
Soya 3D
http://home.gna.org/oomadness/en/soya/index.html

22 :
じゃあ次のスレタイトルどうしようか・

23 :
800超えるくらいになってから心配しようぜ

24 :
3Dエンジンだとこんなのも、あるみたいですね。
PyOgre
http://www.ogre3d.org/wiki/index.php/PyOgre
あと、Pythonのyield文を使ったジェネレータは、
メッセージループの中でスレッドっぽく使えて、
ゲームプログラミングで非常に便利かと。

25 :
やッほ〜龍です。はじめまして

26 :
さすが海外ではメジャーなPythonだね。pygame、Panda3D 、Soya 3D、PyOgre探せばまだ出て来そうだな。

27 :
海外の主要なフリー3DエンジンのPythonバインディングはほぼ揃ってると思っていいよ。
Crystal space
http://crystalspace3d.org/docs/online/manual-cvs/cs_4.19.4.php
Vemom - Irrlicht for Python
ttp://www.stenhard.net/news.php
Panda3Dも良さげだが、漏れは今Soya 3Dで遊び始めてる。
Pure Python(Pyrexも混ざってるけど)でエンジンを記述する心意気が気に入ったw
扱いやすさという意味では、かなり扱いやすい部類だと思う。
tutorial案外充実してるしね。
低レベルのテキストコンポーネントsoya.widgetでは日本語も表示できるのは確認。
Portalとかセルシェーディングとか、さりげに面白い機能持ってるのよね。

28 :
pandaってのは黒人と白人の共存を意味してんのかね?

29 :
色々有り過ぎて迷うな。それぞれの特徴、機能、使いやすさ、情報量などをまとめた物が欲しいよ

30 :
長文になるがまとめてみた。
PandaやSoyaみたいなほぼPython専用じゃないのは、
エンジンの比較についてはこっち見るとよかろう、
(Ogre、CrystalSpace、Irrlichtあたりね)
各種ライブラリ紹介スレ
ttp://pc8.2ch.net/test/read.cgi/gamedev/1008220559/
SoyaとPandaについては、どっちも日本語情報は皆無だな。
ただし、どっちも本サイトのチュートリアルは充実してるので、
英語さえ無問題ならかなり使いやすい。
機能的にはPandaの方が上っぽいが、
PandaはPythonのライブラリというわけじゃなく、
「3D拡張された専用Python2.2インタプリタ」という感じなので、
2.3以降の言語機能が使えなかったり、
Panda以外のライブラリと組み合わせにくいのが欠点か。
あと、Mac非対応なのも欠点かな。
モデルフォーマットは独自形式だけど、
obj、3ds、X形式等主要なフォーマットからのコンバータ同梱なので、
案外困らない。
Soyaは普通のPythonライブラリなので、他のライブラリと組み合わせるなら、
こっちの方が扱いやすいかな。
総合的な機能ではPandaに劣るけど、先にあったように
Pandaも持ってないような面白い機能(Portal)がある。
アニメーションモデルがCal3dというオープン系フォーマットオンリーなので、
Cal3dが吐けるモデラ(Max、Maya、Blender、MilkShape)が必要なのが欠点かな。

31 :
>>30
ありがとう
どちらも甲乙付け難いですね。僕は機能の多いPandaを使ってみます。

32 :
#頭をほぐす計算ゲーム?
import random
p=0
for i in range(20):
a=int(random.uniform(1,9))
b=int(random.uniform(1,9))
print("%d + %d =") % (a,b)
c=input()
if c == (a+b):
p=p+1
print("%d/20")%p
#スレ汚しごめん

33 :
インデンテーションして、
import random
p=0
for i in range(20):
a=int(random.uniform(1,9))
b=int(random.uniform(1,9))
print("%d + %d =") % (a,b)
c=input()
if c == (a+b):
p=p+1
print("%d/20")%p

34 :
うはw
import random
p=0
for i in range(20):
    a=int(random.uniform(1,9))
    b=int(random.uniform(1,9))
    print("%d + %d =") % (a,b)
    c=input()
    if c == (a+b):
        p=p+1
print("%d/20")%p
こうですか?
pythonの勉強になった。ありがとう

35 :
何でインデントが消えてるんだ?

36 :
ツーちゃんねるの仕様。
最近OpenGLとかいじり始めたんだが、ファンクションネームをグーグルで検索するとPythonの
ラッパーのドキュメンテーションの方が先に引っかかるな。

37 :
Pythonのお勉強スレのまとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/

38 :
Panda3DがPython2.4対応になってるね
ところで日本語表示って出来る?

39 :
1.0.5の時にフォントに日本語指定して、utf8エンコードしてやれば出せるのは確認した。
1.1.0に変わってから確認してる暇がないorz

40 :
フォント指定とエンコードをutf8にした上で
Config.prc に text-encoding utf8 を追加したらいけた
ttp://www.panda3d.org/wiki/index.php/Text_Rendering

41 :
保守
pygameサイトの看板がクリスマス使用になってる

42 :
話題無いかな?

43 :
Blender 2.41 が出てるけど,Blender Game Engine とか Python API 試した人いる?

44 :
興味は有るけど試した事無いな。

45 :
@@@

46 :
eff
ttp://hp.vector.co.jp/authors/VA012411/
国産の3Dゲーム用モジュールだって
フレームワークとしても一線を超えてるんじゃない?
少し試したところボーンアニメのサンプルが
うまく動かなかったけど。

47 :
>>46
おお。シェーダーも使えるんだ。すげー。

48 :
つ ttp://directpython.sf.net

49 :
>48
0.2が出てるな。出たばかりみたいだし期待。

50 :
pygameを使ってる
http://tinyurl.com/gt3v9

51 :
pygame用のpy2exeを0.5.xでも使えるように改造してみた。
ttp://gamdev.org/up/img/5036.zip
中見ればなんとなく分かると思う。
exeに変換するときはダブルクリックでもいけます。

52 :
保守

53 :
Pygameでゲームを作ろう
ttp://pygamebegin.web.fc2.com/index.html

54 :
Pygameでゲームを作ろう
ttp://www.halb-katze.jp/
に移動してた。
しかし、活気無さ過ぎるなこのスレ。

55 :
RPGでも、みなで作ってみるか?

56 :

乗った

ゲーム作ったことないけど。

57 :
こんなスレがあったのか! 保守

58 :
最近pygameの存在を知り、早速勉強をはじめようと思った矢先・・・
なにこの閑古鳥

59 :
DSで動くようになったね!

60 :
Nintendo DS / Stackless Python 2.4.3
http://www.disinterest.org/NDS/Python24.html
Python-PSP
http://python-psp.net/trac/

61 :
夏休みなんだからpygameでなんかつくってみれ
と保守のついでに書いてみる。

62 :
pygameで画像の一部分を切り取って画面上に表示することは可能ですか?

63 :
>>62
Surface.blit(source, dest, area=None, special_flags = 0): return Rect
source: 貼り付けるサーフェス
dest: 位置を指定するためのRect
area: 切り抜く位置(省略時はサーフェス全部をそのままはっつけ)
special_flags: 貼り付け方法(乗算とかの指定)

画像を読み込んで、そこから一部分を切り取ってサーフェスにするのなら下の方法。
tmpimg = tmp.subsurface(tmprect)
tmp: 読み込んだサーフェス
tmprect: 切り抜くサイズのRect
tmpimg: 切り抜いたサーフェス

64 :
>>63
できました!
ありがとうございます

65 :
pygameいじってみようかと思ってたらやっぱりスレあるのね。
とりあえず、pythonの言語仕様を覚えてからまた来るわ。

66 :
Pythonの言語仕様は一通り読んでみたよ。なかなか面白いね。
pygameの方はまだドキュメントが少ないかな。もっと流行って欲しいね。

67 :
そのためにはゲーム作って公開せにゃ

68 :
今作ってるからちょっと待っててね。

69 :
ああ待ってるよ

70 :
wktk

71 :
Pythonプログラミングの練習がてら
ゲーム作ってるけど、難しいねぇこれ
2Dはともかく3Dになると他の知識ないときっついわ

72 :
何が難しいってゲーム作ったりAPIとかを使いこなしたり
プログラムをくみ上げたりするのが難しいんだよな。

73 :
上で国産のフレームワークが話に挙がってるけど
日本語なのはありがたいが、チュートリアル皆無なのが痛いな
日本語である意味が消えうせてる
意味わかるんだったら英語版でも大丈夫だからな
チュートリアルさえ充実すれば最強なんじゃないかな

74 :
Panda3D弄ってるけど
ファイルフォーマットが面倒だな・・・。
多機能なのはいいんだが
Mayaか3DSMAXないと変換できないようなことが書いてあったから敷居高いな

75 :
悪い、適当なことほざいてた
試しにXファイル読めるかやってみたら読めたわ
モーションもXファイルの中で指定してやれば動くな
結構いけそうな気がしてきた

76 :
モーションを指定してやり
動かしてみる・・・すると超高速で動いてる罠
Xファイルを直に開くと普通に動く
どこ参照してるんだろうこれは

77 :
pygameつかってサウンドカードから録音したいんだけど、APIがみつからん。
ひょっとしてそういう機能はないってこと?

78 :
SDL自体がまだサポートしていないみたいだよ。

79 :
>>78
どうもありがとう。
windows環境なので、以下のサイトの recordwin32.py でいくことにしました。
http://www.johnnypops.demon.co.uk/python/
pymediaもよさだったんだけど、python2.4向けのバイナリパッケージがなかったんでやめました。

80 :
Panda3Dでは
モーションレートを直接弄れるようだけども
Xファイルのみだとモーションの座標だけ反映されるようなので
アニメーションにならずにパラパラアニメっぽくなるな
やっぱフォーマットそろえないとダメか
形状ファイルはXでもよさそうだがモーションはeggにしないとアウトっぽいな

81 :
今後の目標立ててやった方がいいか
1、Panda3Dのソースを弄り3Dモデルを表示させ、モーションも導入(今ここ
2、移動が手動で出来るようにする
3、カメラも手動で動かせるようにする
4、モデルの速度でモーションが変わるようにする(歩く→走る)
5、ジャンプを出来るようにする
6、フィールドとモデルの統合性をとる
細かく分ければもっとありそうだけど、こんなもんかな・・・。
何かこうしたら良いっていうアイディアあったらください
っていうか過疎凄まじいねぇ、ゲ製作板自体人いないのはあるけども・・・。

82 :
ここ数日かけて国内外の主要3DCGソフトを試してみるも
どうにも馴染まない・・・。
MQOとRokDeBoneでモーションつけるのが一番楽に感じる

83 :
プログラミングの内容よりも
モデリングに時間をとられて全然進まないなぁ
とりあえずカメラを自キャラにあわせたいけども
なかなか出来ない

84 :
panda3Dは機能も申し分ないんだけど
英語できないと豊富なドキュメントすらまともに扱えないっていう罠がなぁ
日本語化できたら最強だと思うんだがなぁ

85 :
>>84
ねずみ会社の日本担当者が翻訳したりとかしないかねえ…
Panda3d使ってるトゥーンタウンオンラインは日本でもサービス
してるから。。。

86 :
>>85
開発してるのが海の向こうだし
期待するだけ無駄かなぁ
まあでも3Dエンジンで日本語ドキュメントが充実してるのって
殆ど無いし事実上英語できないとろくに弄れないのは事実だよね
それだったら自作でエンジン作るしかないし
エンジン作れるくらいだったら普通は困らない

87 :
Vectorを使うあたりまで来たけど
リファレンスと格闘中・・・。
vector関係のクラスがかなりあってどれがどれか全くわからねぇ・・・。
気紛れにHSPをダウンロードしてみてファイル覗いてみたんだけど
わかりやすい、やっぱ日本語ってのは凄まじい利点だね
でもそれじゃPythonを使うっていう目的が果たせない
とにかくPandaで頑張ろう・・・。

88 :
「HSP〜わかりやすい」はエサだクマー

89 :
pythonかじりたてでもpygameって使えるんですか?

90 :
使えるよ。
サンプルとかチュートリアルが英語だけど、頑張ればなんとでもなる。

91 :
ありがとう。少し調べて見る。

92 :
HSPとか書くからw

93 :
>>89
俺なんてPythonの基礎とかろくに覚えずに即Pygame使ってるぞ
なんとかなるもんだ

94 :
>>89
ゲーム作りながら勉強になる、と思えばいいんだよ。

95 :
デキタァ? (・∀・ )っ/凵⌒☆チンチン

96 :
旅行なんかで忙しくて全然。
何からやれば良いのか、また調べて見ます

97 :
永遠のワナビーHSP厨

98 :
Cしか使ったことねぇずら

99 :
ひょっとして
main() {
printf("HelloWorld");
}
どまり?

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Windowsゲームプログラミング 質問スレ (931)
【2D&3D】ゲームグラフィックス【質問OK】 (282)
【宮本茂からの警告】ゲーム業界用語を使うな (248)
無料で俺がRPGを作れるようにするスレ (472)
■ ゲーム製作技術板雑談スレ01 (285)
GameDevWikiを何とかするスレ (567)
--log9.info------------------
栄光のニダーラン (446)
【5年連続2桁】吉見一起応援スレ Part27【球界のエース】 (467)
横浜ベイスターズの応援を語るスレ (725)
千葉マリーンズPart1302 (211)
引退後AV男優に転向しそうな選手 (216)
嫌なやつを挙げるスレ(小笠原以外で)2 (859)
巨人若手の選手議論スレ【92人目】 (446)
【目指せ】菅野智之 Part4【初勝利】 (665)
李大浩(イ・デホ)応援スレ 2013年版 (423)
北海道日本ハムFIGHTERS 1087 (719)
負けを願うアンチ落合=中日球団(坂井佐藤高島)な件★5 (522)
埼玉西武ライオンズ 2013-01 (492)
【D専】まったり応援スレvol.161【sage進行】 (674)
道路で糞してそうな選手(小笠原以外で) (533)
【今年も優勝】横 浜 強 す ぎ 32【日本一】 (854)
セ・リーグ予想順位 (690)
--log55.com------------------
ねぇ、40代って車何乗ってるの?【70台目 】
昭和52年度 1977/4/2〜1978/4/1 その2
昭和48年4月2日〜昭和49年4月1日生まれ Part18
昭和47年4月2日〜昭和48年4月1日生まれ part41
お前らがアソコを舐めたい女性タレントって誰?◆20
40過ぎて分かった事 Part.17
友達がいない40代・・・・いつも一人で外出 176
40代の連想ゲーム 42