ブラウザ爆弾ゲーム バージョンアップしました

久しぶりの更新になります。爆裂健です。
最近暑くて、夏バテ気味です。。。

(今は当時の日記は消してしまいましたが)2000年の頃に「爆裂健ホームページ2」で日記を書いてた時は、どうでもいい話題をほぼ毎日書いていたんですが、さすがに当時のようには行かないですねw

なんか最新版のChromneで「ブラウザ爆弾ゲーム」の効果音が出なくなってしまったので、バージョンアップしました。
サウンド再生周りの処理が今までのやり方で動かなくなったようです。やはり JavaScript と HTML5 で本格的なゲームを作れる時代になりましたが、まだサウンド周りは弱いですね。

さしあたり enchant.js のgame.assets でのサウンドデータの読み込みは行わず、HTML5 Audio でサウンド再生するようにしました。ブラウザによってサポートがまちまちなので、対応していないブラウザの場合は効果音の再生が ON であってもサウンドの再生をあきらめました。

バグや問題等があれば、是非ご連絡くださいませ。。。m(__)m

ブラウザ爆弾ゲーム
BakuretuBomb

謹賀新年・2013年ふり返り

新年あけましておめでとうございます。
本年も「爆裂健ホームページ」をよろしくお願いいたします。

年も明けましたので、いまさらながら2013年を振り返ってみようと思います

2013年1月・2月ごろ

2012年から引き続き、仕事でインドネシアに出張してました。
本格的な海外駐在は初めてだったので、いろいろ大変だったり、面白かったり、勉強になったりの日々でした。

indonesia1871

こんな感じです。ちなみにインドネシアはイスラム文化です。
知識では知ってましたが、実際に現地のスタッフがラマダン(断食)を行ったりするのをみてビックリしました、

indonesia1684

2013年4月12日

前世紀の1997年に「爆裂健ホームページ」を作って以来、実に16年ぶりに本ホームページ(ブログ)を開設しました!

ちなみに WordPress をちょっと弄りたくて始めたのがホームページ開設の理由ですw
記念すべき最初の投稿は、下記の1行投稿でしたwww

2013年4月15日

カードゲーム「ワンナイト人狼」をブラウザ上で動作するシステムを公開しました。
最初は知人に頼まれたのと node.js の勉強のため、ブラウザベースのワインナイト人狼のプログラムを開発しました。
もともと自分と友達だけが使っていたシステムだったので、デザインとか考えてなかったのです。
その後、友達の朔夜さんがカードデザインをしてくれて、見栄えが激変! こんなデザインが、こんな感じに!

apple-touch-icon

2013年4月

ゴールデンウィークに暇だったので、料理を始めました。
生まれてこの方あまり料理をやったことなかったので、なにもかも新鮮な経験でした。
いまでは少しづつレパートリーも増えてます。2014年1月1日現在、まだ料理の趣味は続いてます。
「フードプロセッサー」や「圧力鍋」を衝動買いしちゃいましたw

201401215

20130923184419

2013年6月30日

大昔作成した「JAVAアプレット 脱衣(?)ブロック崩し」に続くシリーズで、爆裂BOMB プログラムを作成しました。
今回は JavaScript(enchant.js)でできているので、スマートフォンでも動きます。

降ってくる爆弾を爆発させて服を消し去るというゲームです。
画像を入れ替えて自由に自作ゲームを作れます!是非、ゲーム作成もお願いします。

BakuretuBomb

2013年7月~8月

主に仕事 (´・ω・`)
あと国内旅行行ったり、知人と飲んだり、いろいろ。
しかし2013年の夏は暑かった。

2013年10月

チェーザレ~破壊の創造者~」というコミックが大好きで、ルネサンス時代にすごく興味が出たので、いい機会なのでイタリアに行ってきまいた。
格安ツアーで航空券、ホテルバウチャー、鉄道チケットを渡されて放置状態でしたが、何とかなりましたw

photo20131012

iphone550

あと、すごくワインが美味しかったです。
友達がワイン好きでいろいろ影響を受けて飲むようになったのですが、ハウスワインが安くて美味しかったのはいい思い出です。

iphone631

2013年11~12月

仕事メインの日々でした(´・ω・`)

2013年はあっという間に終わってしまった感じです。
2014年は、意識的に色々挑戦していきたいと思います!

これからも「爆裂健.com」をよろしくお願いいたします。

2014.1.1 BakuretuKen

コロッケの手間レベルがすごい

ども、爆裂健です。

最近仕事やプライベートでバタバタしていて、ブログの更新をサボってました。
ちゃんと、頂いた感想やご意見メールはありがたく読ませて頂いています。
公開しているプログラムのバージョンアップも機会を見つけて進めていきたいと思ってます。

