btoメモ

なんか適当に書く

パソナテック10周年記念イベントで登壇させていただくことになりました

パソナテックさんが10周年記念ということでイベントを開催するのですが、その一枠で登壇させていただくことになりました。

イベント&セミナー情報|PASONA TECH

参加される方は非エンジニアの方が多いということで、エンジニアならでは考え方をお伝えできればと思っています。

もしよろしかったらお越し下さい!!

放置ゲーというジャンル

最近少しブラウザゲーをいろいろ見ているんですが、放置ゲーというジャンルの存在を知りました。

放置ゲーとは

一日数回操作するだけで、あとは放置するタイプのゲームのこと。

放置しすぎると、当然ゲームはうまく進みません。

忙しくても遊べる

放置ゲーは一日数回アクセスするだけでいいので、忙しくても遊べるし、携帯とかで空き時間にちょっとした暇つぶしもできる。

リアルタイム性が必要ない

放置ゲーなので、リアルタイム性があるはずもなく、通常のWebアプリと同じ感覚で開発する事ができる。

放置ゲーの例

一時期流行ったMyMiniCityなんかが、放置ゲーのいい例でしょうか。

他にもいろいろ放置ゲーがあります。

とりあえず僕は、Travian, OGame, ガロアを試しています。

前の2つはボードゲーム王国ドイツの会社で、ボードゲームチックなにおいがプンプンしてます。

そういえば、人狼BBSとか放置ゲーですね。

携帯は放置ゲーと相性がいい

放置ゲーはブラウザゲームとしての親和性が非常に高いのですが、むしろ携帯向きなのではと感じています。

放置ゲーは「一日数回のアクセス」「毎日アクセス」「ある程度時間を空けてアクセス」という特徴がありますが、これってまさに携帯にぴったりです。

携帯の放置ゲーは調べてないので、よく分からないけど、既に誰かが作ってそうな気はする...

2008年上期未踏ユースブースト会議に行ってきた

いつも参加している未踏ユースのブースト会議に今回もOB枠で参加させてもらった。

ブースト会議の内容については、守秘義務があるので書けれないのだけれども、雰囲気だけでも伝えてみようと思います。

未踏ユースブースト会議とは

未踏ユースブースト会議は、未踏ユース採択者が一同にかいして、各自の採択内容を発表する場です。

未踏ユースOBが大量に押し寄せて、後輩に暖かい突っ込みをいれる場でもあります。

未踏ユースは縦と横のつながりが強い

初日の夜に親睦会を行うのが恒例になっていて、その場でOBが好き勝手なことをプレゼンします。

これがいい話の肴になって、その場にいる人の距離感が一気に縮まります。

未踏だと縦や横のつながりはそれほど多くはありませんが、未踏ユースはブースト会議のおかげて、縦と横のつながりがかなり強いものになってます。

ちょっとうらやましい面も

僕は未踏ユース第二期に採択されたのですが、その頃のブースト会議は今のような雰囲気ではありませんでした。

その影響か未踏ユース初期の採択者は横のつながりはあまり強くありません。

つながりが強くなってきたのは、2006年辺りから。

電通大、筑波大、東大竹内研あたりの学生の結束をみてるとちょっとうらやましく思うと同時に、この文化は頑張って続けて行かないといけないなとも思います。

今年の採択者はレベルが高い!!

今年の採択者は例年と比べてレベルが高い!!

それもそのはずで、今年は過去最高の応募数90件、採択18件で5倍の倍率を勝ち抜いてきた猛者たちなのですから。

これは、成果報告会も期待大です!!

未踏ユースに応募してみませんか?

未踏ユースが得られるものは数えきれないものがあります。

特に未踏ユースで出会った同士は、今後の人生にもかけがえのない影響を与える事は間違いないです。

25歳未満の若い方はぜひ未踏ユースに応募してみてください。

Railsをプロジェクト内に取り込む

Rails自体をプロジェクト内に取り込む

Railsはシステムワイドにインストールして使うのが一般的だと思いますが、インストールされてるRailsのバージョンを気にしたり、ある日突然バージョンアップによって動かなくなったりするのを気にしたりしたくないので、プロジェクト内にインストールして使うようにしてみました。

こうしておくと、rubyがインストールされたシステムであれば、チェックアウトするだけですぐに動かす事ができるようになります。

rubygems をインストールする

"$TOPDIR/vendor/gems" にインストールします。

ドキュメントは必要ないのでインストールしません。

ruby setup.rb --prefix=$TOPDIR/vendor/gems --no-rdoc --no-ri

インストールした gem コマンドは直接は実行しないのですが、いちおう shebang を /usr/bin/env 経由で実行するように書き換えます。

vim $TOPDIR/vendor/gems/bin/gem

#!/usr/bin/env ruby

gem コマンドのラッパーを $TOPDIR/bin/gem に作ります。

環境変数 "$GEM_HOME" で rubygems がインストールされたディレクトリを指定します。

ruby の "-I" オプションで rubygems のライブラリのディレクトリを指定します。

今後はこれを実行する。

mkdir $TOPDIR/bin

vim $TOPDIR/bin/gem

#!/bin/sh

BIN_DIR=$(cd $(dirname $0); pwd)

TOP_DIR=$(dirname $BIN_DIR)

VENDOR_DIR=$TOP_DIR/vendor

GEM_DIR=$VENDOR_DIR/gems

