This commit is contained in:
sin365 2024-12-04 14:28:49 +08:00
parent 5b5da2767e
commit 29f231a3be

View File

@ -1,5 +1,7 @@
# AxibugEmuOnline # AxibugEmuOnline
### 一个跨平台的、自动化联机的、纯C#实现的、开源的模拟器项目
用于游戏模拟器同步的联机纯C#实现 用于游戏模拟器同步的联机纯C#实现
AxibugEmuOnline.Server 是服务端 .Net8 AxibugEmuOnline.Server 是服务端 .Net8
@ -10,7 +12,7 @@
- NES EmuCore NES模拟器核心 - NES EmuCore NES模拟器核心
VirtualNes C++手动翻译到C# VirtualNes C++手动翻译到C#并收纳民间各种扩展Mapper实现接近于最全的游戏支持。实测高倍速加速游戏的同时几百fps且进行网络同步性能一致完全同步
~~My Nes~~ (功能全,但是性能局限,不作为主要使用,但已经移植纯.Net Standard2.0归档) ~~My Nes~~ (功能全,但是性能局限,不作为主要使用,但已经移植纯.Net Standard2.0归档)
@ -30,11 +32,25 @@
目前其他跨平台联机,仅限于电脑和手机 目前其他跨平台联机,仅限于电脑和手机
#### 2.良好体验为目标 #### 2.自动化联机
以现代化联机方式作为基本方向 玩家不用关心任何诸如IP或者任何联机配置直接玩。服务器是直接提供的玩家无感知。
#### 3.各种有意义的探索(作为额外功能) 甚至不用手动创建房间,游玩就是房间。加入放也不用专门下载,直接选择房间之后,自动化下载完成游戏并进入游戏。
#### 3.柔性网络架构
最终效果,不会出现延迟高时的卡顿和暂停等待,也不会出现房间创建者和加入者之间 因网络状况差异造成体验差异,保证公平。
柔性指:根据网络延迟和木桶效应动态调整帧同步提前量。作为被动推帧。
核心原理是用刚好无限趋近于物理延迟本身的缓冲作,来抵消中间等待。
本来玩家的地理位置带来的物理延迟是不可抗因素,但我们把这部分拿利用起来对冲,任何耗时操作,队列,堆栈处理都在这部分完成。没有多余。
最终达到了除了物理延迟之外,没有任何浪费,并即便是网络状况极差时,仅表现为操作延迟,而不是其他一些模拟器的顿帧卡顿。且同步一致性得以保证。
#### 4.各种有意义的探索(作为额外功能,和联机无关)
应该是Unity引擎中对于模拟器内核的画面接入良好的范例 应该是Unity引擎中对于模拟器内核的画面接入良好的范例
@ -130,6 +146,4 @@ Mapper支持越多通俗讲就是支持更多卡带。
最终会继承到本项目中 最终会继承到本项目中
http://git.axibug.com/sin365/MAME.Core http://git.axibug.com/sin365/MAME.Core