[アイデア]パーティと戦闘の作戦
ユーザー間のコミュニケーションをうまくとることでゲームを有利に進めることができるようにしなければならない。人間同士のコミュニケーションは難しいのでこれだけで奥が深く飽きさせないゲームになる。ソロで遊べちゃうゲームなんてMMOのプレー時間の長さからすればすぐに飽きられる。
- パーティ共有のMP(パーティポイント)的なものを用意する
- 強力な技を発動できるが使いどころが難しい
- レベルアップは町の宿屋
- 経験値は次のレベルまでに必要な値までしかストックできないので適度に町に帰らなければならない
- MP(魔法の使用回数)は冒険中は回復しない。宿屋で回復なので計画的に
- MPを回復させるスペルカードもあるがたいへんレア
- レアなスペルカード(魔法のスクロール)を使うタイミングと報酬
- パーティ編成。前衛と後衛の数合わせ
ひとりのプレイヤーが最大7体のキャラクターを所有し、6人くらいのプレイヤーでパーティを組むとキャラが多すぎて戦術が大味になりそうな件について。
- SAは成熟しないと使い物にならない。ある境界を超えると覚醒するとか。ので2〜4体を出す感じ
- ターゲットを攻撃するだけの前衛は操作が不要なのでSAで前衛の頭数を稼ぎ、戦略的な操作はPCやPAで、という方向性
- 魔法やアビのアクションは使用回数制限が厳しいので頻繁に使うものではない。人数の多さを考慮したバランス取り
[アイデア]アイテム、装備、ダメージ計算、アクセサリとか
戦闘システムだけはリアルタイム性が強くインターフェースに大きく依存するので机上だけではなかなか決まらない。ということに気づいた。
FF11のようなMMO的戦闘システムならチャットだけでも近いものが表現できる。それとは別に前々からWebに適した戦闘システムを作りたいと悩んでいる。さらにチャットベース(即時的)とWebベース(静的)の戦闘システムを組み込むとして、それをどうやって同共存させるかが難しい。インターフェースが絡む戦闘システムの仕様を曖昧にしたまま作りはじめてしまっていることが、開発の進まない原因だと気づいた。ここをよく考えよう。ふたつの戦闘システムを組み込むということが欲張りすぎているようにも思うので、自分が望むものは本質的に何かということを見極めないと。
- 装備
- 装備できるアイテムは武器系をひとつ、汎用系をひとつのふたつ
- アイテムは装備したらはずせない
- 人形の消滅と同時にアイテムも消滅する
- ただしアイテムを消滅させない効果を持つアクセサリがある
- 武器の効果
- 攻撃基本パラメータの設定
- 2d6+1
- at:5
- ac:5
- hp:20
- ダメージ計算
- 命中判定
- a = attacker ; t = target
- 1d(20 + a.lv / 3) + (a.str + a.at) - (t.str + t.ac) > 10
- ねらい
- lv:1 ac:2 at:1 => 1d20 > 11 = 10 - (1 - 2)
- lv:15 ac:10 at:5 => 1d25 > 15 = 10 - (5 - 10)
- 高レベルでは str の差が大きくなるのでダイスの分母を大きくする
- ac は ac の2倍が基準
- 高レベルでは攻撃回数が増えるが命中率は比較的下がる
- トップ・前衛の通常攻撃
- ターゲットは100%トップ
- 遠隔攻撃
- 前衛・後衛どちらからでも攻撃力は同じ
- ゆえに前衛は威力の弱い遠隔武器を装備するメリットはない
- 後衛へのターゲッティング率
- a = トップ + 前衛の人数 - 後衛の人数
- -4: 64%
- -3: 32%
- -2: 16%
- -1: 8%
- 0: 4%
- 1: 2%
- 2: 1%
- 3: 0%
- 前衛・後衛どちらからでも攻撃力は同じ
- 命中判定
- 魔法
- スリープ
- ダメージ計算
- 魔法攻撃力 + a.mag - t.mag
- 属性
- 風→土→水→火→風
- ゴーストの属性によってダメージ1.2倍
- 攻撃魔法(風)……範囲攻撃
- 攻撃魔法(土)……中ダメージ
- 攻撃魔法(水)……弱ダメージ。火属性キラー
- 攻撃魔法(火)……強ダメージ
- 魔法のダメージ計算
- 攻撃者.Str - ターゲット.Str
- 悪魔の契約スクロール(悪魔の契約書・取引)
- かなりはちゃめちゃな能力が身につく
- 人形の寿命が尽きるまでのステタース変化
- 使った瞬間に寿命が半分になる
- or 魔力が0になる
- 悪魔と二つ目の取引を行うと恐ろしいことが起こる
- 寿命が1になる
- or Str が0にな
- 効果
- 不死
- アクセサリ
- アクセサリは free ghost の時だけ脱着が可能
- アクセサリの効果
- 装備品を消さない
- 成長力アップ
- 老化防止
- 能力値アップ……上限を超えるのが利点
- HPアップ
- MPアップ
日本語文の中に混在する英単語の前後に「いわゆる半角スペース」を入れるのはバッドノウハウなので、それを自覚して使う方が良い
http://www.otsune.com/diary/2006/06/21/1.html#200606211
確かに自覚してなかったけど。
[Ruby]./configure が失敗していた件
自分のツッコミがスパム判定されて書き込めない(涙)のでこっちのも書いておく。
onfig.logに以下のログを発見。
/usr/bin/ld: crt1.o: No such file: No such file or directory
ぐぐっって http://www.machu.jp/diary/20050414.html#p01 を見つける。 libc6-dev を入れて解決。
apt-get install libc6-dev
[Rails]楽々ERDレッスン
http://d.hatena.ne.jp/moro/20060619/1150668791
最近書籍は買わないようにしているのだが必読らしいので注文した。
DB素人な(Webもだけど)オレの弱点を埋めてくれる一冊じゃないだろうかと期待。
日本 Ruby カンファレンス 2006終了。
終わりました。終わった瞬間は感動でぐっと来ました。 疲労のせいか刺激が多すぎたせいか今日はずっとあたまがぼーっとしてます。書きたいことがいっぱいあったのだけど、何から書けばいのやら。
- 前夜祭で隣に座っている知らない方がなんと大林さんでした!ラッキー。というわけで例のお話をしてみた……。いきなり今回の最大の目標を達成
- DHHと直接話したよ。何語でもいいから相手の目を見て声を出す。相手の顔をじっと見ながら話を聞く。それだけ気をつけた
- うささんの名前の由来、なんか以前にも同じ事を訪ねた気がしてきました
- 名札が好評で良かった。最低限の仕事は無事にまっとうできた
- rucilaさんが声をかけてくれた!
- 打ち上げのノリ。Ruby関係では知っている限り最大の盛り上がりで楽しかった
- そうそう、たかはしさんはそろそろあっち方面に力を入れるらしい!
- ささださんがファンらしき女性に写真を頼まれているのを目撃!
- オレは名札だけだったけど、他の実行委員はとってもて多くの仕事をこなしてました。微力ながら参加できて本当に良かったです
- いろんな意味でたくさんの収穫がありました
※アンケートにご協力ください。
名前の話
http://rucila.s43.xrea.com/memo/?date=20060605#p01
そろそろ本名そのものをトップページとかプロフィール欄に入れたいなと思いつつ、今はまだ無理なのでタイミングを探している所。その流れで今回ふつけるに掲載して頂くレビュアー名を本名でお願いした。
まあだんというのは本名なので、呼ばれて恥ずかしいことも違和感もないし割とユニークで大変気に入っている名前なんだけど、唯一のネックは既にKogai氏という強力なキャラクターが存在するところか。
[Ruby]Nadokaさんでinviteしたい
Nadokaさんのbotで任意のユーザーを任意のチャンネルに招待する処理を書きたくなった。IRCコマンドに次のように使うinviteコマンドがある。
/invite <nickname> <channel name>
Nadokaさんでinviteメソッドかなにか用意されていないかなと思ってソースをgrepすると何も引っかからない。
bot.rbを見てみるとこんな感じでIRCコマンドを実行しているようだ。
send_msg Cmd.nick(nick)
しかしそれっぽいキーワードでgrepしてもメソッド定義が見つからない。Cのほうからやってきた身としては、メソッドはソースのどこかにちゃんと記述されているものだと思いこみがち。昔の自分ならこのへんでくじけているところだ。最近はその限りでないことを知っている。というわけでソースをもう少し見てみる。Cmdをgrepするとこんなものを発見。
Cmd = ::RICE::Command
ふむ。RICEのほうを見てみる。おぉ。
Commands = {} %w(PASS NICK USER OPER MODE SERVICE QUIT SQUIT JOIN PART TOPIC NAMES LIST INVITE KICK PRIVMSG NOTICE MOTD LUSERS VERSION STATS LINKS TIME CONNECT TRACE ADMIN INFO SERVLIST SQUERY WHO WHOIS WHOWAS KILL PING PONG ERROR AWAY REHASH DIE RESTART SUMMON USERS WALLOPS USERHOST ISON ).each do |cmd| self.regist_command cmd end
なるほど。regist_commandの中でevalしているのだ。これじゃあinviteメソッド定義を探しても見つからないわけだ。カラクリはわかったのでbotに以下のメソッドを追加して無事目標達成。
def invite nick, ch send_msg Cmd.invite(nick, ch) end
きっとこれが「ルーク、ソースを使え」ってやつだね。
[アイデア]RPG on IRC
仕様を考えてみよう。その前にアイデアの列挙か。
- bot である
- バトルbot, データbot, エリアbot, ショップbot と分ける?
- エリアはチャンネル
- Partyチャンネルでパーティメンバーを表現
- 敵(NPC)もいちユーザーとしてIRCにログインしてくれるといいけどbotじゃ無理だよなあ……
- botの招待でクライアントのチャンネルを移動させたいけど……方法が浮かばない
- ゲームデータはbotが全部持ってるわけだよな
- ユーザー登録とか認証かと面倒だからもう単にニックネームでいいだろうか
- つまりニックネームで find_or_create_by_nick か
- いやのっとられるよ
- Jewel-mmo的には1プレイヤーが複数キャラを所有してパーティ編成だけどMMO的には1プレイヤーに対して1プレイヤーなわけでこのあたりチャットインターフェースでどうするのがいいか
[アイデア]ムラサマとRPG
いまの隊列をWeb上で操作する戦闘システムがどうも気に入らない。もっとWebっぽくできないものか。という思いがあってここ数日戦闘システムをいろいろ考えている。
- IRC上でNadokaさん使ってRPG
- 考えたんだけどRPGとして作りたいものってWIZっぽい簡単なものなんだよね
- だったらテキストのみインターフェースでもいいじゃん
- 自然とネットワーク対応になるし
- ムラサマを2人対戦で5試合連続とかどうか
- 当然ケータイ対応ね
- で、結局ムラサマとRPGをどう両立させるか、またはどう切り離すか
- どうもごっちゃになってしまう
- 結局はRPG。とにかくRPGというのが本質
- だけども錬金術とか吟遊詩人システムとか戦闘以外のゲーム要素も必要なわけでそのひとつとしてムラサマはありだろう
- Ruby/SDLのノウハウが蓄積されつつあるのでGUIクライアントもありになってきた
日本 Ruby カンファレンス 2006
実は実行委員に名前を連ねています。というわけでもちろんスタッフとして両日ともに参加します。主な担当は名札の準備です。デザインは「YUNA Design」さんにつくっていただいたので、ケースを手配してあとはひたすら印刷する仕事です。
一般参加者以外のあらかじめ名前のわかっている方の名札には名前も印刷されます。それも高橋メソッドの名前です!お楽しみに!
私は「だん」という名札を下げているはずなので、みかけたら是非お声をおかけください。
[Bilbo]spamフィルター実装案
spam?メソッドを自分で書けるようにすればいいのだろうか。
def spam? entry return true if default_filter.spam?(entry) entry.body =~ /href/i end if __FILE__ == $0 require 'test/unit' class SpamFilterTest < Test::Unit::TestCase def test_spam? entry = Entry.new(:body => 'aaa') assert !spam?(entry) entry = Entry.new(:body => '<a href=...') assert spam?(entry) end end end
さくらインターネットでSubversion(2)
http://saikyoline.jp/weblog/archives/2005/10/subversion_2.html
既にさくらのサーバーにSubversionはインストールしていた(過去に自分で入れた)ので、サーバーにリポジトリを作って(サーバー側のパスは通してある) Cygwin から svn+ssh とやらでアクセスしてみる。
普通に使えるじゃん!知らなかった……。