Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2005-03-27

[日記]OSC2005 行ってきました

日本電子専門学校で行われたのですが、昔の職場の近所なのでとても懐かしい道を歩きました。

書ききれないほど盛りだくさんの収穫がありました。 Ruby の会の一員といて参加したのですが、お隣のブースが「なでしこ」でした。お隣なのでいろいろお話ができました。 「なでしこ」についてもあれこれ質問したらその場で実際のコードを書きながらの詳しい説明を聞かせて頂くことができました。

その後の懇親会でも「なでしこ」の作者の山本さんとお話する機会があり、 Jewel-mmo のことを話したら、基本思想にすごく興味を持っていただけてなんとなにかあれば手伝いますくらいのことも言ってくれた気がします。

会長の高橋さんと初めてたくさんお話できたりとか、ほかにもいろいろな方々と知り合うことができてとても楽しかったです。

2005-03-24

[るびま]キャラクター発注

例のアレに向けて方々にお願い中。

しかしこんな感じでオタクっぽい雰囲気を……と言ってみたら、本当にそう言う絵ができあがってきてビックリ。いや、そうお願いしたから当たり前なのだけど、自分のお願いがそのまま絵に反映されてくるので、軽はずみなことは言えないなというか。てゆーか責任重大?

余談。いままで仕事でもお任せ指向で、コンセプトとポリシーだけ伝えてあとはお好きなようにというやり方が多かった。

逆に細かいところが自分の好みに合うまで徹底的にリテイク出す人もいるけど、自分はああいうのはできない。デザイナーの方が自分よりデザインに関しては上のはず、と信頼してその人のやりやいようにやってもう。なんと言ってもそれが楽だし、好みの問題で衝突するのは辛いから。そのかわり人選には厳しいけど。

2005-03-23

[アイデア]クライアントも手抜き指向

ブラウザと WEBrick と JavaScript を使えば簡単にいろいろできそう。 Firefox のエクステンションもアリかも。

ブラウザベースだとデザイナと連携が取りやすいのも◎。

2005-03-21

[開発ログ]Active Record

Active Record は使いたい。

ここ最近まったく時間がとれなかったので実装は進んでいない。

2005-03-18

[日記]忙しくて何もしてない

仕事が忙しくて、いろいろやらなきゃいけないことをやってない気がする。

週末に片付けよう。

2005-03-13

[栽培日誌]3 月

画像の説明 大根、白菜、ブロッコリー、菜の花、チンゲンサイ収穫。

去年はまったく取れなかった大根が、今シーズンは立派でおいしいものが十数本とれた。

2005-03-12

[日記]Wiki ばな行ってきました

楽しかったです。

人狼 BBS のにんじんさんにも直接お話を聞くことができました。

いろんな方々とお話しすることができました。雰囲気もとてもよかったです。お疲れ様でした。

2005-03-11

[アイデンティティ][るびま]デザイン作成難航

自分が直接作るわけでなくて、お願いして作ってもらおうとしているのだが、なかなかうまくいかない。

反省点を考えているうちに、いくつかの点に気づいた。

ゲーム制作での、自分の基本的な考えのひとつに次のようなものがある。 進捗を聞かれたとき、作業が予定通り進んでいないときの言い訳に「仕様をもらってなかったから。もしくは、絵のデータをもらってなかったから」と言うのはダメ。作業が自分以外の原因で進められなくなったら、それを改善すべく自分からアクションしなければならない。仕事のできる人というのは自分から能動的に行動を起こして、作品の創造に貢献できる人。

てな具合に考えていたのだが、これは開発者が金銭的な利害関係といいものを作るという共通の意志の元に仕事をしている場合に成り立っていたときの話にすぎない。

オープンソースの開発を見ていると、どうもこういう体制とは違うようだ。

自分はほとんど経験したことがないが同人活動もきっと違うのだろう。きっとそれぞれにモチベーションを支える何かがあるはず。

この辺の考え方とか前提がいまいちずれていたような気がする。まあ何にしてもコミュニケーション不足。もっと自分の考えをまとめて、そしてそれを伝えないと。

2005-03-11

[パソコン]mixi 挑戦中

がんばってアクション中。やや活性化してきた感じ。 しかしあまり得意じゃないな。

まだ入ってない知り合いの方はメールください。

2005-03-07

[パソコン]自宅サーバー落ちる

原因を調べたら、子供がサーバーを接続している電源タップのスイッチをカチカチいわせてたらしい。

仕事の CVS までこのサーバーに入れているので、これに繋がらないとあらゆる作業が止まってしまう。万が一これが壊れると大変なことに。

と言うわけでレンタルサーバーの方に CVS リポジトリをバックアップ中。

これとは別の話だけど、長男は人のノート PC の上で電車を走らせるのが好きで、やめさせようとするとすごく機嫌が悪くなる。キーを押されたり、傷が付いたりするので嫌だったが、こんなことでしかるのもアレなので最近はもう諦めた。

しかし、こんな危険な環境にあるサーバーで運営されているゲームとかウェブっていったい……。ご迷惑をおかけしました。

2005-03-07

w3m からの書き込みテスト

どうかな。

--

おぉ。うまくいっている模様。 vi に慣れてきたら Firefox のテキストエリアが激しく使いにくく感じられて、こっちの方がいいかも。

