( ˘ω˘)スヤァ
鍵垢はスパム対策でやってるだけなので気にしないでください。もしフォロバされてなかったらフォローボタン押すのを忘れてるのでメンション飛ばしてください🙏
プロフィール画像→有象無象のなー先生 https://twitter.com/uzoumuzo_
#Misskeyはいいぞ #わーーーーーーーーーーーーーーー
#Developer / #CSharp #Java #Scala #TypeScript #React #NextJs #Misskey
#Cloud / #AWS #Azure
#OS / #Windows #WindowsInsiders #Ubuntu
#Language / #JA 🇯🇵 #KO 🇰🇷 #EN 🇺🇸
Accept-Language: ja-JP, ko-KR, en;q=0.7, *;q=0.3
強いカードは1ターンはスタンになるとか
後攻プレイヤーにはモンスター一つに「召喚したターンにも攻撃できる」トークンをあげるとか
毎ターン決まった値になるけど、フィールドに展開したカードの数(またはそれらのコストに基づいた比例値)の分のエネルギーは無くなるとか
個人prjのtcgの話だけど、せっかくiro.moeでサービスするんだから色関係のルールにしたいので色のRGB/HSV値を元にカードを自動生成して編成できる仕様にしたい
キャラクターカードはRGBで体力、攻撃力、能力?を、魔法カードはHSVで属性、パラメータを決定するとか
このアカウントは、notestockで公開設定になっていません。
スカイプ番号に不在着信が4件も着てて電話番号で検索してみたら日本マイクロソフトからだった
、、、なんでだろう
しゅいろのTCGとは別件でiro.moeでサービスするjson-ld ベースのActivityPub統合出来そうなカードゲーム作ろうかと思ってる
ヌァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァンンンンオオオオンンオンオンオンオンンンンンンンンン゛ン゛!!!!!!!!!!!!!!!!
#気が狂ったときに押すボタン
https://misskey.io/@itiradi/pages/1557466961730
ユーザーの操作のPOSTに一種のトークンリング(+どのよう操作ができるのかの情報を含む)方式を導入して、「個人化された情報」の提供時にそのトークンリングを渡して、各操作の結果に対しトークンリングの回収されたかどうかを受信するとか
必ずユーザーの操作の1セット(例の場合カードをドロー、カードをドロー、一枚を捨てるに分解)にして動くようにしたほうが良さそう
そもそもDiffと最終値を一緒に提供する理由がSyncズレのときクライアントの共通情報fetchを誘導する為であるので
@aqz@mk.a9z.dev ユーザーは知らないのにうちのクライアントはなんかやって置かないといけない効果とかあるの
@aqz@mk.a9z.dev 「モンスターを召喚」「今すぐ発動する魔法」などのカードならどうせもうすぐ見せないといけないカードなので露出されても問題はないし
@aqz@mk.a9z.dev 相手のカードの使用結果をわたしが(今すぐ)知らなくても良い(設置型魔法とか)場合は相手はx番目のカードを使ってそのカードがなくなった(または墓場に行った)という形だけの情報さえ提供されてもユーザーに違和感はないよ
nginx cacheが使える
letsencryptとかの導入が楽
root垢でなくても1024未満のポートで鯖を動かせる
言い忘れたけどこれのように常に共通情報のアナウンスをする際情報のdiff(おそらく誰かさんが何をどうしたっていう情報を含む)とその情報を最終の値を配る仕様にするとdiff情報を元にアニメーション出来そう
RE: https://misskey.io/notes/7ymw540e8c
ここでクライアントが鯖に送る操作というのはただ「Aが1を選んでXに位置した」の事実だけでその結果はサーバーが計算していつもサーバーから受け取った情報を元に動作するようにしたかった
アニメーションについてはその情報も共通情報に兼ねて提供してくれたらよさそう
ゲーム状態を2つに分けて
共通情報「プレイヤーの数、各プレイヤーの(デッキの数、手札の数、仕掛けられた魔法の数、体力など)、フィールドに出ている表面のカード」
個人化された情報「自分の手札、仕掛けられた魔法、フィールドに出ている裏目のカード」
それぞれの情報について詳細情報の有無を問わずデータの一覧を各クライアント側のゲームエンジンが持つようにする
クライアント-鯖の間には2つのチャンネルが作成され、一つ目はユーザーの操作のやり取り-クライアントがPOSTを送って鯖はその結果と共にその操作によって変わったパラメータのDIFFと最終的な値をreturn、2つ目はゲーム状態の更新の為のチャンネルでありwebsocketでkeepaliveまたは周期的にclientがpollingする-すべてのユーザー操作毎にその結果の中で共通情報だけをアナウンスするタイプのパケットと個人化された情報(必ず共通情報のアプデ以降提供させる)が飛んでくるようになる
ほぉおぉぉおおおおおおぉおお👻
#ふおおおおおおぉ https://misskey.io/@u1_liquid/pages/fuooooooo
diffとtotalをアナウンスして、それを受け取ったクライアント側のエンジンはdiff通り計算してみて、totalと一致しないならfull stateをfetchするようにするとsyncズレも防げる
RE: https://misskey.io/notes/7ymvyyx0v0
clientA-post: player A draws card
server-response toA: ok, your new card is X
server-push toAll: player A hands update:+1,tot:3|deck-1,tot19
こういう仕組みにした方がいいと思ふ
その状態が変わるときは相手のinputあってこそからだからサーバーから相手の今やったことについての情報が飛んでくるときでやっとカードの詳細情報が来ても処理の問題はないはず
相手が使ったカード(自分に実際見れるカードだけ)の以外はクライアント側に提供する情報はカードの数だけでいいようにしないと
相手の手札にどんなカードがあるかはクライアントに必要の無い情報なので、そのデータは各プレイヤーとサーバーだけ知っていても良さそう
相手に提供されないといけない情報は手札ではなくデッキ全体(カード画像のプリロードの為)でいいし、その情報さえも提供したくないならゲーム開始前にすべてのサポートするカードデータをDLするようにすると良さそう
ヌァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァンンンンオオオオンンオンオンオンオンンンンンンンンン゛ン゛!!!!!!!!!!!!!!!!
#気が狂ったときに押すボタン
https://misskey.io/@itiradi/pages/1557466961730
@cv_k@misskey.dev まぁ買うとするとクレカ分割払いなので24ヶ月とかにすると割となんとかなる金額ですよね
https://s.kakaku.com/item/K0001183598/
35万円ってまぁ払えない程ではないけど
雀魂、にゃんか「ホームに追加してね」ってにゃってるけどPWAできてるのではにゃいから普通にWebAPKにはにゃれにゃい
Aの会社多すぎ
Alphabet(Google)
Amazon
Adobe
Apple
Alibaba
Aliexpress
など
YOU LOSE!!!! (ブウウウウウウ!!!!)
俺の勝ち!
負けは次に繋がるチャンスです。
ネバーギブアップ!
ほな、いただきます。
#本田とじゃんけん https://misskey.io/@itiradi/pages/honda-to-jankening
部屋にタモリが出るのだわ
https://misskey.io/@Simirall/pages/meimei
世の中自分の思う通りではできないと言う点を反映してカードに特定のオーダーをすれば2d24<5 の確率で勝手に変な動きをするようにしましょう🤪
カードに右が左がっていう属性を付けて、aのターン+bのターンの後必ずそのカードの属性通り移動させて、ぶつかる場合戦闘になるとか
なるほど、そうならバックラインはプレイヤーあたり2ライン(またはプロントラインより1-2slot多め)にしたほうがプレイしやすいかも
@usagi@mujo.xyz @aqz@mk.a9z.dev たぶん #misskeyissue なので、そのうちなんとかしてみます
そもそもこの現象が起こるのがバグだけど、長い間サーバーダウンが起きたら起るという状況証拠以外コードのどこがおかしいのかは見つけられなかった()
Misskey DriveのDriveFilesテーブルにある情報と実際のファイルシステム(もしくはオブジェクトストレージ)の情報が一致してない時のresync方法がない #misskeyissue
@aqz@mk.a9z.dev @usagi@mujo.xyz たぶんMisskeyDriveの前のDriveFile rowが残っててupdateされない状態だと思います
@usagi@mujo.xyz @usagi なんか全く新しい画像をうpしてみたらそれは見えるかもしれません
@usagi@mujo.xyz @usagi そもそものAP経由で伝われるURLがおかしいですが、、、
lynx、軽いしプライバシー的にも安全だし余計なものはレンダリングされないし完璧なウェブブラウザエンジンでは
でも何もないとつまんないから麻雀みたいに〇〇あり・なしできるとちょっとだけなんとかなるかもしれない
Misskey TCG、「合体召喚・特殊召喚などの条件付きキャラクターカード」要る?
リモートで結果を表示
Misskey TCG、「カードを公開せずセット」する仕組み要る?
リモートで結果を表示
Misskey TCG、「カードを守備表示でセット」する仕組み要る?
リモートで結果を表示
Misskey TCG、墓場⚰要る?
リモートで結果を表示
Misskey TCG、サイコロ🎲要る?
リモートで結果を表示
しゅいろ写真にしよう
あと藍ちゃとGlitch Studioとねしおさんドット絵依頼でなんとかなりそう
DigitalOcean SpacesをMisskey・MastodonのObject Storageとして使う方
https://qiita.com/u1-liquid/items/7c6795cc4edd17310508
ヌァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァァンンンンオオオオンンオンオンオンオンンンンンンンンン゛ン゛!!!!!!!!!!!!!!!!
#気が狂ったときに押すボタン
https://misskey.io/@itiradi/pages/1557466961730
ユーザーのできることはモーダルダイアログを閉じる、ダイアログに応答するの2択でそれ以外はできなくなるのが当然
モーダルダイアログがあれば、それを閉じるまでにはparent windowになんの操作もできないようになる
『 サツキ 』
男から見ると【75点/100点】
評価:かなりすごい人
女から見ると【57点/100点】
評価:意外といい人
#男と女から見たあなたの点数
https://shindanmaker.com/932353
🤔
このアカウントは、notestockで公開設定になっていません。
カードそのものをパクリしない限りそれはないと思ふ
そもそもTCGってGURPSのルールから見ると皆五分五分だし
前者はarray<card,bool>で、もう引いたカードはfalseとし、falseではないitemの中でseed付きランダムで選択
後者はqueue<int,card>でここのカードは前者のarrayではfalseにされており、指定の位置にデッキのトップが来たらdequeue時に削除される
こういう形でなんたかできるんじゃないかな
デッキを2つの構造て分離(単なるランダムSeedから出るやつ-Seed値と単なるリスト、何らかの効果で新たに追加されたやつ-デッキでの位置とカード)して、後者からdequeueして何も出なかったら前者をdequeueするようにするとデッキはある程度固定?できる
だから、>ボタンを押したときの挙動はそのプレイヤーの次の行動ではなく次のダーンでいいのではって話し
@ayamorisawa@misskey.m544.net @syuilo@misskey.io 単にリプレイ実装の為の状態更新かな?ならkeyframeみたいにnターン毎にfull snapshot、他はその差分でいいのでは(そもそもターン制なのでターン単位でリプレイのSeekができれば十分だと思うし、細かい操作は適当にasmみたいな形でターンが終わったあとで一気に記録しても良さそう)
@ayamorisawa@misskey.m544.net @syuilo@misskey.io Seed+Weighted Stackでなんとかなるか
@ayamorisawa@misskey.m544.net @syuilo@misskey.io まぁこうするとMTGの「デッキの〇〇にカードを戻す」とかの効果の実装がちょっと難しくなりそう
@ayamorisawa@misskey.m544.net @syuilo@misskey.io そもそもデッキから出たカードはランダムSeedで逆算すればすぐわかるand同じSeed値である限り結果が変わらないものなので「drawした」っていう情報だけでいいのでは
TCGのエンジン、かんたんに作ろうとするとめっちゃかんたんに作れるんだけど、いろいろ実装しようとすると無限に複雑なエンジンになれる
こうすればカードには基本情報(hp,ap,costなど)effectに対するld context、それに対するパラメータを保存することになる
json-ld みたいにするのはどうかな
ゲームエンジン側でldのcontextを見て挙動を決定する
@syuilo TCGのリプレイ、ゲームのランダムSeedとユーザーの操作を何らかのロジックで数字に変えて適当にそれをバイト配列のbase64として保存したり