[Rumble-jp-dev] Re: 新システムについて

Back to archive index

Naoki Kurosawa naoki_kuros****@ybb*****
2003年 12月 16日 (火) 11:26:17 JST


黒澤です。

このメール10日前ぐらいに書きかけてたんですが、
新システムで使うライブラリ「Nimbus」のオープンソース化に
ちょっと時間を食いすぎました。
ちなみにNimbusのホームページは
http://nimbus.sourceforge.jp/
です。
サイトを作っているのは私なので、質問があればご遠慮なくどうぞ。
ていうか、疑問に思う点が出てくるほど内容がない…。すいません。


>   - 複数大会を実施できるシステムにする。
> というのが、今回の追加&変更の一つでしたね。
> ・通常リーグ
> ・冠大会
> ・プライベートリーグ
> ・プライベート大会(公開も可)
> 等を考えているものです。

> 黒澤さんは、どういう風な構想なんでしょう。
> 箇条書きでもいいので語ってください。

この部分を考えるということは、システム全体の集大成を考えるのと同じこと
なので、ちょうどいい時期ですね。

まず、
「プライベートリーグ」は「プライベート大会」と言い方を変えました。
英語日本語混じりなので、もっといい名前ありませんか?

では、構想。

■大会の種類
・通常大会
  定期的あるいは単発で行われる大会。
  ある大会から次の大会へいくつかのデータ(順位など)を引き継ぐこともできる。
  Rumble-JP主催あるいはスポンサー主催。
・プライベート大会
  一般ユーザが主催し、NRIが運営するRumble-JPサーバ上で作成・実行する
  ことができる大会。

※課題
・定期戦の「部」の問題

通常大会とプライベート大会がある、と書きましたが、
システム上では一つのテーブルに保持します。
で、大会のもつプロパティによって上にあるような区別が
可能になるようにしようと思っています。
なぜかというと、システム実装を簡単にするためです。

■要件
1.上記のような種類の大会を平行開催できるようにすること。
2.定期戦へロボットを自動参加させられるようにすること。
3.通常大会とプライベート大会とを表示上区別できるようにすること。
  通常大会は優先表示。トップページに最初から途中経過や結果などが表示され
  ているとか。
  プライベート大会は、大会を(ドロップダウンリストとかで)選択して表示。
4.各大会のバトルの実行
  分散サーバは自動的に通常大会のバトルを実行するが、
  プライベート大会に対しては分散サーバ側で明示的に指定しなければ
  実行されない。
  つまり、プライベート大会を作成したら自分で実行するかあるいは協力者を
  募ってその大会のバトルを実行しなければならない。
5.分散サーバの大会実行設定
  4番の「プライベート大会を明示的に指定して実行する」ための設定。
  分散サーバは、システム上で開催されている大会の内、
  どの大会にどれだけのCPUリソースを割り当てるか設定することができる。
  どの大会のバトルを実行するぞ、と指定できる。
  割合で指定でき、「通常大会」と「指定したプライベート大会」に対して
  CPUリソースを振り分けられる。
  ただし、通常大会を0%にすることはできない。最低10%
  →プライベート大会をやるのに共用のRumble-JPサーバを使う「利用料」
    みたいなもの。プライベート大会をやろうとすると「冠大会&定期戦」に
    も協力しなくてはならないというスキームを作ることで分散サーバを増やす
    のが目的。

※課題
> 賞品付の冠大会は、指定の分散サーバのみが実行できるようにする
> 必要がありますよね。対戦結果を改ざんされて送られると
> まずいですもんね。
やっぱこれ、考えなきゃダメですか?
どうにかして、そもそも不正データを送ることができないように
できませんかねぇ。


■システム上のユーザの種類
・未ログインのゲスト
・ログイン済み一般ユーザ
・通常大会管理者
・システム管理者
の4種類と思っています。
#Wikiには3種類と書いてますけど、変更。

※
ここはもうちょっと考えた方がいいかも。

■大会というデータの持つプロパティ
・オーナー
  その大会を作成したユーザ、またはシステム管理者
・大会区分
  通常大会かプライベート大会か
・一般公開の可否
  一般公開しないようにすると、その大会に参加している人でないと見れない
・一般参加の可否
  一般参加できないようにすると、オーナによる強制参加、または、
  オーナによって配布された参加キーがあるユーザしか参加できない。
・各ユーザのロボットの自動参加システムを利用するか否か
・前大会ID
  自動参加システムによって利用される。
  自動参加ONになっていると、ここで指定された前大会に出場したロボットは
  自動で参加する。

例
冠大会
  オーナー        :通常大会管理者
  大会区分        :通常大会
  一般公開        :あり
  一般参加        :可能
  自動参加システム:利用しない
  前大会ID        :(空)
定期戦
  オーナー        :通常大会管理者
  大会区分        :通常大会
  一般公開        :あり
  一般参加        :可能
  自動参加システム:利用する
  前大会ID        :前の定期戦のID
プライベート大会
  オーナー        :一般ユーザ
  大会区分        :プライベート
  一般公開        :(オーナーの設定しだい)
  一般参加        :(オーナーの設定しだい)
  自動参加システム:(オーナーの設定しだい)
  前大会ID        :(オーナーの設定しだい)

※
「オーナー」よりは「大会管理者」の方がいいかな?
通常大会だと誰が所有するというのではなく、スポンサーだったり
Rumble-JPコミュニティだったりしますしね。

とりあえず、こんな感じです。

-- 
Naoki Kurosawa <naoki_kuros****@ybb*****>
Sharpen up JAVA skills. - Robocode Rumble-JP Project -
http://rumble-jp.sourceforge.jp/    http://robocode.ddo.jp/rumblejp/





Rumble-jp-dev メーリングリストの案内
Back to archive index