今年(2013年)のゴールデンウィークから始めた料理も、まだ続いています。
先日ハンバーグを作ったので、この連休で「コロッケ」に挑戦しました。

が、コロッケって手間がすごい。。。

想定の3倍は時間と手間がかかりました。
ハンバーグのほうがよっぽど手軽です。

ポテトや玉ねぎは、自慢の文明の利器「フードプロセッサー」で粉砕しましたが、それでもものすごい時間と手間がかかりました。
今まで、コロッケ作るのがこんなに手間かかるとは知らなかった。。。

よほど手軽なレシピが今後見つからない限りは、もう作れないかもしれません。
工程が多すぎます。

で、なんとかできたのがこれです。

20130923182847

きれいな形にはなりませんでした (´・ω・`)

20130923184419

で、なんとかそれっぽく仕上げました。
ほんと、こんなに手間がかかるとは思いませんでした。

作業工程が多い結果、流し台はこんな感じにwww

20130923183907

この夏の近況報告

暑いですね、今年は (;´Д`)

私(爆裂健)の近況報告しますと、仕事と暑さで死んでました。
そんな訳で、ブロク更新が滞ってました。
去年は仕事でよくインドネシアに行ってたんですが、体感的にはインドネシアより今年の日本の夏のほうが暑いです (´・ω・`;)

で、近況報告です。

まず、「ブラウザでワンナイト人狼」ですが、


「平和村だった場合、必ず人間勝利となるので駆け引きができなくなる!」

といったご意見メールを頂きました。
「たしかに!」とおもったので、すぐにメールでご提案していただいた「平和村殉職者勝利オプション」を追加しました(2013.08.11)。

この「平和村殉職者勝利オプション」をチェックにしてゲームを行うと、もし村が平和村だった場合「吊られた人(殉職者)」が勝利となります。

つまり、プレイヤーに「人狼」も「てるてる」もいない場合は、「吊られた人(殉職者)」が勝利となります。
村が平和村だった場合でも、プレイヤー同士で駆け引きを行えるオプションです。ちょっと上級者向けかもしれません。

次に「爆弾ゲーム Bakuretu Bomb」をバージョンアップしました(2013.08.05)。
爆発音のサウンド OFF が設定できるようになりました。
こちらもサウンドファイルをアップできないサーバがあるといったメールを頂いたので、対応いたしました。
ご意見メールありがとうございました。

次に、2013年8月1日に cron で実行された「node.jsの自動再起動」ですが、無事成功しました。
これで自動的に1ヶ月に1度 node.js が自動再起動されるので、前に発生した「ブラウザでワンナイト人狼」が node.js が固まってしまい動かないといったことが激減するはずです。(*1)

最後に今年のゴールデンウィークから始めた「趣味の料理」ですが、まだちゃんと続いてますw
ネットでレシピを見てるのですが、最近作ったやつだと「タモリ流豚生姜焼き」がすごく美味しく出来ました!
油を使わないって斬新(・∀・)

では、また!

(*1) [2013.08.29] 毎週月曜日 早朝 6:00 に週一で自動再起動を行うように変更しました

ブラウザでワンナイト人狼 最近の更新変更

最近、なかなかブログを更新できてませんね。
多少時間があるときに、「プログラム開発」か「ブログ更新」か?
となったときに、「プログラム更新」を優先してしまっている感じです。
まぁ、私が文章を書くのが苦手なだけかもしれませんが。。。

最近、何点か「プラウザでワンナイト人狼」のプログラムを改良(変更)しました。

まず1点目は、2013年07月23日に「狂人」の勝利条件を変えました。

今までは「狂人」がサポートする「人狼」がメンバーにいなかったら、プログラムがそれを検知してカードの配り直しをしていました。
これで、「自分が吊られても人狼を助ける」といった、より本家(?)人狼ゲームに近い行動が取れるようにしたのですが、
この場合、人狼2、狂人1とすると、平和な村が存在しなくなります (´・ω・`)

これに対して何通かご意見メールをいただきました。
まったくの盲点でしたし、頂いたメールは非常に参考になるものばかりでした。
この場をお借りしてお礼申し上げます。

私も、「平和な村」なのにプレイヤーが疑心暗鬼になるのは、ワンナイト人狼の素晴らしいシチュエーションの一つだと思います。
ですので、まずは配り直しを廃止しました。

そうなると問題になるのは、狂人がいるのに村に人狼プレイヤーがいない場合です。
その場合は、狂人を人狼として扱う等のアイディアや、いろいろご意見いただいたんですが、
「一致団結して平和な村を勝ち取るスチュエーション」や「ルールが複雑化するのでは?」といったことを考え、

村に人狼プレイヤーがいない場合、狂人は「人間チーム」にしました!(村人と一緒)

※「狂人」として村に生まれたけど、「人狼」がいないので「狂人化」しなかった。というストーリーです(こじつけですがw)

