• モチベーション
    • 課金してもソシャゲにあきたら全部パーになるのもったいない
    • "価値" が絶対基準で各ソシャゲ間で価値を尺度にリソースの相互変換ができたら?
  • 分散ソシャゲを構築するためのプロトコル
    • = APIのリクエスト, レスポンスの制約
  • Game: FluctActivity の集合
  • Activity: ユーザーが行う行動
    • I/F
      • Activity は任意個の Fluct を受け取り任意個の Fluct を返す関数と考える事ができる
        • ex: 強化(キャラクター, お金) -> (強化された)キャラクター
      • 実行はREST APIを介してJSON RPCにて行われる.
    • 制約
      • 例外を除いて Activity に渡される Fluct の価値の総量と返却される Activity の総量は変化しない.
      • Fluct の価値の端数は Alt-Value で返却するか端数が出ないようにクライアント側で調節すべき.
      • Fluct を変動させる場合はuuidを変えてはいけない.
  • Fluct: リソース
    • 以下の種類がある
      • Value: Fluct の変換基準となるプリミティブなリソース
      • Alt-Value: ユーザーが保持できる、Value とある一定の割合で相互変換可能なパラメータ
        • ex. ゲーム内通貨や石, 攻撃力等
        • @type: <名前空間>.<AltValue名> (ex: HogeGame.Money)
        • rate: 単位 Alt-Value あたりの Value を指す (ex. rate = 10 なら 1Coin = 10 Value)
          • Value の総量が変動しない限りは, 変更可能である.
    • Fluct の構造体も Fluct (ex. HPと所持金を持ったプレイヤー)
      • 全ての Fluctは整数の Value を算出可能でなければならない
    • 生成
      • 分散表現とメタデータ(Idea) から変換することも出来る
      • Idea や明示的な変換関数により Fluct は他の Fluct に変換する事ができる。
    • 変換/変更
      • Value の総量が変動しない限りは, 変更可能である
  • Value の生成
    • 即時完了する Activity には追加の Value が発生しない
    • 労力を伴う Activity (クエストなど) は報酬として労力に応じた Value を発生させる権限を持つことが出来る.
  • Fluct から Fluct の変換
    • パラメータ名を正規化したもの: $k_*$
    • 類似度行列 $M_{i, j} = s_{\cos}(k_i, k_j)\ (k_i \in \mathcal{K}_1, k_j \in \mathcal{K}_2)$
    • $\mathcal{I} = \sum_{i, (k, v) \in \mathcal{K}1} M{i, *} * v$
  • automatikとして開発するもの
    • ソシャゲバックエンド/フロントエンド汎用ライブラリ
    • 特徴
      • APIフレンドリ
      • ゲームのテンプレート
      • DApps
      • 自動化
      • [[socia]] プロトコル準拠
  • モチベーション
    • 全自動で企画・運営するソシャゲをつくりたい
      • <- APIフレンドリーなソシャゲ
      • <- モック可能な管理画面 - 今ココ!
    • 決められたフォーマットのキャラクターデータとかシナリオとかを提供することで提供者はキャラクターの利用数に応じて配当が入る仕組み
    • やりたいことが全てソシャゲに繋がる
      • VAE -> ゲームリソース自動生成
      • 分散プロトコル -> 分散ソシャゲ
      • 分散強化学習 -> ボット
  • テーマ案
    • ゲーミフィケーション要素
      • 擬人化されたプログラミング言語を育成するゲームで、githubと連携して, 書いたプログラムの行数だけ成長する
      • -> 非プログラマの人にも使ってもらいたいので進捗管理系にする?
    • automatik 言葉遊び要素
    • ローグライク風
      • だけど慎重さよりも多少ミスしても許される爽快性を伴ったリアルタイム性が欲しい
      • マス目の上にパーティを配置
      • リアルタイムで敵の攻撃がくる
      • パーティは順番に上下左右にキャラを動かせる
      • アイテムとったり、安置に逃げたり
      • 適度な戦略性とリアルタイム
  • 機能例
    • 運営メッセージ@ホーム
    • ショップ@ホーム
    • プレゼントボックス@ホーム
    • ガチャでキャラが重複していた時のアイテム
    • キャラトレード
    • スキルユニットは凸で複数装備可能
    • 装備ユニット
      • 特殊効果や状態異常耐性も導入したい
      • マギレコ的な
      • 最大4つ
      • 能力値%上昇系は足し合わせ
      • パラメータ補正値は装備した瞬間にサーバーサイドで計算されデータベースにも反映
    • 周回フィルタ
      • ガチャやクエストとかで T -> Boolean なるフィルタを設定できる
    • 覚醒素材をJSONで書けるように
    • バトロワ(リアルタイムマルチプレイ) の要素にローグライク(毎Lv1)の要素がマッチしそう
    • レーティング導入したい
  • 戦闘部分
    • 味方
      • パラメータはHP, 攻撃力, 防御力
        • 共有ではなく個別
    • キャラ画像顔半分アップでもいいかも
    • キャラは順番に行動する
    • 一人のキャラは最大4つのアクションを設定できる
      • デフォルトは上攻撃、下防御左右スキル1
    • グリッド表示
      • Vue.js グリッドの管理と表示をイイ感じ✨に出来るコンポーネントライブラリを作る
      • SVGでごリおす
      • Parcel + Buefy に乗り換え
  • Value -> Fluct の逆変換
  • なろうのソシャゲ版 #idea
    • どんなソシャゲもサ終するともうできなくなるの辛い
    • [[NFT]] とかで価値の永続化をしたい(🤔)
    • 創作キャラを投稿させてガチャとかに出せる
    • ゲーム内リソースの永続化/相互変換