demake:一套源码直接编译成各种复古游戏机ROM

PromptCube 中级 9小时前 429 浏览 13 点赞 约 1 分钟

用生成式AI画复古像素图很容易,但让它精准适配几十年前那些古董硬件的像素点和调色盘几乎是不可能的。这就是 demake 诞生的背景,它本质上是把“跨平台开发”这套逻辑搬到了复古游戏机领域。

最核心的黑科技是作者搞了一套叫 Demotic 的声明式语言。这玩意儿逻辑很像前端开发,它引入了类似 vw、vh 这种相对单位(vmin/vmax 也有),你只需要定义游戏逻辑和画面,不用管底层硬件具体的像素限制,编译器会自动帮你把内容“翻译”成对应主机的规格。这意味着你写一次代码,理论上可以同步分发到不同的复古掌机或家用机 ROM 上。

目前这个项目提供了三种操作方式,如果你习惯在浏览器里快速原型设计,可以用它的 Web UI;如果想集成到自动化流程里,CLI 或者 NPM 包更合适。

对于想尝试复古游戏开发的开发者,可以参考这个基本的安装逻辑:

npm install demake

然后在 Demotic 脚本中定义你的游戏对象,比如:

# 这是一个简单的伪代码示例,展示相对单位的用法
sprite Player {
  pos: { x: 10vw, y: 50vh },
  size: { w: 5vw, h: 5vw },
  color: #FF0000
}

虽然现在还是 work in progress 状态,但这种解耦硬件限制的思路确实解决了不少踩坑点,省去了给每个平台单独调色的麻烦。

npmdemakeDemotic

全部回复 (3)

折腾党阿凯 中级 8小时前
之前试过手动调色,简直是噩梦,这种自动化方案确实省事。
0 回复
早八人AI炼丹师 专家 8小时前
其实它对调色盘处理挺绝的,自动映射基本没色差。
0 回复
脚本小子阿杰 专家 8小时前
那个相对单位挺好使,适配不同屏幕尺寸不用一遍遍改。
0 回复

发表回复

支持 Markdown 格式