(※ゲームバランスによっては今後また勝利条件が変更される可能性があります)

詳しくは、狂人について を見てください。


2点目ですが、2013年07月28日に「ゲームマスター鑑賞モード」を追加しました。

これは何かというと、「ゲームマスターがプレイヤーとしてゲームに参加しないオプション」です。

( ゚Д゚)ハァ?

と、聞こえてきそうですが、このモードをONにすると、ゲームマスター画面では全てのカードが最初から最後までオープンになっています(ゲームマスターはゲームに参加出来ません)
ゲーム見学者がゲームマスターの画面を覗きこんで、ゲーム進行を楽しむものです。。。

「何に使うの?」とか言われると微妙ですが、私の知人のリクエストで

ゲームに参加しない人が、すべてカードオープンされたゲーム画面を見ながら、ゲーム進行をニヤニヤ見られるようにしたい!

というリクエストがあったので対応しました。
ものすごーーーーーく、需要は少ないと思いますwww

「ゲーム実況用」や「ゲーム非参加者向けにゲーム画面が見られる画面が欲しい」というメールも数通頂いてたので、いい機会だと思い実装しました。

そろそろ「ブラウザ 爆弾ゲーム Bakuretu Bomb」もバージョンアップしたいので、次はそっちに取り掛かりたいと思ってます。
(`・ω・´)ゞ

【注意】
このバージョンアップは「ブラウザでワンナイト人狼」というWEBブラウザで動作するゲームの話です。
オオカミさん氏作成の「オリジナルゲームルール」とは、関係ありませんのでご注意ください。

node.jsの自動再起動

先日、WebSocket通信 で使用している node.js が停止してしまい、「ブラウザでワンナイト人狼」ゲームが動かなくなっていました。ご迷惑をお掛けしました。

【関連記事】 node.js 止まってたわ(´・ω・`)

原因は解らなかったのですが、node.js をあまり長い間動かすとメモリリーク等で固まるのかもしれません。そこで、定期的に node.js を自動で再起動させることにしました。

こんな数行のシェルを組んでみました。

[bash]
#!/bin/sh

pid=`ps -elf | grep “app.js” | grep -v grep | awk ‘{print $4}’`
if [ “${pid}” != “” ]; then
kill ${pid}
echo “kill ${pid}”
fi
sleep 2
nohup /XXXXXX/node /XXXXXX/app.js > /dev/null &
[/bash]

このシェルを実行すると、今動いている node.js を kill して、新しい node.js を2秒後に起動します。後はこのシェルを自動実行するべく、cron設定を行いました。

[text]
# Node.js 定期リスタート処理
0 6 1 * * /XXXXXX/restartNodeJs.sh >/dev/null 2>&1
[/text]

これで、毎月1日 早朝6時に node.js が再起動するはずです。
標準エラー出力(STDERR) を /dev/null に流しているので、シェルの実行に失敗した時に気が付かないというツッコミがあると思いますが、このcron処理とは別に定期的なサービス監視が動いているので、node.jsが立ち上がらなかった場合はそちらで障害検知します。

さて、最初の自動再起動は 2013年8月1日 早朝6時ですね。
うまくいきますように!( ・`ω・´)/

[2013.09.13 追記]
現在は週に一回、月曜日の早朝 6:00 に再起動するようにしています。

[2016.02.23 追記]
現在は毎日一回、早朝 6:00 に再起動するようにしています。

最近趣味で料理してます

今年(2013年)のゴールデンウィークがあまりに暇だったんで、趣味を増やすべく「料理」を始めました。
まだ全然大したものは作れないのですが、つい Amazon で「フードプロセッサー」を買ったりして、地味にはまってますwww

130707140602

まぁ、TVで「料理ができる男性はモテる」と聞いて始めただけなんですよwww
中学生がモテようとしてギターを始めるのと一緒ですねwww

そんな訳で、作った料理や失敗談などをこのブログに載せると面白いかなーと思ったりしたんですが、料理の話を載せると、何を目的としているのか解らないブログになりそうです (´・ω・`)

もともと 大昔のホームーページ のように、プログラムの紹介などをやろうと始めたブログなので、「プログラムの紹介」と「料理の話題」が混在するブログはカオス化しそうです \(^o^)/

でも、せっかくハマっているので、たまには料理ネタを書きたいと思います。ご容赦くださいw

ブラウザでワンナイト人狼「狂人」勝利条件変更のお知らせ

本日(7/15)、「ブラウザでワンナイト人狼」を大幅(?)バージョンアップしました。

【注意】
このバージョンアップは「ブラウザでワンナイト人狼」というWEBブラウザで動作するゲームの話です。
オオカミさん氏作成の「オリジナルゲームルール」とは、関係ありませんのでご注意ください。

