ゲームサーバ作り日記

飽きてきた(ぉ)

というのも、いまだにGoogle App Engineの認証が終わらず、サーバに公開できるめどが立っていないから。

Google App EngineのBooleanPropertyとかIntegerPropertyとか、defaultを指定しないとNoneになるんだな。Falseや0になると思ってた。

        • -

player = Player.get_or_insert(user.email(), play_count=0, score=0, sq_score=0)
とかやってユーザのemailをキーにしたオブジェクトを作成できるけど、取得するときにエラーになる。

Invalid string key test@example.com. Details: Incorrect padding
Request Method:

でも管理画面ではちゃんとオブジェクトが入っているように見える。
まぁいいや。

        • -

TextPropertyはfilterで=を指定して、同じ内容のものがあっても、拾ってくれない。なるほど。StringPropertyに変えた。

        • -

プレイヤーのスコアが記録されるようになった。

        • -

views.pyがそろそろ300行とかになってきて大変なので分割したい。っていうかカスタムテンプレートタグの使い方側からないせいで表示メッセージとかがviews.pyの中に進出してきている。あと国際化するのが面倒だったので日本語だらけになってきた。100%英語じゃないなら100%日本語の方がいいなぁ、どうせとうぶん日本人しか使わないのだし。

        • -

本番サーバに公開するとdatetime.datetimeがPickleできないエラーになった。
あとログアウトするとエラーになる。テスト書くべき。GAEのテストはどうかくんだろう。Djangoのテスト使えるのかなぁ。

        • -


これは名勝負だw
打者を三振に押さえる感じw

        • -

あー。厄介だな。ローカルの開発用サーバではキーが文字列なのに、アップロードするとKeyオブジェクトに変わるのでPickleに失敗する。これ結局「player0, player1, player2」って3つのフィールドを作るのが嫌だったからリストに入れてpickleするようになっているので、あきらめてフィールドにすべきなのかもしれないなーと思った。

        • -


うぎゃあ、最後の最後で。。。

これはGoogleサーバ上で動いている。メッセージがわかりにくいところとか直したら公開してもいいかもしれない。結局APIの整備はやってない。

        • -

どこまで完成したら公開するかがいまいち不明瞭なのでだらけている。時系列メッセージ、結局時間は表示するとうっとうしいので表示しないことになった。む。時間を記録する意味がなくなったぞ?

        • -


86のIRCにURLを書いた結果がこれ。まだまだ余裕。

        • -

ああー、チャットに日本語を入力したときに500になる。日本語が入ってくる可能性のある値は明示的にunicodeに変換してやらないとASCIIだと仮定して処理しようとしてASCIIじゃない文字が入っていてエラーになる。

        • -

3時だし、ここら辺でひっそりと公開してみるか。
チャットに色々書きながらプレイしたもの↓
http://saichugen-online.appspot.com/game/210/