日々、雑雑と。

いろいろなことを垂れ流し

EC2でBemuseの楽曲サーバを構築してみた

はじめに

BMSと呼ばれるフリーの音楽ゲームが、一部の界隈で流行っている。
今までにBMSを数十作ぐらい作ってきたが、BMSを遊ぶには、本体をインストールして、曲もダウンロードして、読み込まして、と結構面倒くさい。
その中、最近できたBemuseは、面倒くさい導入の作業をスキップして、ブラウザですぐにBMSを遊ぶことができる。
Bemuse: BEAT☆MUSIC☆SEQUENCEbemuse.ninja

Bemuseは、どこかのサーバに本体があって、どこかのサーバに置かれている楽曲データを読み込んでいる。楽曲データをこちら側で用意すれば、すぐ遊べる環境ができる。今回は、EC2でサーバを構築して、Bemuseで遊べる環境を構築した。

続きを読む

youtubeで見つけたレコメンド曲紹介

youtubeを徘徊してたら数曲印象的なの見つけたので紹介。

TRNDSTTR (Lucian Remix) / Black Coast


Black Coast - TRNDSTTR (Lucian Remix)
エフェクトが強烈だけど綺麗に聴けるオシャンティな良曲。

にちようび / ジッタリン・ジン


ジッタリン・ジン - にちようび
琉球音階を突き通した曲。
歌詞の至る所に「ダーリンラムネを買ってきて二人で飲みましょ散歩道月が昇るまで」という魅了的な句とメロディがあり、聴いたあともしばらく脳内で流れるぐらい印象に残った。

予定調和の毎日 / 鈴木結女


Dina Giga OP
超起動伝説ダイナギガというOVAのOP曲。
楽器編成がコンパクトだから、質素に聴こえるけど不思議と高揚される。

Pythonの言語仕様に慣れる旅(メモ)

前回の記事
zatsuzatsu.hatenadiary.jp
から、実装を始めて3日程経過。

今までJavaとC,C#,C++と触ってきましたが、
Pythonはコーディング時の制約が他の言語に比べて緩い印象を受けました。
記述の簡単さを極めたような設計のおかげで、あっさりと適応できました。


配列(リスト)周りが非常に扱いやすかったです。

#配列の結合
a = [1,2,3,4,5]
b = [6,7,8,9]
a+b
#a+b = [1,2,3,4,5,6,7,8,9]

これはリストの結合ですが、
いちいち専用の関数を呼び出さずに式だけで終わらせちゃうんですね。
速いプログラム書くなら、この手法は許されるのか疑問には思いますが、便利です。


Pythonは自由度が高くて
1つの処理に対していろんなアプローチができるので、
柔軟であり、自由すぎて返って混乱しますね。



これからもPythonを勉強します。

Python3と1週間の猶予でカードゲームを作ってみる(仕様編)

はじめに

Qiitaに書くほど技術的ではない雑記です。
Pythonを深く勉強するという意味も込めて、
1週間でゲームなるものを作ってみます。

環境

言語:Python3
DB:SQLite3
レポジトリ:Bitbucket

簡単なゲーム仕様

なるべく簡単に済ます。

  • プレイヤーは2人。
  • 毎ターン、山札からカードを引き手札に加える。
  • 手札から1枚カードを選び、場に出す。
  • お互いのカードが持つタイプ(じゃんけんの手みたいなもの)で勝敗が決まる。
  • 勝利すると、そのカードの持つ攻撃力分、相手の手札をランダムで破壊する。
  • 毎ターンの終了時にお互いの手札枚数を確認。0枚になったら負け。

これなら実装できそう!

簡単なカード仕様

これも簡単に。

  • 名前
  • タイプ
  • ダメージ量

シンプル!

簡単なカードタイプ

じゃんけんの手みたいなものです。

  • アタック…グー
  • トラップ…チョキ
  • マジック…パー
  • スペシャル…どの手にも負けない
  • ウィーク…どの手にも勝てない

最後2つのカードタイプは余力があれば実装します。

データベース周り

あまりにも小規模なゲームになるので、ソースにデータ直打ち、あるいはJson形式でもいいと一瞬思いましたが、王道を往くRDBを採用しました。ファイル単位で簡潔に扱えるSQLite3を使用します。

ここまでの進捗

仕様を決めました。
カードゲームには欠かせないカードクラスとデッキクラスを定義中です。。。

ディープラーニングに挑戦中

いまいちディープラーニングの仕組みがわからないけど、とりあえず環境だけ構築して実習形式で勉強していく予定。

環境

OS CentOS7
Python 2.7.5
protobuf 3.0.0a3
Tensorflow 0.6.0

備忘録

  • TensorFlowの導入自体は簡単(Linuxの場合)
  • PythonのパッケージのバージョンがTensorFlowと合わないと、めっちゃエラーが出る
  • TensorBoardで外部に結果を出力してブラウザで確認したい。