Top Banner
PYGAMEでゲーム でゲーム でゲーム でゲーム作 作った った った った話 と作 作ったゲームの ったゲームの ったゲームの ったゲームの紹介 紹介 紹介 紹介
65

PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

Apr 03, 2018

Download

Documents

vodung
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

PYGAMEでゲームでゲームでゲームでゲーム作作作作ったったったった話話話話

とととと作作作作ったゲームのったゲームのったゲームのったゲームの紹介紹介紹介紹介

Page 2: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

自己紹介1

� ところてん @tokoroten� AAA!!スペース電通GOD所属

� 電通大生のOBが遊ぶ模型サークル!?

Page 3: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

自己紹介2

� 非ゲーム業界で社畜なう� C/C++, x86アセンブラ

� 学生時代� 電通大 x680x0同好会所属

アナログゲーム>デジタルゲーム電通大 x680x0同好会所属� アナログゲーム>デジタルゲーム� BLOCKSUMのゲームデザインに協⼒

� 任天堂ゲームセミナー参加� GBAでゲーム作ってました� オーエス?ナニソレオイシイノ?

Page 4: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

自己紹介3

� 最近やってること� MAKE Tokyo Meeting

� WebCam使ったライフゲーム� 今⽇も裏でMTMやってます

� スパゲッティモンスターズの戦い(仮)� @nishio がメインで製作しているボードゲーム� デバッグ、エディトリアル、設計の手伝いとか

� ⼆⼈零和完全情報ゲーム� そのうちリリースされます

Page 5: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

自己紹介4

� プログラミングはゲームで勉強

(C)ARTDINK

Page 6: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

Pygameでゲーム作った話

Page 7: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

PythonでプロトタイプC++でリリース版の予定・・・C++でリリース版の予定・・・

Page 8: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう
Page 9: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

Python版でリリースしちゃった・・・リリースしちゃった・・・

Page 10: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

PygameいいよPygame

� Pygame� http://www.pygame.org/

� Python用のゲームライブラリ� Python用のゲームライブラリ� SDLのラッパー� Win,Linux,Macで動作� 細かい補助ライブラリをいっぱい追加

� インストールはワンパッケージでOK

Page 11: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

Python

Pygameの構成

Your Code

Pygame

OS

SDL

Page 12: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

Pygameでゲーム制作は可能ゲーム制作は可能

Page 13: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

開発効率は高い3000⾏でできた3000⾏でできた

Page 14: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

C++で書いてたら、1万⾏越え確実1万⾏越え確実

Page 15: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

ホントのところは?ホントのところは?

Page 16: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

バッドノウハウバッドノウハウ大杉

Page 17: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

グラフィック

� 3D支援が使えない� 頂点色が使えない� 拡大縮小回転が遅い

� アルファ付き画像のアルファブレンド不能� アルファ付き画像のアルファブレンド不能

� ⽂字列描画が遅すぎ� レンダリング結果をキャッシュする必要

� シェーダー使いたい・・・

Page 18: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

サウンド

� デフォルト設定だと200msくらいの遅延� pygame.init()で勝手に初期化・・・� 明⽰的に解放しないと再初期化不能

� 推奨設定� 推奨設定� pygame.init()� pygame.mixer.quit() #いきなり破棄する� pygame.mixer.init(44100, 16, 2, 1024)� pygame.mixer.set_num_channels(24)

Page 19: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

プログラミング

� Python遅い、マジ遅い� C比較で約100倍の遅さ� コア1個しか使えない

� 100倍の遅さ� 100倍の遅さ� 扱えるオブジェクト数が1/100に� O(N^2)だとオブジェクト数は1/10000に

� Psycoで動的最適化してもまだ遅い� 今回のゲームはPen4 2.5GHz以上推奨

Page 20: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

プログラミング

コード量1/2 〜 1/3

http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=python&lang2=gcc

実⾏時間ワースト100倍

利用メモリ量3〜10倍

1/2 〜 1/3

Page 21: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

配布とライセンス

� 配布にはPy2exeが便利 (Windows)� Py2exeでWindows用バイナリ生成

� bundle_filesレベルで変化

� bundle_files� bundle_files� 1:Exeファイル� 2:Exeファイル+Python25.dll� 3:Exeファイルとファイルいっぱい

� 1か2の設定だと、配布しやすい

Page 22: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

bundle_files=1

Page 23: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

bundle_files=3

Page 24: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

配布とライセンス

� PygameはLGPL� LGPLライセンスの概要

� 動的リンクするのはOK� 静的リンクするとソースコード開⽰が必要

� bundle_files� 1:Exeファイル� 2:Exeファイル+Python25.dll� 3:Exeファイルとファイルいっぱい

LGPLを静的リンク

Page 25: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

互換性

� Windowsとは比較的簡単� PythonとPygameをインストールして終了

� Macは大変� Pygameのインストールがめんどくさい� Pygameのインストールがめんどくさい

