This commit is contained in:
syui 2024-12-15 18:00:01 +09:00
parent d58d548c95
commit 496584b7b8
Signed by: syui
GPG Key ID: 5417CFEBAD92DF56
5 changed files with 960 additions and 380 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 KiB

View File

@ -1,6 +1,9 @@
# yui
[aiverse](https://git.syui.ai/ai/ue/wiki/verse) project.
- [aiverse](https://git.syui.ai/ai/ue/wiki/project) project
- [aiue](https://git.syui.ai/ai/ue/wiki/system) system
see [ue.json](https://git.syui.ai/ai/ue/src/branch/main/ue.json)
## log
@ -10,6 +13,7 @@
|v0.2 β|support web|
|v0.3 β|support vmc|
|v0.4 β|support at|
|v0.5 β|support battle|
## at

View File

@ -1,5 +1,43 @@
#!/bin/zsh
handle_yui=yui.syui.ai
handle_syui=syui.ai
did_yui=did:plc:4hqjfn7m6n5hno3doamuhgef
did_syui=did:plc:uqzpqmrjnptsxezjx4xuh2mn
token_yui=`cat ~/.config/ai/token.json|jq -r .accessJwt`
host=bsky.social
created=2001-01-01T00:00:00+09:00
character=(
ai
manny
quinn
chinese
kirin
leviathan
phoenix
wyvern
cerberus
dragon
kitsune
pegasus
)
img=(
bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy
bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy
bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy
bafkreidlealfybajqzwv5eoz4jshnsijc2vnktlhpw4ph47krwj6aigqby
bafkreiegpqedlrfa4ljhssdnkrr5hyd5huy2xhh2zszj5wq2wuuzejggmq
bafkreig6vszkx3c4dcortjwfsz6sa6zwqgj7zpxj4lxfrrkwql4xhiu5ou
bafkreich7fsumke2yvumvixkruonzrcevk3f6g2cntzfwdn4n2c2vox5dm
bafkreiacjvagsekhiiljz3j237b6klrt6pkptxljt7kltprgg5276gv25q
bafkreihpni4lp55jysalcntulzal5rbhidtbseanlucpyucagzxmv6xj24
bafkreia3huw2gdenqatoobx3hcft74chced46bw4znfgepo5aenegobkri
bafkreidy74aieb6ie646xhosginox5zbnbnrtd76cnt4pbn73hrxgfnple
bafkreifnbfj27fr6nv7qeqqmwdibf7qrw4lauvzoknw5hexbifmwqt6kmq
)
function download_character_icon(){
t=(
@ -38,10 +76,7 @@ for i in $t; do
done
}
handle_yui=yui.syui.ai
did_yui=did:plc:4hqjfn7m6n5hno3doamuhgef
token_yui=`cat ~/.config/ai/token.json|jq -r .accessJwt`
host=bsky.social
case $OSTYPE in
darwin*)
@ -164,6 +199,108 @@ json="{
}
#download_character_icon
create_game_character
function ai_create_user() {
col=ai.syui.game.user
rkey=ai
did=$did_yui
handle=$handle_yui
#rkey=syui
#img=https://cdn.bsky.app/img/feed_thumbnail/plain/did:plc:4hqjfn7m6n5hno3doamuhgef/bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy@jpeg
req=com.atproto.repo.putRecord
url=https://$host/xrpc/$req
for ((i=1; i<=${#character}; i++)); do
cname=${character[$i]}
cid=${img[$i]}
imguri=https://cdn.bsky.app/img/feed_thumbnail/plain/$did_yui/${cid}@jpeg
echo $imguri
echo $i $character $cname
season=1
group=test
lv=1
hp=100
exp=0
rank=0
mode=0
attack=0
attack_post=0
critical=0
critical_d=0
case $cname in
ai)
group=origin
season=0
mode=2
;;
manny|quinn)
group=test
;;
*)
group=fantasy
;;
esac
jc="\"$cname\": { \"group\": \"$group\", \"season\": $season, \"img\": \"$imguri\", \"lv\": $lv, \"exp\": $exp, \"hp\": $hp, \"rank\": $rank, \"mode\": $mode, \"attack\": $attack, \"attack_post\": $attack_post, \"critical\": $critical, \"critical_d\": $critical_d }"
if [ $#character -ne $i ];then
jc=${jc},
fi
json=${json}${jc}
done
json="
{
\"repo\": \"$handle_yui\",
\"did\": \"$did_yui\",
\"collection\": \"$col\",
\"rkey\": \"$rkey\",
\"record\": {
\"did\": \"$did\",
\"limit\": false,
\"login\": false,
\"handle\": \"$handle\",
\"aiten\": 10,
\"gender\": \"famale\",
\"character\": {
$json
},
\"createdAt\": \"${created}\",
\"updatedAt\": \"${created}\"
}
}"
if echo $json|jq . ;then
echo $token_yui
curl -sL -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $token_yui" -d $json $url
fi
col=ai.syui.game
rkey=self
at_uri=at://did:plc:4hqjfn7m6n5hno3doamuhgef/ai.syui.game.user/ai
json="
{
\"repo\": \"$handle_yui\",
\"did\": \"$did_yui\",
\"collection\": \"$col\",
\"rkey\": \"$rkey\",
\"record\": {
\"account\": \"$at_uri\",
\"username\": \"ai\",
\"createdAt\": \"$created\"
}
}"
if echo $json|jq . ;then
# curl -sL -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $token_yui" -d $json $url
fi
}
#download_character_icon
#create_game_character
ai_create_user

693
ue.json
View File

@ -1,19 +1,324 @@
{
"aiue": {
"name": "ue",
"name": "aiue",
"description": "aiue system",
"repo": "https://git.syui.ai/ai/ue",
"ref": "https://git.syui.ai/ai/ue/wiki/system",
"body": {
"text": "ai unreal engine, game naming conventions, character attribute",
"text": "[ai] [u]nreal [e]ngine, system overview, game naming conventions",
"lang": {
"ja": "AI Unreal Engine, ゲームの命名規則, キャラクターの属性"
"ja": "ai Unreal Engine, システムの概要, ゲームの命名規則"
}
},
"tag": [
"ai",
"atom",
"molecule",
"lexicon": {
"ai.syui.game": {
"uri": "https://git.syui.ai/ai/ue/src/branch/main/lexicons/ai/syui/game.json"
},
"ai.syui.game.user": {
"uri": "https://git.syui.ai/ai/ue/src/branch/main/lexicons/ai/syui/game/user.json"
},
"ai.syui.game.character": {
"uri": "https://git.syui.ai/ai/ue/src/branch/main/lexicons/ai/syui/game/character.json"
}
},
"system": {
"enum": [
"character",
"atmosphere",
"universe"
],
"atmosphere": {
"name": "atmosphere",
"repo": "https://github.com/bluesky-social/atproto",
"uri": "https://atproto.com/ja/guides/glossary",
"ref": "https://en.wikipedia.org/wiki/atmosphere_of_earth",
"lang": {
"ja": "大気圏"
},
"exoshere": {
"name": "exo",
"lang": {
"ja": "外気圏"
},
"km": [
{
"min": 700,
"max": 10000
}
],
"enum": [
"universe"
]
},
"thermoshere": {
"name": "thermo",
"lang": {
"ja": "熱圏"
},
"km": [
{
"min": 80,
"max": 700
}
],
"enum": [
"aurora"
]
},
"mesoshere": {
"name": "meso",
"lang": {
"ja": "中間圏"
},
"km": [
{
"min": 50,
"max": 80
}
],
"enum": [
"meteor",
"plc"
],
"plc": {
"name": "plc",
"repo": "https://github.com/did-method-plc/did-method-plc/tree/main/packages/server",
"tag": [
"did"
]
}
},
"stratoshere": {
"name": "strato",
"lang": {
"ja": "成層圏"
},
"km": [
{
"min": 12,
"max": 50
}
],
"enum": [
"ozone",
"bigsky"
],
"bigsky": {
"name": "bgs",
"service": [
{
"name": "bgs",
"repo": "https://github.com/bluesky-social/indigo/tree/main/cmd/bigsky"
}
]
},
"ozone": {
"service": [
{
"name": "ozone",
"repo": "https://github.com/bluesky-social/atproto/tree/main/services/ozone"
}
]
}
},
"troposhere": {
"name": "tropo",
"lang": {
"ja": "対流圏"
},
"km": [
{
"min": 0,
"max": 12
}
],
"enum": [
"bluesky"
],
"bluesky": {
"name": "bsky",
"service": [
{
"name": "pds",
"repo": "https://github.com/bluesky-social/atproto/tree/main/services/pds"
},
{
"name": "bsky",
"repo": "https://github.com/bluesky-social/atproto/tree/main/services/bsky",
"tag": [
"api",
"appview"
]
},
{
"name": "bsync",
"repo": "https://github.com/bluesky-social/atproto/tree/main/services/bsync"
},
{
"name": "social-app",
"repo": "https://github.com/bluesky-social/social-app",
"tag": [
"web"
]
},
{
"name": "oauth",
"repo": "https://github.com/bluesky-social/cookbook/tree/main/python-oauth-web-app"
},
{
"name": "feed",
"repo": "https://github.com/bluesky-social/feed-generator"
},
{
"name": "stream",
"repo": "https://github.com/bluesky-social/jetstream"
}
]
}
}
},
"character": {
"body": {
"text": "character system is the core of this game",
"lang": {
"ja": "キャラクターシステムはこのゲームの核。yui, evolution, attributeの3つのシステムで構成される"
}
},
"enum": [
"yui",
"evolution",
"attribute",
"status",
"color"
],
"status": {
"name": "status",
"body": {
"text": "the status system determines the overall status of the character",
"lang": {
"ja": "ステータスシステムはキャラクター全般のステータスを規定する"
}
},
"enum": [
"lv",
"constellation",
"nature",
"stone"
],
"lv": {
"lang": {
"ja": "レベル"
},
"min": 1,
"max": 7,
"body": {
"text": "character level system",
"lang": {
"ja": "キャラクターのレベルシステム"
}
}
},
"constellation": {
"lang": {
"ja": "星座"
},
"min": 0,
"max": 3,
"body": {
"text": "character duplication system. in japanese it is called convex, but in english it is often abbreviated to [c]",
"lang": {
"ja": "キャラクターの重複システム。日本語では凸と言われるが、英語では[c]と略されることが多い"
}
}
},
"natrue": {
"lang": {
"ja": "天性"
},
"enum": [
"skill",
"burst",
"attack"
],
"min": 1,
"max": 7
},
"stone": {
"lang": {
"ja": "石"
},
"body": {
"text": "stone system modeled after birthstones",
"lang": {
"ja": "誕生石をモデルにした石システム"
}
},
"enum": [
"garnet",
"amethyst",
"aquamarine",
"diamond",
"emerald",
"pearl",
"ruby",
"peridot",
"sapphire",
"opal",
"topaz",
"turquoise"
],
"min": 1,
"max": 12
}
},
"color": {
"name": "color",
"body": {
"text": "the color system determines the color of the character",
"lang": {
"ja": "色システムはキャラクターの色を規定する。ガチャで手に入れたキャラクターはすべてこの色違いとなる。色違いは2種類あり、特殊なエフェクトが付いている。なお、低確率で本物に近い色違いが排出される。rankが高い色で上書きされる"
}
}
},
"yui": {
"body": {
"text": "yui system that aims to guarantee [unique]ness for characters",
"lang": {
"ja": "キャラクターに唯一性の担保を目指す、唯システム"
}
},
"rule": {
"text": "characters are divided into groups. groups change with each season. they do not return to the previous season. the number of pickups starts at 1, and when it reaches 0, the chance to get that character disappears. the first character assigned will have a unique skill. characters acquired through pickups will not be able to use unique skills.",
"lang": {
"ja": "キャラクターはグループに分けられる。グループはシーズンで移行する。前シーズンに戻ることはない。ピックアップ数は1から始まり0になると手に入れる機会が消滅。最初に割り当てられたキャラクターはユニークスキルを持つ。ピックアップで手に入れたものはユニークスキルを使えない"
}
}
},
"evolution": {
"enum": [
"animal",
"human",
"divinity"
],
"body": {
"text": "each character has three stages of evolution",
"lang": {
"ja": "1キャラクターにつき3段階の進化[変身]がある"
}
}
},
"attribute": {
"enum": [
"ai",
"atom",
"molecule"
],
"body": {
"text": "each character has one attribute",
"lang": {
"ja": "1キャラクターにつき1属性を持つ"
}
},
"ai": {
"name": "ai",
"group": [
@ -27,9 +332,19 @@
"text": "the smallest unit in this world, smaller than a quark. the smaller it is, the more it can gather together. it generates enormous gravity, and black holes are made up of these particles. this world is the world of existence. existence is made up of the consciousness of existence. the consciousness of existence is the smallest thing in this world, and all matter is a collection of this consciousness.",
"lang": {
"ja": "クォークよりも小さいこの世界の最小単位。小さいほど集まることができる。膨大な重力が発生し、ブラックホールはこの粒子で構成されている。この世界は存在の世界。存在は存在の意識で構成される。存在の意識はこの世界で最も小さいもので、あらゆる物質はこの意識の集合体"
},
"effect": {
"name": "gravity",
"value": 1,
"body": {
"text": "immediately before attacking, perform a powerful pull",
"lang": {
"ja": "攻撃の直前、強力な引き寄せを行う"
}
}
}
},
"tag": [
"enum": [
"ai",
"yui"
],
@ -39,14 +354,12 @@
"lang": {
"ja": "アイ"
},
"story": {
"body": {
"text": "there is nothing the same in this world. even though we may seem to be looking at the same thing, we are actually looking at something different. there is uniqueness in everything",
"lang": {
"ja": "この世に同じものは何一つない。同じものを見ているように見えても、実は違うものを見ている。すべての存在は唯一性を持つ"
}
}
}
},
"yui": {
"name": "yui",
@ -71,7 +384,7 @@
"ja": "アトムはギリシャ語のアトモス、これ以上分割できないという単語が由来。原子は陽子と中性子からなる原子核と、その周囲に分布する電子から構成される"
}
},
"tag": [
"enum": [
"proton",
"neutron",
"atomic",
@ -111,6 +424,17 @@
"color": "#9b59b6",
"lang": {
"ja": "クォーク"
},
"effect": {
"name": "gravity",
"value": 0.1,
"body": {
"text": "immediately before attacking, perform a powerful pull",
"lang": {
"ja": "攻撃の直前、強力な引き寄せを行う"
}
}
}
}
},
"molecule": {
@ -128,7 +452,7 @@
"ja": "2つ以上の原子から構成される電荷的に中性な物質"
}
},
"tag": [
"enum": [
"water",
"wind",
"rock",
@ -158,109 +482,48 @@
},
"rock": {
"name": "rock",
"color": "#black",
"color": "#f0b27a",
"lang": {
"ja": "岩"
}
},
"ice": {
"name": "ice",
"color": "#white",
"color": "#ebf5fb",
"lang": {
"ja": "氷"
}
}
}
},
"atmosphere": {
"name": "atmo",
"lang": {
"ja": "大気圏"
},
"exoshere": {
"name": "exo",
"lang": {
"ja": "外気圏"
},
"km": [
{
"min": 700,
"max": 10000
}
],
"tag": [
"universe"
]
},
"thermoshere": {
"name": "thermo",
"lang": {
"ja": "熱圏"
},
"km": [
{
"min": 80,
"max": 700
}
],
"tag": [
"aurora"
]
},
"mesoshere": {
"name": "meso",
"lang": {
"ja": "中間圏"
},
"km": [
{
"min": 50,
"max": 80
}
],
"tag": [
"meteor"
]
},
"stratoshere": {
"name": "strato",
"lang": {
"ja": "成層圏"
},
"km": [
{
"min": 12,
"max": 50
}
],
"tag": [
"ozone"
]
},
"troposhere": {
"name": "tropo",
"lang": {
"ja": "対流圏"
},
"km": [
{
"min": 0,
"max": 12
}
],
"tag": [
"sky"
]
},
"ref": "https://en.wikipedia.org/wiki/atmosphere_of_earth"
},
"universe": {
"name": "universe",
"lang": {
"ja": "宇宙"
},
"body": {
"text": "mainly the map (level) system, aim to reflect reality. create as many invisible and inaccessible areas as possible",
"lang": {
"ja": "主にマップ(レベル)のシステム。現実の反映を目指す。できる限り見えない部分、行けない場所を作る"
}
},
"system": {
"enum": [
"choices",
"diagnosis",
"fate"
],
"body": {
"text": "this world is made up of three elements: choices, diagnosis, and fate",
"lang": {
"ja": "この世界はchoices(選択), diagnosis(診断)、fate(運)という3つの要素で構成されます"
}
}
},
"uri": "https://eyes.nasa.gov/apps/solar-system",
"ref": "https://en.wikipedia.org/wiki/universe",
"tag": [
"enum": [
"earth",
"moon",
"sun",
@ -292,13 +555,13 @@
},
"sun": {
"name": "sun",
"tag": [
"enum": [
"solar"
],
"lang": {
"ja": "太陽"
},
"mass": 333000.01
"mass": 333000.0
},
"mars": {
"name": "mars",
@ -369,13 +632,9 @@
"lang": {
"ja": "銀河"
},
"tag": [
"enum": [
"milkyway",
"andromeda",
"bode",
"cigar",
"whirlpool",
"cartwheel",
"ringnebula"
],
"milkyway": {
@ -390,30 +649,6 @@
"ja": "アンドロメダ"
}
},
"bode": {
"name": "bode's",
"lang": {
"ja": "ボーデ"
}
},
"cigar": {
"name": "cigar",
"lang": {
"ja": "葉巻"
}
},
"whirlpool": {
"name": "whirlpool",
"lang": {
"ja": "子持ち"
}
},
"cartwheel": {
"name": "cartwheel",
"lang": {
"ja": "車輪"
}
},
"ringnebula": {
"name": "ringnebula",
"lang": {
@ -423,5 +658,209 @@
}
}
}
},
"character": {
"ref": "https://git.syui.ai/ai/ue/src/branch/main/lexicons/ai/syui/game/user.json",
"lang": {
"ja": "キャラクター"
},
"body": {
"text": "character status, groups, attributes, etc.",
"lang": {
"ja": "キャラクターのステータス、グループ、属性など"
}
},
"enum": [
"ai",
"chinese",
"manny",
"quinn",
"phoenix",
"kirin",
"leviathan",
"wyvern",
"cerberus",
"dragon",
"kitsune",
"pegasus",
"whale",
"lion",
"elephant",
"eagle",
"snake"
],
"ai": {
"lang": {
"ja": "アイ"
},
"body": {
"text": "ai age and origin are unknown. she is described as having lived longer than a dragon. she calls herself ai. she is registered in the government system as [tsukimi yui] her birthday is 01/23, and she is also the same height. this is a reference to the mass of the moon. she has black hair and black eyes. she likes pineapples and dislikes mushrooms.",
"lang": {
"ja": "年齢や出身は不明。ドラゴンより長く生きているという描写がある。自らをアイと名乗る。政府のシステムには[月見唯(つきみゆい)]で登録されている。誕生日は01/23、身長も同じ。月の質量が由来。黒髪、黒い瞳をしている。パイナップルが好物でキコが苦手"
}
},
"img": "bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy",
"season": 0,
"group": "origin",
"attribute": "ai",
"day": "0123"
},
"manny": {
"lang": {
"ja": "マニー"
},
"img": "bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy",
"season": 1,
"group": "test",
"attribute": "test"
},
"quinn": {
"lang": {
"ja": "クイーン"
},
"img": "bafkreie34pjuc6coenzcdwrgrh4fbacq7bkhsz263g5vpbsqxwaz37kkwy",
"season": 1,
"group": "test",
"attribute": "test"
},
"chinese": {
"lang": {
"ja": "シンリュウ"
},
"img": "bafkreidlealfybajqzwv5eoz4jshnsijc2vnktlhpw4ph47krwj6aigqby",
"season": 1,
"group": "fantasy",
"attribute": "quark"
},
"phoenix": {
"lang": {
"ja": "フェニックス"
},
"img": "bafkreich7fsumke2yvumvixkruonzrcevk3f6g2cntzfwdn4n2c2vox5dm",
"season": 1,
"group": "fantasy",
"attribute": "proton"
},
"kirin": {
"lang": {
"ja": "キリン"
},
"img": "bafkreiegpqedlrfa4ljhssdnkrr5hyd5huy2xhh2zszj5wq2wuuzejggmq",
"season": 1,
"group": "fantasy",
"attribute": "neutron"
},
"leviathan": {
"lang": {
"ja": "リヴァイアサン"
},
"img": "bafkreig6vszkx3c4dcortjwfsz6sa6zwqgj7zpxj4lxfrrkwql4xhiu5ou",
"season": 1,
"group": "fantasy",
"attribute": "electron"
},
"wyvern": {
"lang": {
"ja": "ワイバーン"
},
"img": "bafkreiacjvagsekhiiljz3j237b6klrt6pkptxljt7kltprgg5276gv25q",
"season": 1,
"group": "fantasy",
"attribute": "proton"
},
"cerberus": {
"lang": {
"ja": "ケルベロス"
},
"img": "bafkreihpni4lp55jysalcntulzal5rbhidtbseanlucpyucagzxmv6xj24",
"season": 1,
"group": "fantasy",
"attribute": "atomic"
},
"dragon": {
"lang": {
"ja": "ドラゴン"
},
"img": "bafkreia3huw2gdenqatoobx3hcft74chced46bw4znfgepo5aenegobkri",
"season": 1,
"group": "fantasy",
"attribute": "atomic"
},
"kitsune": {
"lang": {
"ja": "キュウビ"
},
"img": "bafkreidy74aieb6ie646xhosginox5zbnbnrtd76cnt4pbn73hrxgfnple",
"season": 1,
"group": "fantasy",
"attribute": "neutron"
},
"pegasus": {
"lang": {
"ja": "ペガサス"
},
"img": "bafkreifnbfj27fr6nv7qeqqmwdibf7qrw4lauvzoknw5hexbifmwqt6kmq",
"season": 1,
"group": "fantasy",
"attribute": "electron"
},
"lion": {
"lang": {
"ja": "ライオン"
},
"season": 2,
"group": "animal",
"attribute": "fire"
},
"elephant": {
"lang": {
"ja": "ゾウ"
},
"season": 2,
"group": "animal",
"attribute": "rock"
},
"eagle": {
"lang": {
"ja": "ワシ"
},
"season": 2,
"group": "animal",
"attribute": "wind"
},
"snake": {
"lang": {
"ja": "ヘビ"
},
"season": 2,
"group": "animal",
"attribute": "ice"
},
"whale": {
"lang": {
"ja": "クジラ"
},
"season": 2,
"group": "animal",
"attribute": "water"
}
}
},
"aiverse": {
"name": "aiverse",
"description": "aiverse project",
"repo": "https://git.syui.ai/ai/ue/src/branch/main/verse",
"ref": "https://git.syui.ai/ai/ue/wiki/project",
"body": {
"text": "ideas and philosophies when building a system. aiming to fuse games and reality",
"lang": {
"ja": "システムを構築する際の思想と哲学。個人(現実)とゲームの融合を目指す"
}
},
"enum": [
"unique",
"game",
"real"
]
}
}