-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
非常有趣的mod和一些改进意见 #1
Comments
有群吗,我可以参与设计 |
很好的想法但是很难设计 |
我可以提供一些帮助,我本职就是CPU工程师,恰好又喜欢玩缺氧 |
还是非常感谢您的支持。 但是我个人认为,这是一个用于游戏中的模组,没有生产力要求,换成更高效的语言并不会带来什么更好的收益。而且如果如你说的替换掉js,搞一个特殊的脚本语言、汇编语言,这样大家都不会,反而要学习,劝退。我选择js作为控制语言,也是因为它足够简单,语言热门,会的人最多,大家可以快速上手。 您的想法可以作为一个分支来开发,作为第三第四种,这样大家也有选择可以选喜欢的玩。 (PS。缺氧是使用C#语言开发的,目前这个模组运行js和汇编都是使用C#写的一个解释器来运行的,目前实现不了直接在游戏里运行汇编代码,更不要提编译这复杂的东西了) |
可能对我的意思理解有点出入 首先,C51汇编本身就很低效,编码和解释执行都很低效,考虑到性能,我觉得设计一种更简单的汇编格式较好
这样会更直观,上手会更容易,对于第一次接触的玩家,我想这种汇编会比C51更加容易学习 第二点,替换掉javascript也是因为效率比较低,并且容易把游戏搞崩,最佳方法应该是编译为上面说的自定义汇编代码,一帧只执行若干条指令,这样可以保证游戏不会卡顿或者卡死,塞个简单的编译器并不难 |
我可以免费提供完整帮助 |
这个mod要做得好玩的话建议限制CPU中的代码量,比如二级科技可以只给个4输入4输出的CPU,限制为64条汇编指令的ROM,给个128byte内存RAM,三级、四级科技的CPU则有更多的端口,ROM和RAM,同样也需要一些稀有金属,可以整个新建筑“编程器”,负责将用户写的代码转换为汇编代码 |
感谢你的支持!我个人可能没有太多时间开发这个模组,主要是维护和修复bug,如果你想做,可以开个分支自己开发,我再将你的修改合并到主分支里面。 |
正在重写汇编解释器,估计过几天就能写完 |
https://github.com/tastynoob/FAST-PSASM |
我可能需要你的一点帮助,我不是特别懂缺氧mod开发,很多API我并不知道用法,目前我已经将我的psasm移植上去了,但仍有不少问题 |
我实现了一套保存恢复机制,可以将汇编解释器保存为二进制文件的形式,保存一个CPUContext仅需1.5K左右的存储,并且保存与恢复仅需5ms左右,这比json序列化更加高效快速,但是我不是特别懂缺氧存档的保存加载机制,这部分需要你的帮助 |
@tastynoob 接入到cpu模组里面的这一块代码我帮你写就可以了,我需要一些时间来修改 |
这是我的修改ONICPU-PSASM,目前做了如下改动: |
我给你整理一个干净的分支出来好了,没有javascript,只有汇编的一个空类,然后你在这上面开发可以吗 |
可以,我把代码迁移过去 |
我现在已经给psasm设计了一种简易编程语言pslang和它的编译器,目前已经能够正常的编译简单语句 |
1.优化汇编风格,实际上没必要参考真实机器的x86汇编,完全可以定制一套更加高效的汇编格式
2.替换掉javascript执行器,使用一种简单的定制语言,编译为汇编解释执行
The text was updated successfully, but these errors were encountered: