Mindslaverに文句をたれてみる。(内容を打ち消し
2005年7月19日 SCENA仕様メモここ最近のマジックへの関わり方。
・6/30 CARDHAUSとKardKastleで買い物。
・7/10 買い物・かがり火見学
・7/15 イグニス店長のランデスデッキ(60枚)でタワー。
・7/14〜7/16 コモン1killシミュレーション
・*/* SCENA
.....ゼンゼンダメじゃん!!構築と対戦入ってないし!!!
ゴメン>池袋2CHD,AMC
■初めてです。
りみてっど研究室さま経由のアクセスを頂きました。
http://rimiken.com/
ダイアリーノート以外では初めてのマジック関係サイトからのリンクです。
■Kard Kastleキター!!
Kard Kastleに発注してたいくつかのカードをようやく受け取りました。
が、これを使ったデッキを組むのは当面先の予定orz
■SCENA
ここしばらく全く進んでません。
そもそもマジックしてないのでそっちが先だと思います。
---
ここしばらくで解決できた(ハズの)こと。
全部マナオブジェクト(*1)関係。
1)Mishra’s Workshop(用途限定マナ)のサポート方法。
マナプール表示/マナコストの支払いにフィルタを掛けるだけ。
具体的には UseFor プロパティを持たせる。
SELECT o.SID, o.OID, o.BNM, pv.VAL AS Qty, pu.VAL AS UseFor
FROM
T_OBJE o INNER JOIN
T_PROP pv ON o.BID = pv.OID LEFT OUTER JOIN
T_PROP pu ON pv.OID = pu.OID
WHERE
pv.PNM = ’Qty’
AND pu.PNM = ’UseFor’
SID, OID, BNM, Qty, UseFor
1,205,’W’,’0’,’-’
1,205,’U’,’0’,’-’
1,205,’B’,’0’,’-’
1,205,’R’,’0’,’-’
1,205,’G’,’2’,’-’
1,205,’0’,’0’,’-’
1,205,’0’,’3’,’Artifact’
たぶんこんな感じではないかと。
少なくともマナオブジェクトがたった6種類ってことは無い。
2)Boseiju (マナの支払いによって呪文・能力に影響を及ぼすマナ)のサポート方法。
「呪文または起動型能力のプレイ」ルールシナリオをいじるだけ。
バイバックなどの宣言(409.1b)と同じ方法でプレイ中に能力を付加。
※遊びたいので当面コーディングする予定なし。(ワーイw
---
ここしばらくで発生した問題。
1)マナバーンしないマナ(Upwelling、Shizuko)のサポート方法。
Shizukoはマナオブジェクトの効果期間(EFZ)を利用するのがよさげ。
「マナバーン」シナリオではマナバーンしないマナを見分けるが、
「マナバーンしないマナオブジェクト」はデフォルトで作成しない。
それらのカードが「デッキ/サイドボード」領域から
「ライブラリ/ゲーム外」領域へ移動する際に作成する。
一方、Upwellingはマナバーンのルールシナリオのトリガーを
利用しないとこれが場を離れたときの考慮がいるので酷い事になる。
※これも当面コーディングする予定なし。
---
やばいかもしれないもの。
ま い ん ど す れ い ば ぁ
目的が目的だけに意図的に無視してましたw
(マジックの完全なシミュレータを作るのが目的ではないので)
でもUIへの接続方法もそこそこ描いておかないと後でおかしくなる気がしてきたので少しだけ考察。
例)
Player1: Hrurr
Player2: AP (*2)
通常はAPのコントロールするカードの操作情報はAPの端末から発信されてくる。
ところがMindSlaverの解決中はAPの画面操作情報はHrurrが発信しAPは傍観のみ。
この間、Hrurrは自分のコントロールするカードとAPのコントロールする
カードの二つを操作しなければならない。
・・・・ということは。
こんな感じになればイイノカナ?とおもってみた。
これだとセッション内にいる人≠プレイヤーとは限らない扱いに
なっちゃう、とか、複数入力系統(ソリティアモード)と観戦モード
の実装といっしょじゃん、とか、ゲーム中の入力系統の切り替えあり、
とか、そんなことも考えなきゃいけない気がする。
・・・イヤダナァw
下のモデルだと問題があるので無しで
というわけで、イメージのみ掴んでみる。
[SCENA]
||・セッションオーナー = Rebecca
||・プレイヤー = (Hrurr,AP)
||・セッション参加者 = (Rebecca,Hrurr,AP,Netamakidoki,...n)
|
〜
(ここから下は作る気ありません)
〜
|
[SERVER_I/F]
|
〜
|
├[CLIENT_PC] 参加者ID=1,プレイヤーID=Null、観戦者RebeccaのPC
| ├[CLIENT_CONSOLE](ConID=101,PlayerID=1(Hrurr),観戦モード)
| :
| └[CLIENT_CONSOLE](ConID=102,PlayerID=2(AP),観戦モード)
|
├[CLIENT_PC]:参加者ID=2,プレイヤーID=1、プレイヤーHrurrのPC
| ├[CLIENT_CONSOLE](ConID=103,PlayerID=1(Hrurr),プレイヤーモード)
| :
| └[CLIENT_CONSOLE](ConID=104,PlayerID=2(AP),観戦モード)
|
├[CLIENT_PC]:参加者ID=3,プレイヤーID=2、プレイヤーAPのPC
| ├[CLIENT_CONSOLE](ConID=105,PlayerID=1(Hrurr),観戦モード)
| :
| └[CLIENT_CONSOLE](ConID=106,PlayerID=2(AP),プレイヤーモード)
|
├[CLIENT_PC] 参加者ID=4,プレイヤーID=Null、観戦者NetamakidokiのPC
| ├[CLIENT_CONSOLE](ConID=107,PlayerID=1(Hrurr),観戦モード)
| :
| └[CLIENT_CONSOLE](ConID=108,PlayerID=2(AP),観戦モード)
:
早いうちに解決しないと後まで問題を引きずりそうだけど。
とりあえず後回し!!(コラ
〜〜〜〜〜〜
*1:SCENAではマナもトークンも人も全部オブジェクト(SCENA Object)扱いです。
*2:この例はなぜかAPでないとダメだそうです。
・6/30 CARDHAUSとKardKastleで買い物。
・7/10 買い物・かがり火見学
・7/15 イグニス店長のランデスデッキ(60枚)でタワー。
・7/14〜7/16 コモン1killシミュレーション
・*/* SCENA
.....ゼンゼンダメじゃん!!構築と対戦入ってないし!!!
ゴメン>池袋2CHD,AMC
■初めてです。
りみてっど研究室さま経由のアクセスを頂きました。
http://rimiken.com/
ダイアリーノート以外では初めてのマジック関係サイトからのリンクです。
■Kard Kastleキター!!
Kard Kastleに発注してたいくつかのカードをようやく受け取りました。
が、これを使ったデッキを組むのは当面先の予定orz
■SCENA
ここしばらく全く進んでません。
そもそもマジックしてないのでそっちが先だと思います。
---
ここしばらくで解決できた(ハズの)こと。
全部マナオブジェクト(*1)関係。
1)Mishra’s Workshop(用途限定マナ)のサポート方法。
マナプール表示/マナコストの支払いにフィルタを掛けるだけ。
具体的には UseFor プロパティを持たせる。
SELECT o.SID, o.OID, o.BNM, pv.VAL AS Qty, pu.VAL AS UseFor
FROM
T_OBJE o INNER JOIN
T_PROP pv ON o.BID = pv.OID LEFT OUTER JOIN
T_PROP pu ON pv.OID = pu.OID
WHERE
pv.PNM = ’Qty’
AND pu.PNM = ’UseFor’
SID, OID, BNM, Qty, UseFor
1,205,’W’,’0’,’-’
1,205,’U’,’0’,’-’
1,205,’B’,’0’,’-’
1,205,’R’,’0’,’-’
1,205,’G’,’2’,’-’
1,205,’0’,’0’,’-’
1,205,’0’,’3’,’Artifact’
たぶんこんな感じではないかと。
少なくともマナオブジェクトがたった6種類ってことは無い。
2)Boseiju (マナの支払いによって呪文・能力に影響を及ぼすマナ)のサポート方法。
「呪文または起動型能力のプレイ」ルールシナリオをいじるだけ。
バイバックなどの宣言(409.1b)と同じ方法でプレイ中に能力を付加。
※遊びたいので当面コーディングする予定なし。(ワーイw
---
ここしばらくで発生した問題。
1)マナバーンしないマナ(Upwelling、Shizuko)のサポート方法。
Shizukoはマナオブジェクトの効果期間(EFZ)を利用するのがよさげ。
「マナバーン」シナリオではマナバーンしないマナを見分けるが、
「マナバーンしないマナオブジェクト」はデフォルトで作成しない。
それらのカードが「デッキ/サイドボード」領域から
「ライブラリ/ゲーム外」領域へ移動する際に作成する。
一方、Upwellingはマナバーンのルールシナリオのトリガーを
利用しないとこれが場を離れたときの考慮がいるので酷い事になる。
※これも当面コーディングする予定なし。
---
やばいかもしれないもの。
ま い ん ど す れ い ば ぁ
目的が目的だけに意図的に無視してましたw
(マジックの完全なシミュレータを作るのが目的ではないので)
でもUIへの接続方法もそこそこ描いておかないと後でおかしくなる気がしてきたので少しだけ考察。
例)
Player1: Hrurr
Player2: AP (*2)
通常はAPのコントロールするカードの操作情報はAPの端末から発信されてくる。
ところがMindSlaverの解決中はAPの画面操作情報はHrurrが発信しAPは傍観のみ。
この間、Hrurrは自分のコントロールするカードとAPのコントロールする
カードの二つを操作しなければならない。
・・・・ということは。
例)HrurrがMind Slaverを起動した直後のAPのターン
1.APのターン終了までの常在効果に「マナバーンしない」効果を追加。
2.Hrurrの端末の「APの画面」をプレイヤーモードに、
APの端末の「APの画面」を観戦モードに切り替え。
3.ターン開始。
4.APのターンが終了したら端末状態を元にもどす。
こんな感じになればイイノカナ?とおもってみた。
これだとセッション内にいる人≠プレイヤーとは限らない扱いに
なっちゃう、とか、複数入力系統(ソリティアモード)と観戦モード
の実装といっしょじゃん、とか、ゲーム中の入力系統の切り替えあり、
とか、そんなことも考えなきゃいけない気がする。
・・・イヤダナァw
下のモデルだと問題があるので無しで
というわけで、イメージのみ掴んでみる。
[SCENA]
||・セッションオーナー = Rebecca
||・プレイヤー = (Hrurr,AP)
||・セッション参加者 = (Rebecca,Hrurr,AP,Netamakidoki,...n)
|
〜
(ここから下は作る気ありません)
〜
|
[SERVER_I/F]
|
〜
|
├[CLIENT_PC] 参加者ID=1,プレイヤーID=Null、観戦者RebeccaのPC
| ├[CLIENT_CONSOLE](ConID=101,PlayerID=1(Hrurr),観戦モード)
| :
| └[CLIENT_CONSOLE](ConID=102,PlayerID=2(AP),観戦モード)
|
├[CLIENT_PC]:参加者ID=2,プレイヤーID=1、プレイヤーHrurrのPC
| ├[CLIENT_CONSOLE](ConID=103,PlayerID=1(Hrurr),プレイヤーモード)
| :
| └[CLIENT_CONSOLE](ConID=104,PlayerID=2(AP),観戦モード)
|
├[CLIENT_PC]:参加者ID=3,プレイヤーID=2、プレイヤーAPのPC
| ├[CLIENT_CONSOLE](ConID=105,PlayerID=1(Hrurr),観戦モード)
| :
| └[CLIENT_CONSOLE](ConID=106,PlayerID=2(AP),プレイヤーモード)
|
├[CLIENT_PC] 参加者ID=4,プレイヤーID=Null、観戦者NetamakidokiのPC
| ├[CLIENT_CONSOLE](ConID=107,PlayerID=1(Hrurr),観戦モード)
| :
| └[CLIENT_CONSOLE](ConID=108,PlayerID=2(AP),観戦モード)
:
早いうちに解決しないと後まで問題を引きずりそうだけど。
とりあえず後回し!!(コラ
〜〜〜〜〜〜
*1:SCENAではマナもトークンも人も全部オブジェクト(SCENA Object)扱いです。
*2:この例はなぜかAPでないとダメだそうです。