GEM_HOME=$GEM_DIR /usr/bin/env ruby -I $GEM_DIR/lib \

$GEM_DIR/bin/$(basename $0) $*

ついでに ruby コマンドのラッパーも作る。

vim $TOPDIR/bin/ruby

#!/bin/sh

BIN_DIR=$(cd $(dirname $0); pwd)

TOP_DIR=$(dirname $BIN_DIR)

VENDOR_DIR=$TOP_DIR/vendor

GEM_DIR=$VENDOR_DIR/gems

GEM_HOME=$GEM_DIR /usr/bin/env ruby -I $GEM_DIR/lib $*

Railsをインストール

$TOPDIR/bin/gem を使って Rails をインストールします。

ドキュメントは必要ないのでインストールしません。

ドキュメントは大量にできるので、コミットすると大変な事になります。

最初ドキュメント込みで svk 使ってたら死にました。orz

$TOPDIR/bin/gem install --env-shebang --no-rdoc --no-ri rails

rails, rake コマンドのラッパーを作る。

$TOPDIR/bin/gem を汎用的に作っているので、シンボリックリンクをはるだけでおk。

ln -s gem $TOPDIR/bin/rails

ln -s gem $TOPDIR/bin/rake

プロジェクト開始

$TOPDIR/bin/rails コマンドでプロジェクトを開始する。

$TOPDIR/bin/rails $TOPDIR

動作確認

$TOPDIR/bin/ruby $TOPDIR/script/server

動いた!!\(^o^)/

今回はWebrick経由なので問題なく動いたけど、fcgi経由とかだと dispatch.* 辺りを調整しないとダメなはず。

その辺はまたやる。

SoftwareDesign10月号の特集記事を執筆しました

SoftwareDesign10月号の特集「UNIXプログラミングツールをマスターせよ」の第二章を執筆させていただきました。

今回はGNU Autotoolsを中心としたUNIXソフトウェアのパッケージングツール周りについての特集になってます。

僕が書いたのはgccとか基本的なツールの使い方になります。

GNU Autotoolsはパッケージングツールとしてデファクトスタンダードになってるし、ソフトウェアをインストールする時は、かなりの確率でお世話になってる縁の下の力持ち的なツールです。

マスターして損な技術ではないので、一度勉強してみてはいかがでしょうか。

GNU Autotoolsについては、以前にウノウの社内勉強会でもやりました。

もしよかったらこちらも参考にしていただければと思います。

ウノウラボ Unoh Labs: Global standard programming with GNU Autotools

ボードゲームの可能性

最近佐々木さんが主催するボ会(ボードゲーム会)にかなり参加しています。

あまりに楽しすぎてはまってしまい、ボ会にとどまらず、ボ会有志で行われるミニボ会にも積極的に参加してます。

いろんなボードゲームで遊んでみて、ボードゲームにかなり可能性を感じてきたので、少しエントリにまとめてみる。

ドイツのボードゲーム

ボードゲームといっても、かなり多くの人は人生ゲームのようなすごろくを想像するのではないでしょうか。

あるいは知っててもせいぜいモノポリーとか。

ボードゲームは特にドイツが発達していて、すごろくのようなボードゲームとは全く異なります。

ドイツのボードゲームには、だいたい次のような特徴があります。

  • ルールが比較的簡単
  • 短時間で遊べる(1時間程度)
  • 多人数で遊べる(4〜6人)
  • 運と実力が適度に必要

すごろくのようなゲームだと、運の要素が限りなく高くて、実力がほとんど発揮されません。

逆に将棋のような戦略性だけのゲームだと実力の差が顕著に現れます。

ドイツのボードゲームは、運と実力のバランスが絶妙で、実力があっても負ける時は負けるし、初心者でも勝つ時は勝つゲームだと言えます。

ドイツのバードゲームの魅力は、初心者でも熟練者でも楽しめて、導入障壁の低さにあります。

Wikipediaでもカテゴリができてるくらいです(ドイツのボードゲーム)。

ブラウザオンラインゲームへの可能性

このような特徴を持ったボードゲームですが、僕はドイツのボードゲームの特性はブラウザオンラインゲームとの相性がとてもいいのではないかと考えています。

ルールが簡単

ルールが複雑になればなるほど、ユーザの参入障壁はあがります。

世のゲーム会社のようにお金をかけてマーケティング費用をかけられるなら別ですが、簡単に始めるならハードルは低い方がいい。

リアルタイム性が必要ない

オンラインゲームといえば、リアルタイム性が非常に重要視されますが、ボードゲームであればリアルタイム性はほとんど必要ありません。

自分達が普段から慣れている、Webプログラミングレベルでもゲームが作れる。

コミュニケーションが楽しめる

ボードゲームが楽しいのは、人と一緒に遊べるところ。

そのためコミュニケーションを楽しめる要素がふんだんに取り込まれている。

これもWebとの親和性が非常に高い。

多人数で遊べる

これもWebとの親和性が非常に高い。

初心者でも勝てる

どの世界にでも熟練者というものは存在します。

熟練者の人が常に勝ってしまうような仕組みでは、初心者がなかなかゲームに参加しづらくなってしまいます。

Webの世界では常に新しいユーザが現れて、彼らをいかに取り込むかが重要な要素になってきます。

初心者でも勝てて楽しめるものは、新しいユーザを取り込むには非常に都合いいです。

というわけで

なんか作ってみたいなーと漠然と考えています。