テキストエリアの編集を vim にできればいいのだけど。 vim の起動まではできたが、テキストエリアの編集になってないんだよな。

2005-03-06

[開発ログ]net/http でクッキーが使えない

CGI セッションで作ったセッション管理を使いまわそうと思ったら、 net/http にクッキーを使う機能がなかった。

機能追加が青木さんの ToDo の二番目に書いてあったので、バージョンアップに期待して、その辺を保留しつつ作業を進めることにする。

--

<URL:http://i.loveruby.net/d/20050306.html#p01>

net/http 動きがある模様。楽しみ。

2005-03-05

[開発ログ]mmo の実装開始

ようやくネットワークの実装方針を決めた。いくつものプロセスが絡み合うので大変だった。 http, irc, dRuby を使う。

徐々にそれっぽいコードをテストを兼ねて書き出した。 CGI とか yaml とかを試している。

テストファーストのテストを書きたいのだけど、よくわからない。 とくにデータベースが絡むと。 テストと利ファクタリングというものを勉強したい。

Active Record を使う予定。

セッション管理作らないと。

--

さしあたって、NPCとの会話と攻撃を作ってみたい。移動はあとで。

2005-03-05

[日記]フットサル第二回

昨日の仕事帰りに行ってきました。

楽しかったです。

日ごろの鍛錬の甲斐があって、スタミナは飛躍的に向上してます。 2 時間出ずっぱりでも大丈夫でした。

一対一をもう少し強くしたいです。といってもドリブルでの突破力をアップさせたいのではなく、敵に迫られたときの冷静さを身に着けたいのが狙いです。 プレッシャーをかけられるととたんに回りが見えなくなり、パスの正確さが著しく低下するので、間合いの感覚というかその辺を鍛えたいです。

あと、とっさの敏捷性がほしいです。ちょっとしたボールの取り合いのときに、体が動かないということがままありました。もっとすばやく動けるとかなり有利な気がします。

次回の一ヵ月後に向けて練習していきたいと思います。

2005-03-04

[生活]腹痛

昨日の夜 10 時から今朝にかけて。寝苦しかったが我慢できないほどではなかった。朝 7 時にはだいぶおさまった。

3 日前の火曜日の夜にラーメンをすりおろしニンニク一杯を食べたが、これは関係ないと思う。

2005-03-02

[プログラミング]RC メモ

AAA = 1

buf = [5,4,2,1]
a = AAA
b = a
a = 2
if a == b
end

i = 0
while i < buf.size
  c = buf[i]
  if buf[i] > 3
    buf[i] *= 2
  end
  i += 1
end

ASM::R_NUM = a
ASM_DW::R_COUNT = ASM_DEF::MAX

=begin asm
XOR  A
LD   C,A
=end

1 バイトと 2 バイト変数とどうやって区別するか。

--

もう少し考えてみた。正負の区別も難しい。

Aaa = 1

wordValue = 32767
uwordValue = unsigned 65535
byte_value = 127
ubyte_value = unsigned
ubyte_value = byte_value
ubyte_value2 = unsigned byte_value

buf = [5,4,2,1]
a = Aaa
b = a
a = 2
if a == b
end

i = 0
while i < buf.size
  c = buf[i]
  if buf[i] > 3
    buf[i] *= 2
  end
  i += 1
end

ASM_DB::R_NUM = a
ASM_DW::R_COUNT = ASM_DEF::MAX
ASM_REG::B = 0x0f
ASM::AND B

=begin asm
XOR  A
LD   C,A
=end

C だと

char c = 0;
int i;
i = c;

となるところが、 Ruby だと i のもともとの型が代入でなくなってしまう。 Ruby の処理系でも走らせたいことを考えると悩ましい。

2005-03-01

[アイデア]ゲームデザインのメモ書き

  • 3段階のゲーム進行
    • ステージ1……人形集め
      • 最小は一人のキャラを育てる。徐々にパーツを集めて増やしていく
      • 3wで7割集まる。9→10割にレアアイテムの取得で多量の労力をかけられる。
    • ステージ2……単純な強化
      • 5〜10w から
      • パワー重視。確かに強い。しかし、これではレアアイテムを蓄積できない
      • 初心者でもドラゴン退治可。倒すとステージ3へ
    • ステージ3……終わりなきプレイスタイルの追求
      • レアアイテムのドロップ率を 0.01% → 1% に上昇させることも可能
      • 弱いパーツにはプラス属性がある。逆に強いパーツはその辺の力を使って強化されている
  • アイテムのパラメータ定義、ドロップ率などは非公開。配布なし
  • ダメージを%表記
  • アイテムの蓄積。シレンのそれ
  • むらさまで自動化を防ぐ
  • カードはスタンド。別体として攻撃してくれる
    • カードごとに基本パラメータとものによっては特殊能力あり
  • 人形の大切な記憶。体は滅んでも記憶は残る
    • 例えば生まれてからの日にち
  • カードにモチベーション(調子)。勝つとあがる。4段階0,1,2,3。3になると勝手に練習するOR試合後にキラーン(覚醒)……イマイチ
  • 村様もコマンド化。ソート、コマンド、買う、売る、ビュー、ステータス
  • ワールドは広い。移動は何日もかかる。村様の同グループメンバーでも会えなかったり
  • 移動コマンドは移動先を登録。位置は式として記録される。