オセロのゲーム作った
アプリ
ゆにオセロっていうAndroidアプリ。
従来のオセロゲームよりシンプル!
アプリを開始するとすぐゲームが始まる親切仕様。
めんどくさい設定どころか設定項目はひとつもなし!
https://play.google.com/store/apps/details?id=net.nyarurato.unireversi
なぜ作ったか
将棋vsチェスゲーを作ってみたくて、ボードゲームってどんな感じでつくるのか、AIってどういう感じにすればいいのかなーと思ったので練習のつもりで作りました。
感想
今回はhttp://fible.s5.xrea.com/laboratory/othello/参考にして、盤面に最初から評価値を与えておき、その時に置ける手の評価値の一番大きなところを探すといった単純なものにしました。
なのでひたすら角に近い石を取りにいこうとします。
あんまり強くないような気がしますが、僕はなかなか勝てません。
将棋やチェスの場合は手の探索を行うのが一般的だと思いますが、今回調べたところなかなかに難しいようなので将棋vsチェスのゲームを作れるかどうかは怪しいなあなんて思いました
アイカツキャプデータベース作った
AikatsUP!
アイカツキャプデータベース AikatsUP!作りました。
アイカツのキャプをアップロード、タグ検索、セリフ検索などができます。
作ろうと思ったきっかけ
アイカツ見なきゃ
— にゃるらと (@sakura_metal) 2015, 1月 26
@sakura_metal pic.twitter.com/ZUX389qVhh
— Dvorakはしもと (@dvorak__) 2015, 1月 26
@dvorak__ pic.twitter.com/NlDDuHz2TV
— にゃるらと (@sakura_metal) 2015, 1月 26
といったことがあったんですが、実はこのときアイカツのキャプでリプライをするのは初めてで、その場にあったアイカツのキャプ探すの大変だよな~なんて思ってました。
同時に、キャプのデータベースみたいなのがあると便利だな~とも思いました。
その後は
会話に使えるアイカツキャプデータベースが欲しいですね
— にゃるらと (@sakura_metal) 2015, 1月 26
@sakura_metal (ほしいと思ってた所です)
— ひな@キャラクロ16日Aミリ2nd2日目 (@ak_hina) 2015, 1月 26
後からアイカツキャプデータベース考えてみるか
— にゃるらと (@sakura_metal) 2015, 1月 26
みたいな感じでアイカツキャプデータベースを作ることにしました。
環境
Apacheとmod-wsgiとPython3とDjangoでハマった
アイカツキャプデータベースを作るためにお名前vpsの1Gプランを借りた。
環境構築でかなりハマったことまとめておく
ちゃちゃっと書き留めただけなのでわかりにくいです。
参考ページを見る。
- apacheが起動してるのに、アクセスしてもページが表示されない
iptablesの設定確認
http://web.plus-idea.net/2012/04/iptables-apache-error/
- パーミッションのエラーを吐いてる
そのファイルではなく大本のディレクトリのパーミッションを変更してみる
- import error encoding
WSGIPythonPath /usr/local/lib/python3.4
を追加
- No module named _sqlite3
Python2.6からsqlite3が読み込まれないエラーの解決方法 - ドラあり!*ドラゴンに挑むアリの物語 ** Python使いの日々
- static filesが読み込めない
cssとかjsとかが読み込まれない(怒り
python - Django/Apache/Mod_WSGI - HTTP 404 Error with Static Files - Stack Overflow
mediaのディレクトリも同様に指定した
pythonのスクリプトによって読み込むのを指定しているファイル(templateのファイルとか)以外はapacheの設定が必要だと解釈
参考
ApacheのインストールからDjangoのデプロイまで - 忘れないようにメモっとく
Python3.3 + mod_wsgi3.4 をさくらVPS(CentOS)にインストールした時に少しハマったので振り返りメモ - Qiita
Python3.4 + Django を、Apache で動かすよ | ご近所歴史遺産データベース 管理サイト
mod_wsgiでDjangoを動かすまでを淡々と記録する - スコトプリゴニエフスク通信
DjangoとApacheとWSGIの設定(CentOS偏) - In urban breeze
mod_wsgiでアプリごとにvirtualenv環境を設定する - cl.note
ApacheのインストールからDjangoのデプロイまで - 忘れないようにメモっとく
Global Game Jam @JAISTに行ってきました
1月24,25日と2日間、Global Game JamのJAIST会場に行ってきました!
JAIST | Global Game Jam
初GGJだったのですがとても楽しかったです。
作ったゲーム
Alive March
Alive March | Global Game Jam
ここから遊べます
https://clear10.github.io/AliveMarch/Build.html
ゲーム内容
プレイヤーはプロジェクトをマネジメントする立場です。
このゲームはシミュレーションパートとアクションパートの2つに分かれています。
シュミレーションパートでの目的は「デスマーチを回避」することです。
アクションパートでの目的は「デスマーチになってしまったプロジェクトを成功させる」ことです。
資金や、プロジェクトメンバーの元気、進捗率、残り日数に気をつけながら、プロジェクトメンバーの人数や休憩人数を調整していくゲームです。
なぜこのゲームを作ったか
今回のGGJのテーマは"What do we do now?"でした。
今、僕たちがやらなきゃいけないことはなんだろうと考えた時に、まずデスマーチを回避しなきゃと思ったところからアイデアを得ました。
開発
全員がプログラマーでした。
僕は全体的なデザインを考えるのと、プログラミングをやりました。
モデル作成は3Dモデルを作れる人がいたので、その人に丸投げしました。
デザイナーがいなかったので、見た目のクオリティは他の班と比べると見劣りする気がします。
最初はこういう機能がいるよね、こういうクラスを作ったらいいよねという話をして、それじゃあこの機能(クラス)は誰々が作ろうといった感じで進めていきました。
後半にいくにつれ、GameManagerのやることが徐々に増えていき、神クラス化していきました。
全知全能の神クラスをつくって、創造主に仕事をポイするチームAlive-march #ggj_jaist
— きんぱく@卒研瀕死マン (@gold_leaf_9541) 2015, 1月 25
GGJで神クラス作ってたマンだけど、GUIに必要な情報をパッケージにして渡したりゲーム管理情報を意地でもpublicにしなかったのは良かったと言える。ただ他のオブジェクトが神が指示しないと仕事しないし低級オブジェクトを直接殺すまでしてたのはまさに神クラス(笑)だった。
— くりあ (@clear10_foo) 2015, 1月 26
2日目になるとぐったりしてました
終わる気がしない
— にゃるらと (@sakura_metal) 2015, 1月 24
いつゲームは完成するのか・・・
— にゃるらと (@sakura_metal) 2015, 1月 24
ねむつらい
— にゃるらと (@sakura_metal) 2015, 1月 24
いろいろと問題がありましたが楽しく?開発できました。
他の班
他の班は立体迷路のゲームや、アナログなボードゲームとデジタルなスマートフォンを使うハイブリッドゲームや、桃太郎を題材にしたシューティング?ゲームがありました。
どの作品もすごいのですが、チームももたろうのゲームが本当にすごいです。
Momo no Mama | Global Game Jam
クオリティが非常に高く、ゲームとしてもシンプルでわかりやすいです。
感想とか
お菓子美味しかったです。
また行きたいです。
3DプリンターCUBIS買いました
CUBIS買いました!
CUBISの公式ページ 【トップページ】低価格3Dプリンター CUBIS(キュービス)販売サイト - PRINTUS 3Dストア
6万程度で買える3Dプリンターが欲しい
上がる候補としては3つ
ダ・ヴィンチ1.0 | PRN3D | CUBIS | |
---|---|---|---|
価格 | ¥69,800 | ¥59,800 | ¥59,800 |
届く状態 | 完成品 | 組み立て部品 | 完成品 |
使える素材 | ABS | ABS,PLA | ABS,PLA |
最大出力サイズ | 200 x 200 x 190 mm | 170 x 170 x 160 mm | 165 x 155 x 125 mm |
最小積層ピッチ | 0.1 mm | 0.05 mm | 0.15 mm |
フィラメント | 独自*1 | 自由 | 半独自*2 |
reprap | NO | YES | ? |
ユーザー数 | 多い | 多い | 少ない |
ぱっと気になる点をまとめるとこんな感じですかね
ちなみに3日程前にダヴィンチ1.0の後継モデル?としてダヴィンチ1.0Aというものが発表されました。
こっちは使える素材がABS,PLAとなるようです。
ただ、ダヴィンチはどちらかというと7万近くになってしまうので今回は除外ですね
PRN3Dは圧倒的です
組み立てがめんどくさくない&そのままの状態で置く場所があるようであればPRN3Dオススメだと思います。
僕の場合は3Dプリンタを覆うケースがあった方がいいと思った(床にしか置くスペースがない、部屋の寒暖差、犬が部屋に入ってきたりする等)のでCUBISにしました。
組み立てるのがめんどくさかったっていうのもあります。
届いてから
3Dプリンタcubis開封の儀
このサイズ、内箱あるのかな?と思ったらなかった pic.twitter.com/FZv4ebsoJH
— にゃるらと (@sakura_metal) 2014, 12月 26
3Dプリンタcubis開封の儀
1人じゃ箱から3Dプリンタをとりだせなかったので弟に手伝ってもらって出した pic.twitter.com/vFyX2HQauN
— にゃるらと (@sakura_metal) December 26, 2014
早速製品マニュアルの消失
どこやった・・・
— にゃるらと (@sakura_metal) December 26, 2014
あー・・・紙媒体じゃないのね
PDFか
— にゃるらと (@sakura_metal) December 26, 2014
製品マニュアルが紙ではないというのが分かりにくかったです。
もうちょっと分かりやすいところに書いてくれればなと思いました。
またUSBが紛失した時のためとかにWEBで公開などしてくれたらとも思います。
ダンボールの中にマニュアル入ってるのに、マニュアルの中で箱からの取り出し方とか言われても・・・
— にゃるらと (@sakura_metal) December 26, 2014
これはトラップです。
箱からの取り出し方だけでも印刷して開けて一番最初のとこに置いてくれたらと思いました。
(なんとか一人で取り出そうとしていたら発泡スチロールを割りました・・・)
マニュアルですが、すごく丁寧です。
画像付きで何をどうすればいいのかが書いてあるので3Dプリンター初心者でも取っ付き易いと思います。
ただ、開始方法については詳細に書かれているのですが、終了方法については特に書かれていないので、本当に消して大丈夫かな?と思う事はありました。
いざ印刷
cubisテストプリント https://t.co/nveE8tULBc
— にゃるらと (@sakura_metal) December 26, 2014
あ、止まった
macbookがスリープ入ったせいっぽい
— にゃるらと (@sakura_metal) December 26, 2014
やり直しか・・・
— にゃるらと (@sakura_metal) December 26, 2014
もう一度やるか pic.twitter.com/IhlFNDm727
— にゃるらと (@sakura_metal) December 26, 2014
PCがスリープに入ると3Dプリンターにデータが送られなくなるようで止まってしまうようです。
3Dプリンターを動かしている間はPCがスリープに入らないようにするか、SDからデータを選択して印刷といったことをするべきですね。
テストプリント終わってた!
剥がす時にCの部分がゆがんじゃったけどいい感じ pic.twitter.com/RKtu15mzM5
— にゃるらと (@sakura_metal) December 26, 2014
カエルをプリントしてみる
— にゃるらと (@sakura_metal) December 26, 2014
http://www.thingiverse.com/thing:18479のモデルを印刷しました。
カエル出力中 pic.twitter.com/BhcaXN24Y7
— にゃるらと (@sakura_metal) December 26, 2014
カエルの出力完了 pic.twitter.com/7UyVYTx1q0
— にゃるらと (@sakura_metal) December 26, 2014
やっとはがれた
カエルくん pic.twitter.com/n1Tok0lFa4
— にゃるらと (@sakura_metal) December 26, 2014
家庭用の3Dプリンターなのでこんなものだろうという気はしますね。
個人的には満足です。
まとめ
CUBISいいと思います。
組み立てがめんどくさくなければPRN3D、届いてすぐ使いたいというのであればCUBISといった選び方でしょうか。
6万台は個人的には高いですが、3Dプリンタだとか工作機械といった括りでみるとかなり安い部類なので過度の期待はしちゃいけないなぁと思いました。
自動ですぱこーを集めてみる
この記事はプロ生ちゃん Advent Calendar 2014、クローラー/スクレイピング Advent Calendar 2014の19日目の記事です。
はじまり
クローラー/スクレイピング Advent Calendarを見ていると、どうやらPythonやRubyでわりとお手軽にクローリング、スクレイピングができるらしい・・・。
プロ生ちゃんアドベントカレンダーにも登録しちゃったし、ネタも特にないしスクレイピングやってみるかな~といった感じで始まりました。
やった流れ
- すぱこーが公開されているページのソースを眺めて、マンガの画像を見つけるための特徴を探す。
- 見ているとどうやらサムネがマンガの画像をリサイズしただけのものだと気付く。
- loop-entryクラスのarticleタグを取得し、その中のimgタグからhrefを取得して?以下を削除して、リサイズをなくしてやれば元の画像になりそうだと思い、実装。
環境
Python3.4
BeautifulSoup4
結果
半分成功。半分失敗。
すぱこーのVol.15よりサムネが別に準備されていたので、マンガ自体の画像はダウンロードできなかった。
ちゃんと確認しなかったうっかりミス・・・
まとめ
思った以上に簡単にスクレイピングができた。
どのくらいの時間にどの程度以上のリクエストを投げたら怒られちゃうのかが分からなかったので、画像をダウンロードするごとに5秒スリープさせたが、どのくらいの時間が最適なのだろう・・・
プロ生ちゃんかわいい。
金沢Unity勉強会 第二回やりました
金沢Unity勉強会の第二回やりました!
参加者は36人でした。第一回(15,6人)の2倍以上!
今回はユニティ・テクノロジーズ・ジャパン合同会社様より講師として鎌田さん、常名さん、森さんに来ていただいて初学者向けのハンズオンをしました。
ドタバタしちゃいましたが金沢unity勉強会開催です pic.twitter.com/mfXPIMWBfA
— にゃるらと (@sakura_metal) 2014, 12月 14
具体的な内容
- ユニティちゃんを使った障害物避けゲームを作るハンズオン
- GGJ石川会場の紹介のLT
GlobalGameJamの石川会場を1/24(土)~1/25(日)に開きますよー
参加してくださいねー
といった感じ。
多分、僕は行きます(期末試験が近くなければ)
感想
初学者向けハンズオンということであー知ってるといったことも多かったのですが、これは知らなかった、なるほどといったことも結構あって勉強になりました。
勉強会後の懇親会もいろいろな話を聞くことができて、とても楽しかったです。
隣の机ではOculus体験会になってました。
金沢unity勉強会の懇親会でoculus pic.twitter.com/JzXZ1d7PzQ
— にゃるらと (@sakura_metal) 2014, 12月 14
次に金沢Unity勉強会をやるとしたら2月の中盤か終盤あたりの土、日を考えています。
またUnityの方に来ていただいて、ハンズオンではなくLT大会とか発表型の勉強会をしたいなぁなんて思ってます。