<- 重生点
如果无法正常使用, 请按下 Ctrl+F5 或清除浏览器缓存
已支持移动端! 请使用正常的新版本浏览器访问
PC端操作方式:
[W]: 向前移动
[S]: 向后移动
[A]: 向左移动
[D]: 向右移动
[T][Backspace]: 打开聊天界面
[Tab]: 显示实体列表
[ESC]: 关闭当前组件
[Enter][Space]: 确认/选中
[F3]: 显示调试信息(PC)
MD语法支持: 图片`![]()`, 自动url`https://ipacel.cc/`, 反斜杠转义字符(用于取消md解析)`\\`
[A]
规则构建中...
计划队列:
- a更好的聊天系统
游戏的3个图层: 操作界面层(操作界面包含3大件: 特殊交互, 基础交互, 数据显示) > 实体层 > 场景层(场景层中的场景模块可以在其他图层之上, 也可以有自己的缩放中心以及移动跟随步长乘数. 场景以区块为单位进行加载, 编写场景时需要定义场景加载范围, 当玩家的可视范围接触到场景加载范围则动态加载到客户端); 客户端3个循环: 用户操作循环 < 主体运算循环 < 网络通讯循环; 数据的3个类型: 运算缓存数据, 主体缓存数据, 用户配置数据. (运算缓存有主体缓存数据的索引(用于在循环中快速查找大量数据), 各种临时数据(用于框架的功能实现), 性能分析数据(收集数据以便优化), 脚本指针和临时数据(脚本解析器产生的数据), 场景缓存(或预加载)). 饼画的太大了, 能实现一半都算不错的了..
添加"默认配置", 每个功能有自己的默认配置, 脚本会覆盖在默认配置上然后交给功能实现程序. 那么脚本就会有一个编译过程, 我不打算再写一个编译器, 大概会直接在客户端临时编译. 然后从性能分析数据中得到常用脚本并编译后覆盖在客户端缓存的原始脚本上?? (好像想到了什么熟悉的东西
- c开始菜单
- s根据负载自动增减线程数
- a拖拽上传图片
- a本地的收藏图片
- c客户端的 Loki.js, 或者服务端的实体剔除?
v0.3更新日志:
- a添加了一个NPC插件: ride.js (骑乘)
- c修复移动端部分按键无法使用的bug
- c整理代码, 优化按键部分
- a-NPC-v2 实现扩展性更高的NPC .ing
- s添加描述文件, 优化循环部分
- c更新插件加载器, 以及配置文件格式
- c优化循环部分, 整理代码
- c再次修复移动端滚动问题
- c一些细节优化
- !c重写前端, 实现与服务器相同的扩展能力 !!待测试
- c通过CSS实现更平滑的Tpsbar
- c一些错误修复
- a更好的心跳包和ping显示, 将连接超时时间改为20秒
- a显示玩家断开的方式: 断开连接|连接丢失|心跳超时
- s更好的指令消息输出
- c!解决移动端滚动条, 正则表达式等兼容问题
- !s整理后端代码, 添加事件, 更好的扩展能力
- s简洁的主程序
- !s使用 Loki.js 内存数据库代替普通json
- a添加指令系统
- s更好的日志系统
- s更好的初始化程序
- a更好的聊天组件, 新UI和少部分MD语法支持
v0.2更新日志:
- c组件位置使用绝对定位
- c后台运行时通过系统通知显示聊天消息
- c完整的支持后台运行
- c为陀螺仪控制添加自定义原点功能
- c更好的键盘操作动态移速
- c添加移动端传感器支持
- c添加"速度倍率", 用于控制移动速度
- c添加PWA应用
- c将一些东西移动到Worker线程.ing
- s服务器发包支持(排除玩家), 用于节省流量
- c更好的聊天组件
- c添加移动端支持, 添加url参数`isPE = true|false`. PC端默认false, 移动端为true
- i遇到了点问题, 过几天再回来. Edit: 2022年12月8日: 开发者回来啦! 最近更新可能有点慢
- c尝试优化玩家移动, 在短时间内动态增加步长到最大值
- a再次重写NPC, 提供更多扩展性, 优化代码
- a允许NPC的一个程序组同时监听多个事件
- c重写NPC消息处理程序, 添加更多功能
- s添加配置载入功能, 用于加载大量的配置数据
- c修复过渡动画图层缩放导致实体偏移
- c性能优化
- a重写NPC解析器, 简化JSON, 提高性能
- c一些细节优化
- c调试信息界面, 使用F3打开
- a添加历史消息回放功能, 玩家加入退出消息显示
- a更好的延迟计算
- c解决由浏览器记住上次滚动位置造成的偏移 通过 `history.scrollRestoration = 'manual'`
- a简化NPC的脚本
- a-NPC脚本自定义运行条件from触发方式, NPC程序: 修改程序指针, NPC程序: 清除消息
- a-NPC实体定义触发条件 和 NPC程序定义触发条件 和 NPC程序组定义触发条件
- i设计一个图标, 没错, 就是上面那个标题)
- c动态自适应窗口大小
- c添加"彩蛋1"
- c添加循环管理器, 防止循环意外运行, 降低资源消耗
- c添加更多动效
- c!更换网页宽高获取方式, 兼容性bug, 待验证
- c!暂时移除反作弊, 受延迟影响实体位置被回滚, 没有考虑数据包错序
- r线上运行测试! 高延迟场景
- c为NPC添加更多触发事件和功能扩展空间
- c添加动画库.js, 动画库.css
- c-NPC脚本解析器
- a为NPC添加脚本功能
- a添加NPC实体标签
- a数据包合并框架, 所有数据在队列中, 根据网络io-tps统一打包发送
- s严格的数据预处理, 防止注入
- a更好的移动处理, 防止走斜线速度过快
- a更好的实体碰撞处理
- a-Tpsbar
- c更好的玩家移动动画, 解决实体抽搐
- c组件运行时检查是否有与自己不兼容的组件正在运行
- c!解决实体方向的bug, 浏览器中实体css.top与y轴方向相反
- c添加碰撞箱 / 偏航角显示
- c将固定反向移动改为通过偏航角移动 #支持摇杆全向移动
- a实现玩家注册, 动态添加实体, 同步服务器已有实体数据
- a简单的实体索引
- a将玩家归类为实体, 通过实体标签区分 #NBT
- a实体自适应扩展数据
- a添加url参数`name=名称`. 默认为'未命名玩家'
- a软件重写, 已实现v0.1的所有功能
v0.1更新日志:
- a自适应玩家数 / 心跳 / 加入/退出
- c添加图层?
- s对玩家的目标行为进行验证 #反作弊
- s实现数据广播
- s实现玩家移动处理/聊天处理
- s数据处理队列
- a实现通讯
- c添加聊天ui
- c通过url初始化玩家数据
- c实现玩家移动, 通过键盘操作
- i添加更新日志
TPS: MSPT: PING: ms