突发奇想,问了自己一个问题,如果要设计元宇宙,我会怎么搞。
一些伪代码
Reader {// 数据接收
recieveMsg()
}
Writter {// 数据产出
sendMsg()
}
Broadcast{// 广播
noticeMsg()
readers: Reader[]
}
Interaction{// 互动
writters: Writter[]
}
Ground implement Broadcast, Interaction{// 数据集合
}
Player implement Reader, Writter {// 角色实体
}
Reporter implement Reader, Broadcast {// 数据转播集合
}
Street {
grounds:Ground[]
}
City{
streets: Street[]
}
世界分为N个Ground
每个Ground相互独立,设置最大数量用于网络连接数,降低带宽,连接数,代码复杂度。
每个角色仅存在于一个Ground中
Reporter作为一种特殊的Reader,用于转播Ground数据
实际点的例子
登录后在自己的Ground中,进行自己Ground业务逻辑。
ui打开街区/城镇/国家等,可选择去其他Ground去拜访。
比如街区,可以有饭店,操场,公园等不同的Ground,不同的角色可以在这里面互动。
比如城镇,可以有会议厅,广场等大型Ground。
关于Reporter的例子,比如开一场演唱会,限制10000人同屏。
那10000有门票的人就可以进演唱会的Ground里,可以数据交互(互动)。而其他人也可以看到演唱会的内容,但是就和看电视一样,是转播,不能互动。
网友评论