� 手動でいくつかのライブラリを入れる必要� なぜか速度が出ない、メモリ周りが怪しい

� Windowsでも挙動不審� VistaだとFPSが62.5� XPだとダブルバッファを有効にすると、超遅い

Page 26: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

まとめ

� 開発効率� すごくよい

� グラフィック� SDLの限界に縛られる

� サウンドサウンド� デフォルト設定がおかしい

� プログラミング� Pythonが遅すぎ、SFCレベルが精いっぱい

� リリース� LGPLの条項に引っ掛かる

� 互換性� すごく怪しい

Page 27: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

悪くは無いが激しく微妙激しく微妙

Page 28: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

SFCっぽいゲームをSFCっぽいゲームを作るには最適

Page 29: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

SFCのゲームを作るというという

割り切りが大事

Page 30: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

作ったゲームのお話

Page 31: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう
Page 32: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

Howitzer

ほいつぁほいつぁ

Page 33: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

制作動機制作動機

Page 34: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

コミケ申し込んだらコミケ申し込んだら受かっちゃった

Page 35: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

何か作らなきゃ!何か作らなきゃ!

Page 36: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

なぜパズルか?なぜパズルか?

Page 37: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

制作人数1名だから制作人数1名だから

Page 38: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

まずはパズルの現状分析

Page 39: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

パズルゲームのトレンドの変化トレンドの変化

Page 40: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

第一世代

(C)SEGA

(C)BPS

Page 41: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

第二世代

(C)COMPLE

Page 42: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

第三世代(C)KITERETSU

(C)バンダイ

Page 43: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

第一世代第一世代第一世代第一世代 第二世代第二世代第二世代第二世代 第三世代第三世代第三世代第三世代

一人用 二人用 一人用

無制限 短時間 無制限

無限脳汁 カタルシス 無限脳汁

シンプル 複雑 シンプル

パターン ロジック パターン

Page 44: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

あれ?回帰してね?回帰してね?なぜ回帰した?

Page 45: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

ケーススタディケーススタディぷよぷよの失敗と成功

Page 46: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

ぷよぷよSUN

太陽ぷよを追加連鎖が組めなくても攻撃ができる

Page 47: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

ぷよぷよフィーバー

フィーバーモードを追加連鎖が組めなくても連鎖ができる

Page 48: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

どっちが面白い?どっちが面白い?

Page 49: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

ぷよぷよの進化

� ぷよぷよ通の反省� 大連鎖が組めないユーザが

徐々に離れて⾏ってしまった

� ぷよぷよSUNのアプローチ� ぷよぷよSUNのアプローチ� 太陽ぷよで攻撃⼒UP� これで下手でも勝てるでしょ

� ぷよぷよフィーバーのアプローチ� ユーザは大連鎖がしたいのであって、

勝ち負けは⼆の次でいいんじゃないのか?

Page 50: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

ぷよぷよフィーバーは第三世代とのハイブリッド化第三世代とのハイブリッド化

で成功

Page 51: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

ゲームの設計思想ゲームの設計思想

Page 52: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

第三世代のパネポン第三世代のパネポン

Page 53: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

パネポンは第二世代パネポンは第二世代それゆえに失敗

ファンの人にはごめんなさい

Page 54: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

開発者も認める第二世代

http://www.intsys.co.jp/game/panepon/p09/index.html

僕は普通の人だった・・・

Page 55: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

プレーヤーはアクティブ連鎖したいアクティブ連鎖したいでもできない

Page 56: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

パネポンでアクティブ連鎖できない人がアクティブ連鎖できない人がアクティブ連鎖できるゲーム

Page 57: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

コンセプト

アクティブ連鎖が無限に続く無限に脳汁が出る

ど下手でも10連鎖は簡単にいく

誰でもアクティブ連鎖できるゲームルールとバランス

Page 58: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

コンセプトがあると、バランス調整で軸がぶれない

これ大事

Page 59: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

誰でも連鎖できる

バランス調整はバランス調整は初心者のプレイだけ見る

Page 60: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

50⼈分のリプレイデータを収集

Page 61: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

初心者が勘違いしやすいゲームルールを発見ゲームルールを発見

Page 62: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

チュートリアルを書く?どうする?

Page 63: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

勘違いする=正しい

初心者が勘違いした初心者が勘違いしたルールを採用

Page 64: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

まとめ

� パズルゲームのトレンド分析� パズルゲームの第三世代化

� パネポンの第三世代化を目指す� ルール設計� ルール設計� バランス調整

� 初心者に合わせたバランス調整� 初心者が勘違いするなら、

勘違いするルールのほうが正しい

Page 65: PYGAME でゲーム作作ったった話 でゲーム作作ったった話 ととと作と作作作ったゲームのったゲームの紹介 ... 自己紹介2 非ゲーム業化で社畜なう

それでは、懇親会でそれでは、懇親会で