レゴキチ/ゴースト同士でじゃんけん
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*もくじ [#lffe8f3f]
#contents
*じゃんけん? [#l41ed0b6]
#ref(http://www5.pf-x.net/~legokichi/cgi-bin/tool/index.c...
こんな感じ。~
何人とでもじゃんけんが出来ます。
※まだ仕様が定まってないのでゴーストへの実装は実験目的での...
**経緯 [#q141c474]
「うにゅう@もどき」台本トーク(仮)やりませんか!~
http://nar.jpn.org/test/read.cgi/unyu/1096293147/~
↓~
さとーのweb日記~
http://d.hatena.ne.jp/satos/searchdiary?word=%a4%b8%a4%e3...
↓~
Ver.0.xを作るも技術が足らず挫折~
↓~
[[SSP/仕様書/コミュニケート複数送信拡張]]~
|~
1年半後~
↓~
うかべん 大阪#2 NOBさんの講演~
http://study.nanican.net/2007/1124/~
↓~
Ver.1.x
*テンプレートVer4.x [#f871c6ae]
\0に加え\1やユーザも参加するタイプ。
-利点
--他に起動ゴーストが居なくても可能
--初めてユーザが参加できる
-難点
--タイミング調節とかどうよ?
---3.x系の拡張なら可能→審判が必要な為、どちらにせよ複...
**元ネタ [#w044db3c]
-0.x以前に作った過去の遺物
**実装案 [#i9716543]
-3.xの審判が最初に各ゴーストの手を集計するときに\0、\1お...
**Ver4.0 [#fea94808]
-Ver3.3のサーバにユーザが命令を与える形式。
--Ver3.3までは\![raiseother]複数送信に関するバグが...
-サーバ側
--ユーザ入力辞書
---[[dic_janken_user.txt:http://home.384.jp/evidence/jank...
--サーバ用辞書
---[[dic_janken_server.txt:http://home.384.jp/evidence/ja...
--クライアント用辞書(クライアント側の辞書と若干異なりま...
---[[dic_janken_client.txt:http://home.384.jp/evidence/ja...
-クライアント側
--クライアント用辞書(Ver3.2から互換を維持)
---[[dic_janken_client.txt:http://home.384.jp/evidence/ja...
***サンプルゴースト [#pd15a9fe]
-zipの中にnarが3つ入っています。
--[[JankenSample_4_0.zip:http://home.384.jp/evidence/ghos...
---2008/09/25 新規作成/里々Mc143-12(乱数初期化改良)
**Ver4.1 [#abbd35c1]
-ゲームを統括するゴーストとサーバの役割を果たすプラグイン...
--内部辞書は里々をSAORIとして使用しています。
-クライアント側はプラグインにアクセスするように改造。以前...
***仕様 [#f76eb15a]
-サーバPLUGINのreadmeにまとめてあります。
--[[readme.txt:http://home.384.jp/evidence/update/jankens...
***サンプルゴースト [#pe724d9f]
-zipの中にnarが5つ入っています。(ゲームマスターGHOST1...
--[[JankenSample_4_1.zip:http://home.384.jp/evidence/ghos...
---2008/09/27 新規作成
---2008/09/28 プラグインを実行したGhostへの通知イベント名...
プラグインにアクセスするイベント名もOnJankenに統一~
あいこの時、ゲームマスターゴーストに通知し、処理を中断す...
イベント通知で勝った手と全員の出した手別リストを通知
---2008/09/29 仕様確定~
ドキュメント整理
***他に検討すること [#s952620e]
-仕様としてはこれで確定でいいと思う。
-ゲームマスターゴーストのテンプレートも可能な限り簡単にし...
-あとはユーザを参加させる場合どうするか。
--クライアントを改造してユーザ入力を受け付けるようにする?
-ゲームに応用する場合はどうしよう。
--追加パラメータを送受信しないといけない場合は複雑極まり...
---でもできればサンプルを1つくらい用意したいところ。
---クライアントは3体くらい。里々、YAYA、華和梨。
*テンプレートVer3.x[#r0c4e0d6]
公正な審判を1人おいてクライアントの動作を制御するタイプ。
**元ネタ「にこらとてすらの拍手レス」 [#p9d22a97]
「じゃんけんテンプレートの新仕様案」~
http://home.384.jp/evidence/log2007.html#071129
-サーバ自身はじゃんけんをしない。審判に徹する。
+サーバで最初にクライアントの各種セリフとじゃんけんの手を...
+勝敗が決する。(サーバが頑張って計算する)
+結果をクライアントに通知。最初に集めた該当するセリフを順...
**実装案 [#cab61593]
-1.xの応用?サーバとクライアントを明確に分けてしまえばい...
-だめだ!里々の変数管理が難しすぎて今の俺では作れない!
**3.0 [#f55d606d]
http://home.384.jp/evidence/log2007.html#071206~
-利点
--変数やセリフの送受信に既存のシステムを利用。
--規格の統一・氾濫の防止。じゃんけん以外のミニゲーム等へ...
-欠点
--サーバ側が大変。
--じゃんけんだけならもっと簡単にできる↓
**仕様を大幅に変更する案 [#t441c6fd]
「ゴースト同士でじゃんけん」テンプレート Ver3.1案~
サーバ用~
http://www5.pf-x.net/~legokichi/nar/dicJanken3.1.txt~
クライアント用~
http://www5.pf-x.net/~legokichi/nar/dicJanken3.1c.txt~
-台本や大根2の使用を断念
--ネガティブな理由
---変数が多くて処理が大変。
--ポジティブな理由
---処理が軽くなった。
---クライアント側は大根台本関係なく辞書を入れるだけでOK。...
***独自イベント [#zd5958d9]
クライアント側~
-OnJanken
--OnComunicateの代わり
--Reference0: 送信元
--Reference1: Janken3.1
--Reference2: セリフ_○○
---(セリフ_○○)を呼び出して喋る。
-OnRequestJanken
--OnRequestValueの代わり
--Reference0: 送信元
--Reference1: Janken3.1
---サーバからの手を返す指示。
サーバ側~
-OnGetJanken
--OnGetValueの代わり
--Reference0: 送信元
--Reference1: Janken3.1
--Reference2: 1~3の手
---クライアントの手が返って来る。
**Ver3.2 [#o41dc6b8]
-ゲームに使用するイベント名をOnJankenの1つに統一してみる...
--[[マギルトリエ - バーチャルバトルの仕様:http://lre.s165...
-OnJanken
--Reference0 : バージョン 例:"Version=Janken/3.2"
--Reference1 : 送信元 例:"From=JankenSample...
--Reference2 : Jankenイベント名 例:"Event=OnTurn"
---Reference2以降はVer3.1の仕様に準ずる。
***サンプルゴースト [#tfe30062]
-zipの中にnarが3つ入っています。
--[[JankenSample_3_2.zip:http://home.384.jp/evidence/ghos...
---2008/09/23 新規作成
---2008/09/24 関数・変数の接頭辞など厳格に統一、その他リ...
**Ver3.3 [#f436e552]
-サーバ自身もゲームに参加するタイプ。
--Ver3.2のクライアント用辞書をサーバに持たせただけ...
--サーバは改造すれば勿論イカサマし放題。
***サンプルゴースト [#pd15a9fe]
-zipの中にnarが3つ入っています。
--[[JankenSample_3_3.zip:http://home.384.jp/evidence/ghos...
---2008/09/24 新規作成
***展望 [#qf4007c0]
-サーバがユーザの入力を受け付けることでユーザとゴーストの...
--Ver4.xへの布石。
*テンプレートVer2.x [#yf1a2bf8]
サーバが存在しない、人間のじゃんけんに一番近いタイプ。
**オリジナル [#ua48faf9]
「ゴースト同士でじゃんけん」テンプレート Ver2.0~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.0.txt
-たまに誰かの掛け声が1秒遅れる(ぇ
**「にこらとてすらの拍手レス」にての改善バージョン [#qe15...
「ゴースト同士でじゃんけん」テンプレート Ver.2.0...
http://home.384.jp/evidence/log2007.html#071123
-たまに表示が1秒遅れる点を改善(したつもり)
**さらに改造 [#b6ded2e2]
「ゴースト同士でじゃんけん」テンプレート Ver2.0.2~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.02.txt
-Donさんの2.0.1をさらに少しいじったもの。
--2.0.1との互換性なし
--「ポン」の後、応答なしの場合に喋るようにした。
--終了判定にエラー表示を入れた
--じゃんけん勝敗判定と手関数の改良
--\![raiseother]で送信するとき(R0)に名前、(R1)に...
**さらに改造 [#b6ded2e2]
「ゴースト同士でじゃんけん」テンプレート Ver2.1~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.1.txt
-2.0.2との互換性なし
-\![raiseother]で送信するイベント名をOnJanken~にした。
-これでもかと言わんばかりに誤爆回避。
-テンプレートの充実(ラベル名どうにかしてorz
**さらに改造 [#b6ded2e2]
「ゴースト同士でじゃんけん」テンプレート Ver2.1.2~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.12.txt
-デバッグとトークの追加。
**仕組み [#e7bb7d08]
2.1時の概略。
サーバ側 クライアント側
┌→*ユーザにじゃんけんを開始しろと命令されたが今はじ...
├→*起動しているゴーストが自分だけだった時
| ┌→*じゃんけんに参加しない...
*じゃんけん開始―全送信→*OnJankenReceive――全送信――→...
|┗完全初期化 │┗完全初期化
| │
↓3秒間応答なし │
*じゃんけんが出来るゴーストがいなかった時
┗完全初期化 │
│
┌――――――――――――┘
|イベント実行
↓※以下サーバとクライアントは同じ動作
*OnJankenTimeSet←―――――――――――――…他のゴースト
|
↓2秒
*「最初はグー」
|
↓2秒
*「じゃんけん」
|
↓2秒
┌→*「ポン」――――――全送信―――――→…他のゴースト
| ||┗自分の手の決定 ┗自分の名前と手含む ¦
| |↓3秒間応答なし ¦
| |*じゃんけん音信不通 ¦
| ↓相手の手が規格外 *OnJankenWait←…他のゴースト
| *じゃんけん強制終了 | ┗相手の名前と手含む
| ┌―――――――――――┘
| ↓2秒
| *終了判定
| |↓勝敗が決した
| |*「勝った」or「負けた」
| | ┣完全初期化
| | ┗プログラム終了
| |
| ↓あいこの場合
| *「あいこで」
| |┗初期化
| |2秒
└―┘
**他の栞での実装 [#obeee8fb]
よくわからないorz
*テンプレートVer1.x [#rf38a395]
サーバと同期して勝敗判定だけ各自で行うタイプ。
-1.0よりも1.01の方が良いです。
-1.xと2.xの互換性はありません。
-1.xの方が重くて非効率的。でもちゃんと動く。
-2.xの方が軽くてスマート。でもたまにサーバが1秒遅れる。
-2.xはコミュを使ってないので大根非対応のゴーストにも使用...
**オリジナル [#o80cccc7]
「ゴースト同士でじゃんけん」テンプレート Ver1.0 ...
http://www5.pf-x.net/~legokichi/nar/dicJanken1.0.txt
-大根コミュを使用しています。
-大根コミュを既に搭載しているゴーストはこのテンプレート内...
-「*じゃんけん開始」を呼び出せば後は勝手に動きます。
**「にこらとてすらの拍手レス」にての改善バージョン [#ma43...
「ゴースト同士でじゃんけん」テンプレート Ver.1.0...
http://home.384.jp/evidence/nar/log2007.html#071122
Donさんに感謝。
-大根コミュの送信に\![raiseother]も交えて使用。
-大根コミュを既に搭載しているゴーストはこのテンプレート内...
-トーク表示が同期するようになり、見た目には後出ししなくな...
-Ver.1.0と完全互換です。
**仕組み [#c5686c89]
混迷を極めるフローチャート
サーバ側 クライアン...
*じゃんけん開始――――全送信―――――→*大根でじゃんけん ...
↓3秒間応答なし │
*誰も居ない │
│
*大根で参加表明←―――(R0)―――――┘
↓2秒
*「最初はグー」――――全送信―――――→*大根で「最初はグー...
↓2秒
*「じゃんけん」――――全送信―――――→*大根で「じゃんけん...
|┗出す手を決定 ┗出す手を決定
↓2秒 ┌――――――――――――――...
┌→*「ポン」―――――――全送信――――┴→*大根で「ポン」――――――全...
| | ┗自分の手含む┛ ↓2回目以降...
| | *大根で「ポン」←―――――┐ *待機 ...
| | ↓フラグで1回目回避 └――――――――――――――――――――...
| | *待機
| | ┗今回は喋らない
| ↓2秒
| *終了判定
| | ↓>による分岐
| | *勝敗表示―――――全送信―――――→*大根で勝敗表示 ...
| | ┗プログラム終了 ┗プログラム...
| ↓>による分岐
| *「あいこで」―――――全送信―――――→*大根で「あいこで」...
└―┘2秒
-終了判定はサーバ
-勝敗判定は各ゴーストまかせ
各ゴーストは自分の手公開するとき、サーバだけにコミュ送信...
つまり、起動している全てのゴーストが「誰が何の手を出した...
*テンプレートVer0.x [#lb1895c6]
バケツリレーで情報を伝達するタイプ。
**オリジナル [#nc03b09a]
「ねこ詩作零号機&ねこ実験初号機&ねこ実用弐号機」の辞書...
http://www5.pf-x.net/~legokichi/nar/dicJanken0.5.txt~
-__SYSYTEM_ALL_GHOST__がなかったころの遺物。
-P2Pっぽいコミュ。
-まだ伺か。の知識がなかった頃のに作ったので無茶苦茶。
-たぶんバグってる。
*こめんと [#x948ea0f]
- 2人対戦の場合には仕様上、サーバ側のゴーストは早出しと...
- 「あいこの時ssu.dllのiflistの呼び出しでエラー」が出るバ...
- Ver1.0:判定を==から(compare,~.~)に変更。さらに様々な...
- 現在の課題:コミュる度にイベントってるのでゴーストの手...
- ご指摘頂いていた記述ミスを修正しましたのでご報告。 -- [...
- \![raiseother]でOnCommunicateを投げた場合、OnCommunicat...
- どもです。\![raiseother]に触発されてさらに2.xなる仕様を...
- Ver2.xでサーバ側ゴーストが終了判定を言ってくれま...
- すんません、自己解決しましたorz -- [[Don]] &new{2007-11...
- たまに表示が1秒遅れる点が改善できました。2.xの方がスッ...
- なんという仕事の速さ。こちらの環境では何十回やっても遅...
- こちらの環境=SSP/2.00.22[B]&里々phase Mc133-4を積んだ...
- こちらの環境=SSP/2.00.22[C]&里々phase Mc133-4を積んだ...
- *「ポン」の後に応答がない場合の回避コードを組んだ -- [...
- TODO:テンプレの充実化 じゃんけん中の2秒にどういうトー...
- 2.1的仕様では参加表明も全送信にして「ポン」と同じような...
- 経緯←歴史の長いものだったんですね・・・知らなかった。て...
- 当時の0.xは初めてのプログラミングだったもんで技術が足...
- 興味深いものを見つけたのでペタリ http://marilan.at.webr...
- そろそろ仕様をまとめて、汎用的に使えるサンプルの作成な...
- 個人的にはVer3.1案がお気に入りです。ssuすら必要な...
- サーバ自身はカスタマイズ可能な状態が望ましいですね。GHO...
- 新しく仕様を立ち上げるとなるとイベント名とかも他と被ら...
- 「サーバ自身はカスタマイズ可能な状態」というのはアレで...
- ゲームの進行及び判定はサーバが行い、クライアントは呼ば...
- しかしライフ制の複数技つきだと戦略性が高いからそこをど...
- このケースで要求されるのは「ユーザも参加」であることな...
- そうなるとサーバ自身を改変可能にする必要が出てくる(通...
- 「AIゴーストVSユーザ」か「AIゴーストVSAIゴー...
- 「AIゴーストVSユーザ」は「AIゴーストVSユーザの...
- 「AIゴースト」をどうしましょ。ランダムでいいのかな。 ...
- とりあえずユーザを含めた「普通のじゃんけんモジュール」...
- 「あっち向いてホイ」はダメだな…。また通信処理が必要にな...
- 「普通のじゃんけんを取り仕切るプラグイン」を作って、「...
- じゃんけんプラグインを使うゴーストがこの世に1体だけな...
- 難しい方向に移行する前に、とりあえず気掛かりだったイベ...
- イベント名濫立防止策が必要かどうかは疑問です。イベント...
- あ、いや、やっぱ要りますね。クライアント側の誤爆防止で...
- 一気にver4.0まで作ってみたのはいいけど少し整理しないと…...
- 鯖ゴ、ルールゴの分離はすごくいいと思った -- [[Don]] &ne...
- http://nikolat.tumblr.com/post/51880581 -- [[Don...
- ユーザはルールのみ差し替えて遊べる。ルールゴ作者の負担...
- ルールゴが「俺が鯖ゴも兼任するから鯖ゴイラネ」にならな...
- 鯖ゴは中立的な立場で正しいジャッジを機械的に下す信頼性...
- 参加ゴが「信頼できる鯖ゴからの通知」か「イカサマの可能...
- 鯖ゴをプラグイン化する。\![raiseother]でなく\![raiseplu...
- \![raiseother]の場合Senderがsakura.nameになるので(Send...
- HandUtil.dllとか使えばDSSTPでSenderも偽装できるけど…そ...
- 鯖をPLUGIN化してみたけど仕様がいまいちしっくりこない…。...
- 現在はあいこの時は自動でやり直しにしてるけど、そこはル...
- そこまでイカサマを気にする必要があるのか少し疑問です。...
- 鯖プラグインは「じゃんけん送受信及び集計機」と割り切る...
- 鯖プラグインはルールゴに参加ゴ全員の出した手及び勝敗別...
- いや、勝った手と、全員の出した手別リストで十分ですね。 ...
- 放送局(ルールゴ)→中継衛星(鯖プラグイン)→各端末(参...
- ルールゴと鯖を分ける利点がちょっと弱い気がしてきた…。ゲ...
- 鯖の情報はOnJankenを通して常にルールゴに通知しているの...
- ゲームへの応用とか考えない方がよかったかな -- [[Don]] &...
- でも「じゃんけんの要領で」勝ち負けを決するゲームを作ろ...
- とりあえず動く、何かしら応用の利く、すぐに使えるサンプ...
//#comment
終了行:
*もくじ [#lffe8f3f]
#contents
*じゃんけん? [#l41ed0b6]
#ref(http://www5.pf-x.net/~legokichi/cgi-bin/tool/index.c...
こんな感じ。~
何人とでもじゃんけんが出来ます。
※まだ仕様が定まってないのでゴーストへの実装は実験目的での...
**経緯 [#q141c474]
「うにゅう@もどき」台本トーク(仮)やりませんか!~
http://nar.jpn.org/test/read.cgi/unyu/1096293147/~
↓~
さとーのweb日記~
http://d.hatena.ne.jp/satos/searchdiary?word=%a4%b8%a4%e3...
↓~
Ver.0.xを作るも技術が足らず挫折~
↓~
[[SSP/仕様書/コミュニケート複数送信拡張]]~
|~
1年半後~
↓~
うかべん 大阪#2 NOBさんの講演~
http://study.nanican.net/2007/1124/~
↓~
Ver.1.x
*テンプレートVer4.x [#f871c6ae]
\0に加え\1やユーザも参加するタイプ。
-利点
--他に起動ゴーストが居なくても可能
--初めてユーザが参加できる
-難点
--タイミング調節とかどうよ?
---3.x系の拡張なら可能→審判が必要な為、どちらにせよ複...
**元ネタ [#w044db3c]
-0.x以前に作った過去の遺物
**実装案 [#i9716543]
-3.xの審判が最初に各ゴーストの手を集計するときに\0、\1お...
**Ver4.0 [#fea94808]
-Ver3.3のサーバにユーザが命令を与える形式。
--Ver3.3までは\![raiseother]複数送信に関するバグが...
-サーバ側
--ユーザ入力辞書
---[[dic_janken_user.txt:http://home.384.jp/evidence/jank...
--サーバ用辞書
---[[dic_janken_server.txt:http://home.384.jp/evidence/ja...
--クライアント用辞書(クライアント側の辞書と若干異なりま...
---[[dic_janken_client.txt:http://home.384.jp/evidence/ja...
-クライアント側
--クライアント用辞書(Ver3.2から互換を維持)
---[[dic_janken_client.txt:http://home.384.jp/evidence/ja...
***サンプルゴースト [#pd15a9fe]
-zipの中にnarが3つ入っています。
--[[JankenSample_4_0.zip:http://home.384.jp/evidence/ghos...
---2008/09/25 新規作成/里々Mc143-12(乱数初期化改良)
**Ver4.1 [#abbd35c1]
-ゲームを統括するゴーストとサーバの役割を果たすプラグイン...
--内部辞書は里々をSAORIとして使用しています。
-クライアント側はプラグインにアクセスするように改造。以前...
***仕様 [#f76eb15a]
-サーバPLUGINのreadmeにまとめてあります。
--[[readme.txt:http://home.384.jp/evidence/update/jankens...
***サンプルゴースト [#pe724d9f]
-zipの中にnarが5つ入っています。(ゲームマスターGHOST1...
--[[JankenSample_4_1.zip:http://home.384.jp/evidence/ghos...
---2008/09/27 新規作成
---2008/09/28 プラグインを実行したGhostへの通知イベント名...
プラグインにアクセスするイベント名もOnJankenに統一~
あいこの時、ゲームマスターゴーストに通知し、処理を中断す...
イベント通知で勝った手と全員の出した手別リストを通知
---2008/09/29 仕様確定~
ドキュメント整理
***他に検討すること [#s952620e]
-仕様としてはこれで確定でいいと思う。
-ゲームマスターゴーストのテンプレートも可能な限り簡単にし...
-あとはユーザを参加させる場合どうするか。
--クライアントを改造してユーザ入力を受け付けるようにする?
-ゲームに応用する場合はどうしよう。
--追加パラメータを送受信しないといけない場合は複雑極まり...
---でもできればサンプルを1つくらい用意したいところ。
---クライアントは3体くらい。里々、YAYA、華和梨。
*テンプレートVer3.x[#r0c4e0d6]
公正な審判を1人おいてクライアントの動作を制御するタイプ。
**元ネタ「にこらとてすらの拍手レス」 [#p9d22a97]
「じゃんけんテンプレートの新仕様案」~
http://home.384.jp/evidence/log2007.html#071129
-サーバ自身はじゃんけんをしない。審判に徹する。
+サーバで最初にクライアントの各種セリフとじゃんけんの手を...
+勝敗が決する。(サーバが頑張って計算する)
+結果をクライアントに通知。最初に集めた該当するセリフを順...
**実装案 [#cab61593]
-1.xの応用?サーバとクライアントを明確に分けてしまえばい...
-だめだ!里々の変数管理が難しすぎて今の俺では作れない!
**3.0 [#f55d606d]
http://home.384.jp/evidence/log2007.html#071206~
-利点
--変数やセリフの送受信に既存のシステムを利用。
--規格の統一・氾濫の防止。じゃんけん以外のミニゲーム等へ...
-欠点
--サーバ側が大変。
--じゃんけんだけならもっと簡単にできる↓
**仕様を大幅に変更する案 [#t441c6fd]
「ゴースト同士でじゃんけん」テンプレート Ver3.1案~
サーバ用~
http://www5.pf-x.net/~legokichi/nar/dicJanken3.1.txt~
クライアント用~
http://www5.pf-x.net/~legokichi/nar/dicJanken3.1c.txt~
-台本や大根2の使用を断念
--ネガティブな理由
---変数が多くて処理が大変。
--ポジティブな理由
---処理が軽くなった。
---クライアント側は大根台本関係なく辞書を入れるだけでOK。...
***独自イベント [#zd5958d9]
クライアント側~
-OnJanken
--OnComunicateの代わり
--Reference0: 送信元
--Reference1: Janken3.1
--Reference2: セリフ_○○
---(セリフ_○○)を呼び出して喋る。
-OnRequestJanken
--OnRequestValueの代わり
--Reference0: 送信元
--Reference1: Janken3.1
---サーバからの手を返す指示。
サーバ側~
-OnGetJanken
--OnGetValueの代わり
--Reference0: 送信元
--Reference1: Janken3.1
--Reference2: 1~3の手
---クライアントの手が返って来る。
**Ver3.2 [#o41dc6b8]
-ゲームに使用するイベント名をOnJankenの1つに統一してみる...
--[[マギルトリエ - バーチャルバトルの仕様:http://lre.s165...
-OnJanken
--Reference0 : バージョン 例:"Version=Janken/3.2"
--Reference1 : 送信元 例:"From=JankenSample...
--Reference2 : Jankenイベント名 例:"Event=OnTurn"
---Reference2以降はVer3.1の仕様に準ずる。
***サンプルゴースト [#tfe30062]
-zipの中にnarが3つ入っています。
--[[JankenSample_3_2.zip:http://home.384.jp/evidence/ghos...
---2008/09/23 新規作成
---2008/09/24 関数・変数の接頭辞など厳格に統一、その他リ...
**Ver3.3 [#f436e552]
-サーバ自身もゲームに参加するタイプ。
--Ver3.2のクライアント用辞書をサーバに持たせただけ...
--サーバは改造すれば勿論イカサマし放題。
***サンプルゴースト [#pd15a9fe]
-zipの中にnarが3つ入っています。
--[[JankenSample_3_3.zip:http://home.384.jp/evidence/ghos...
---2008/09/24 新規作成
***展望 [#qf4007c0]
-サーバがユーザの入力を受け付けることでユーザとゴーストの...
--Ver4.xへの布石。
*テンプレートVer2.x [#yf1a2bf8]
サーバが存在しない、人間のじゃんけんに一番近いタイプ。
**オリジナル [#ua48faf9]
「ゴースト同士でじゃんけん」テンプレート Ver2.0~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.0.txt
-たまに誰かの掛け声が1秒遅れる(ぇ
**「にこらとてすらの拍手レス」にての改善バージョン [#qe15...
「ゴースト同士でじゃんけん」テンプレート Ver.2.0...
http://home.384.jp/evidence/log2007.html#071123
-たまに表示が1秒遅れる点を改善(したつもり)
**さらに改造 [#b6ded2e2]
「ゴースト同士でじゃんけん」テンプレート Ver2.0.2~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.02.txt
-Donさんの2.0.1をさらに少しいじったもの。
--2.0.1との互換性なし
--「ポン」の後、応答なしの場合に喋るようにした。
--終了判定にエラー表示を入れた
--じゃんけん勝敗判定と手関数の改良
--\![raiseother]で送信するとき(R0)に名前、(R1)に...
**さらに改造 [#b6ded2e2]
「ゴースト同士でじゃんけん」テンプレート Ver2.1~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.1.txt
-2.0.2との互換性なし
-\![raiseother]で送信するイベント名をOnJanken~にした。
-これでもかと言わんばかりに誤爆回避。
-テンプレートの充実(ラベル名どうにかしてorz
**さらに改造 [#b6ded2e2]
「ゴースト同士でじゃんけん」テンプレート Ver2.1.2~
http://www5.pf-x.net/~legokichi/nar/dicJanken2.12.txt
-デバッグとトークの追加。
**仕組み [#e7bb7d08]
2.1時の概略。
サーバ側 クライアント側
┌→*ユーザにじゃんけんを開始しろと命令されたが今はじ...
├→*起動しているゴーストが自分だけだった時
| ┌→*じゃんけんに参加しない...
*じゃんけん開始―全送信→*OnJankenReceive――全送信――→...
|┗完全初期化 │┗完全初期化
| │
↓3秒間応答なし │
*じゃんけんが出来るゴーストがいなかった時
┗完全初期化 │
│
┌――――――――――――┘
|イベント実行
↓※以下サーバとクライアントは同じ動作
*OnJankenTimeSet←―――――――――――――…他のゴースト
|
↓2秒
*「最初はグー」
|
↓2秒
*「じゃんけん」
|
↓2秒
┌→*「ポン」――――――全送信―――――→…他のゴースト
| ||┗自分の手の決定 ┗自分の名前と手含む ¦
| |↓3秒間応答なし ¦
| |*じゃんけん音信不通 ¦
| ↓相手の手が規格外 *OnJankenWait←…他のゴースト
| *じゃんけん強制終了 | ┗相手の名前と手含む
| ┌―――――――――――┘
| ↓2秒
| *終了判定
| |↓勝敗が決した
| |*「勝った」or「負けた」
| | ┣完全初期化
| | ┗プログラム終了
| |
| ↓あいこの場合
| *「あいこで」
| |┗初期化
| |2秒
└―┘
**他の栞での実装 [#obeee8fb]
よくわからないorz
*テンプレートVer1.x [#rf38a395]
サーバと同期して勝敗判定だけ各自で行うタイプ。
-1.0よりも1.01の方が良いです。
-1.xと2.xの互換性はありません。
-1.xの方が重くて非効率的。でもちゃんと動く。
-2.xの方が軽くてスマート。でもたまにサーバが1秒遅れる。
-2.xはコミュを使ってないので大根非対応のゴーストにも使用...
**オリジナル [#o80cccc7]
「ゴースト同士でじゃんけん」テンプレート Ver1.0 ...
http://www5.pf-x.net/~legokichi/nar/dicJanken1.0.txt
-大根コミュを使用しています。
-大根コミュを既に搭載しているゴーストはこのテンプレート内...
-「*じゃんけん開始」を呼び出せば後は勝手に動きます。
**「にこらとてすらの拍手レス」にての改善バージョン [#ma43...
「ゴースト同士でじゃんけん」テンプレート Ver.1.0...
http://home.384.jp/evidence/nar/log2007.html#071122
Donさんに感謝。
-大根コミュの送信に\![raiseother]も交えて使用。
-大根コミュを既に搭載しているゴーストはこのテンプレート内...
-トーク表示が同期するようになり、見た目には後出ししなくな...
-Ver.1.0と完全互換です。
**仕組み [#c5686c89]
混迷を極めるフローチャート
サーバ側 クライアン...
*じゃんけん開始――――全送信―――――→*大根でじゃんけん ...
↓3秒間応答なし │
*誰も居ない │
│
*大根で参加表明←―――(R0)―――――┘
↓2秒
*「最初はグー」――――全送信―――――→*大根で「最初はグー...
↓2秒
*「じゃんけん」――――全送信―――――→*大根で「じゃんけん...
|┗出す手を決定 ┗出す手を決定
↓2秒 ┌――――――――――――――...
┌→*「ポン」―――――――全送信――――┴→*大根で「ポン」――――――全...
| | ┗自分の手含む┛ ↓2回目以降...
| | *大根で「ポン」←―――――┐ *待機 ...
| | ↓フラグで1回目回避 └――――――――――――――――――――...
| | *待機
| | ┗今回は喋らない
| ↓2秒
| *終了判定
| | ↓>による分岐
| | *勝敗表示―――――全送信―――――→*大根で勝敗表示 ...
| | ┗プログラム終了 ┗プログラム...
| ↓>による分岐
| *「あいこで」―――――全送信―――――→*大根で「あいこで」...
└―┘2秒
-終了判定はサーバ
-勝敗判定は各ゴーストまかせ
各ゴーストは自分の手公開するとき、サーバだけにコミュ送信...
つまり、起動している全てのゴーストが「誰が何の手を出した...
*テンプレートVer0.x [#lb1895c6]
バケツリレーで情報を伝達するタイプ。
**オリジナル [#nc03b09a]
「ねこ詩作零号機&ねこ実験初号機&ねこ実用弐号機」の辞書...
http://www5.pf-x.net/~legokichi/nar/dicJanken0.5.txt~
-__SYSYTEM_ALL_GHOST__がなかったころの遺物。
-P2Pっぽいコミュ。
-まだ伺か。の知識がなかった頃のに作ったので無茶苦茶。
-たぶんバグってる。
*こめんと [#x948ea0f]
- 2人対戦の場合には仕様上、サーバ側のゴーストは早出しと...
- 「あいこの時ssu.dllのiflistの呼び出しでエラー」が出るバ...
- Ver1.0:判定を==から(compare,~.~)に変更。さらに様々な...
- 現在の課題:コミュる度にイベントってるのでゴーストの手...
- ご指摘頂いていた記述ミスを修正しましたのでご報告。 -- [...
- \![raiseother]でOnCommunicateを投げた場合、OnCommunicat...
- どもです。\![raiseother]に触発されてさらに2.xなる仕様を...
- Ver2.xでサーバ側ゴーストが終了判定を言ってくれま...
- すんません、自己解決しましたorz -- [[Don]] &new{2007-11...
- たまに表示が1秒遅れる点が改善できました。2.xの方がスッ...
- なんという仕事の速さ。こちらの環境では何十回やっても遅...
- こちらの環境=SSP/2.00.22[B]&里々phase Mc133-4を積んだ...
- こちらの環境=SSP/2.00.22[C]&里々phase Mc133-4を積んだ...
- *「ポン」の後に応答がない場合の回避コードを組んだ -- [...
- TODO:テンプレの充実化 じゃんけん中の2秒にどういうトー...
- 2.1的仕様では参加表明も全送信にして「ポン」と同じような...
- 経緯←歴史の長いものだったんですね・・・知らなかった。て...
- 当時の0.xは初めてのプログラミングだったもんで技術が足...
- 興味深いものを見つけたのでペタリ http://marilan.at.webr...
- そろそろ仕様をまとめて、汎用的に使えるサンプルの作成な...
- 個人的にはVer3.1案がお気に入りです。ssuすら必要な...
- サーバ自身はカスタマイズ可能な状態が望ましいですね。GHO...
- 新しく仕様を立ち上げるとなるとイベント名とかも他と被ら...
- 「サーバ自身はカスタマイズ可能な状態」というのはアレで...
- ゲームの進行及び判定はサーバが行い、クライアントは呼ば...
- しかしライフ制の複数技つきだと戦略性が高いからそこをど...
- このケースで要求されるのは「ユーザも参加」であることな...
- そうなるとサーバ自身を改変可能にする必要が出てくる(通...
- 「AIゴーストVSユーザ」か「AIゴーストVSAIゴー...
- 「AIゴーストVSユーザ」は「AIゴーストVSユーザの...
- 「AIゴースト」をどうしましょ。ランダムでいいのかな。 ...
- とりあえずユーザを含めた「普通のじゃんけんモジュール」...
- 「あっち向いてホイ」はダメだな…。また通信処理が必要にな...
- 「普通のじゃんけんを取り仕切るプラグイン」を作って、「...
- じゃんけんプラグインを使うゴーストがこの世に1体だけな...
- 難しい方向に移行する前に、とりあえず気掛かりだったイベ...
- イベント名濫立防止策が必要かどうかは疑問です。イベント...
- あ、いや、やっぱ要りますね。クライアント側の誤爆防止で...
- 一気にver4.0まで作ってみたのはいいけど少し整理しないと…...
- 鯖ゴ、ルールゴの分離はすごくいいと思った -- [[Don]] &ne...
- http://nikolat.tumblr.com/post/51880581 -- [[Don...
- ユーザはルールのみ差し替えて遊べる。ルールゴ作者の負担...
- ルールゴが「俺が鯖ゴも兼任するから鯖ゴイラネ」にならな...
- 鯖ゴは中立的な立場で正しいジャッジを機械的に下す信頼性...
- 参加ゴが「信頼できる鯖ゴからの通知」か「イカサマの可能...
- 鯖ゴをプラグイン化する。\![raiseother]でなく\![raiseplu...
- \![raiseother]の場合Senderがsakura.nameになるので(Send...
- HandUtil.dllとか使えばDSSTPでSenderも偽装できるけど…そ...
- 鯖をPLUGIN化してみたけど仕様がいまいちしっくりこない…。...
- 現在はあいこの時は自動でやり直しにしてるけど、そこはル...
- そこまでイカサマを気にする必要があるのか少し疑問です。...
- 鯖プラグインは「じゃんけん送受信及び集計機」と割り切る...
- 鯖プラグインはルールゴに参加ゴ全員の出した手及び勝敗別...
- いや、勝った手と、全員の出した手別リストで十分ですね。 ...
- 放送局(ルールゴ)→中継衛星(鯖プラグイン)→各端末(参...
- ルールゴと鯖を分ける利点がちょっと弱い気がしてきた…。ゲ...
- 鯖の情報はOnJankenを通して常にルールゴに通知しているの...
- ゲームへの応用とか考えない方がよかったかな -- [[Don]] &...
- でも「じゃんけんの要領で」勝ち負けを決するゲームを作ろ...
- とりあえず動く、何かしら応用の利く、すぐに使えるサンプ...
//#comment
ページ名: