Python

コード規約とか

気が向いた時にpygameというPython用ゲームライブラリを使ったロールプレイングゲームを作っている(Pythonの勉強を兼ねて)。作っているものはそれはそれであるのだが、このまま開発を進めていくとコードが汚くなっていきそうだったので、初心に戻る。Pytho…

pyglet

マルチメディアライブラリとしてpygletってのがあるらしい。ゲーム開発に使えるかも(というか2chのゲーム製作板で知ったのだけど)http://www.pyglet.org/

進捗(6)

surface.convert()を呼ぶことでCPU使用率が20%overから10%前後になった。

進捗(5)

マップシーンに付いての完了具合 完了 プレイヤー→イベントの衝突判定 プレイヤー→マップの衝突判定 イベント→マップの衝突判定 イベントに対して決定キーを押したときの会話(会話中はイベントの移動を止める) ピクセルベースの移動 TODO イベント→イベン…

進捗(4)

元々バリバリのマシンパワーを使うような3Dゲームを作るつもりはないけど、CPU使用率を見ながら格闘しつつ、シーン制御を実装した。考慮した点 画像の描画のあるなしがやっぱりでかいので、描画するのはそのシーンで必要なSurfaceに限ることにする。つまり、…

進捗(3)

前回のエントリでCPU使用率が50%を超える件。画像フォントを使って1文字ずつ描画(screen.blit)しているんだけど、読み込んだ画像を2倍に拡大して表示している。元の画像イメージは1枚のpngファイル。この描画処理がお粗末だった。 具体的には、2倍に拡大した…

進捗(2)

pygameを使って作ったゲームにて。参考にしたチュートリアルサイトのゲームと、実装中のゲームでCPU使用率に偉い差がある。 参考にしたチュートリアルサイトのゲーム:12%前後 実装中のゲーム:50%前後 いや、まぁ思いつくところは色々ある問題だらけのソー…

privateな変数

何も頭につかなければそのままアクセスできる(self.x = 100) アンダースコアを一つつけてもそのままアクセスできる。 アンダースコアを二つつけるとそのままはアクセスできない。クラス的に外部からの直接アクセスされていないという意図が分かる。ただし_…

進捗(1)

メインループだが、色々試行錯誤しながらとりあえず下のような形式になった。 def run(self): """ ゲーム実行メインループ """ # TODO: データ(アイテムデータとか)をロード # party, mapdata は上でロードしたデータ state = State() state.party = party…