我尝试将Abuse(PC)移植到3DS的经历,使用Cursor
这个游戏是1996年的一款2D横版游戏,设计用于PC,使用鼠标瞄准和射击。我认为这样一种游戏可能在3DS上运行,受到Modern Vintage Gamer视频的启发,他将Heart of Darkness移植到原版Xbox,我想尝试一下
我没有任何这样的经验,所以我使用Cursor AI来看看我能走多远。 我从来没有期望它会真正工作,我只是想测试我作为初学者的能力
首先,Abuse是一款C++游戏,这是我们用于3DS的语言。游戏有一个SDL 1.2的移植版本,这很好,因为3DS上有一个SDL 1.2的库,尽管它使用软件渲染。 我认为3DS的屏幕分辨率足够高,而且我可以使用触摸屏来替代鼠标瞄准
我认为这是可行的,因为这是90年代的一款2D游戏,它最初的帧率是15fps,所以它 shouldn't对硬件有太大的负担
第一步是生成一个工作的Makefile并修复一些编译错误。 我最终得到了一个 .3dsx文件,可以在模拟器中运行
我加载了3dsx并得到了一个空白屏幕。 这是一个巨大的成功。 我进入了调试过程,与Azahar合作,这意味着使用gdg。 我实际上取得了进展
- 3DS模拟器初始化了一个用于游戏逻辑的Lisp解释器
- 我得到了3DS加载数据文件的能力,经过将它们复制到SD卡
但然后我遇到了一个墙壁,数据文件还没有完成就出现了一个内存错误。 我从来没有弄清楚它是什么,AI说3DS试图访问一个无效的内存地址,但我也怀疑加载太多资产到内存中可能会导致内存不足
调试也变得令人沮丧,因为我没有经验编写3DS的家brew,我无法快速准确地调试
我放弃了,但我实际上从中学习了:
- 开始一个项目之前,我应该考虑是否有足够的RAM,即使一个游戏看起来像它应该能够运行
- 我应该在尝试运行它之前禁用声音,网络,多人,降低分辨率和任何非必需的游戏功能
- 我应该学习如何在平台上正确地调试
- 我应该更加熟悉C++,目标语言和主要用于游戏开发的库
- AI可以让我走得比我期望的更远,但如果你无法正确地指导它(也就是说,你对发生的事情没有一个高层次的理解),它只能带你走到这里
我很想听到那些真正知道自己在做什么的人的经历
评论 (0)