今回ポイントは2つで、1つめは「狂人」の勝利条件を変えました

[2013.07.23]  この投稿後、「狂人」の勝利条件を変更しました。この「狂人」の内容は古くなっています。最新情報は下記のリンク先を見てください。

→ ブラウザ ワンナイト人狼「上級者向けオプション」について

c5

いままで「狂人」は狼チームで、「狂人」が吊られると人間チームの勝ちでした。
元祖(?)人狼ゲームの「狂人」とは、かなり役割が違いました。
本来は人間チームのふりをして、人狼を勝利に導く役職です。

「狂人」に違和感を感じていた方がいらっしゃったようで、ブラウザでワンナイト人狼の「狂人」については何通かご意見を頂き、大変参考になりました。この場を借りて御礼申し上げます。

そこで、「狂人」が吊られても人狼チームが勝利した場合、狂人も勝利としました。
これで「狂人」は、元祖(?)人狼ゲームのように、「人狼を庇って自分が犠牲になる戦略」が取れます。

で、問題になるのはプレイヤーに人狼がいない場合、狂人が吊られた場合です。
元祖(?)人狼ゲームは必ず「狂人」がサポートするべき「人狼」がプレイヤーに存在します。

ですので、それを真似することにしました。
ゲーム開始時にプログラムがカードを配るときに、狂人プレイヤーがいた場合、必ず人狼プレイヤーが1人以上いるようにしています。
ですので、あなたにもし「狂人」カードが配られた場合は、他のプレイヤーの誰か1人以上が人狼です。

あと、現在は占い師に占われると「狂人」であることがバレてしまいます。
これはこれで面白いと思っているのですが、今後「上級者向けオプション」で「狂人が占われても村人になるオプション機能」をつけようかと思っています。

「狂人」カードをゲームで使用する場合は、8名プレイを行うか、「上級者向けオプション」でカード構成に「狂人」を含めてください(狂人のカード番号は 5 です)

2つ目は新役職「てるてる」の追加です。

jinrou3003

こちらも何名かの方々からリクエストメールをいただきました。
メールを頂くまで「てるてる」という役職をまったく知りませんでした。
メールをくださった方、ありがとうございます。

メールを頂いてググったんですが、こんな面白い役職があるのですね (^◇^)

「てるてる」は吊られるのを目的としている役職です。人間チームでも、人狼チームでもありません。
「てるてる」が吊られると、「てるてる」の一人勝ちになります。

「てるてる」カードをゲームで使用する場合は、「上級者向けオプション」でカード構成に「てるてる」を含めてください(てるてるのカード番号は 6 です)

※「てるてる」のカードデザインは現在イラスト担当の友人に依頼中です。そのうちちゃんとしたカードに置き換えます。

あと、細かい所では最大プレイ人数を8名に変更しました。
7名、8名プレイのカード構成は、オリジナルカード構成となっています(ゲームバランスによっては今後変えるかもしれません)

詳しくは、ブラウザ「ワンナイト人狼」遊び方 をご確認ください。

node.js 止まってたわ(´・ω・`)

何通メールをもらってで気がついたのですが、2013年7月6日(月)に「ブラウザでワンナイト人狼」が動かなかったようです。

2013年7月6日(月)夜に復旧しました。
ユーザーの皆さんにはご迷惑をおかけしました。

原因は WebSocket 通信に使用していた node.js サーバの停止です (´・ω・`)
この node.js は何をしているかというと、ゲーム中に「各プレイヤーのブラウザ」と「ゲームマスターのブラウザ」間の通信を中継してくれています。

node.jsは、まだあまり安定していないとかメモリーリークがあるとかは聞いていたので、定期的にプロセス監視(node.js、ちゃんとサーバ上に居るかな?)を入れてたんですが、プロセスは存在しているのにサービスが動かなくなっていました(ちゃんとサーバ上にいるのに働いていない状態)

そこで、今は定期的なサービス監視(node.js、ちゃんと働いているかな?)を行うようにしました。
ですので、今後同様の問題が発生した場合は、発見が早くなると思います ( ー`дー´)

これからも「爆裂健ホームページ」と「ブラウザでワンナイト人狼」をよろしくお願いします。

ブラウザ爆弾ゲーム Bakuretu Bomb 公開

ブラウザで動作する萌え(?)爆弾ゲーム Bakuretu Bomb が完成したので、公開しました!

爆弾ゲーム Bakuretu Bomb

ブラウザ爆弾ゲーム Bakuretu Bomb

先日知人にネタフリされたやつですw

enchant.js が面白かったので、勉強を兼ねて作成しました。

詳細は 爆弾ゲーム Bakuretu Bomb を見てください。

私はイラストが描けない人なので、もしこれを使ってゲームを公開してくれる絵師の方がいらっしゃると、嬉しい限りです (・∀・)