您希望在游戏编程DSL中看到哪些功能?

Gha*_*nPL 5 dsl programming-languages language-design

我和我的朋友正处于创建一个专门为游戏编程而设计的领域专用语言的第一阶段.

语言将相当低级,它将具有类似C的语法,可选的垃圾收集,并将面向具有很少内存或处理能力的系统(即Nintendo DS),但应该足够强大以便于PC发展很容易.它不是脚本语言,而是编译语言,但由于我们不想花费数月时间编写普通编译器,因此第一个实现基本上是一个LanguageName-to-C转换器,以TCC或GCC作为结束编译器.

现在,我对你们所有的游戏程序员都有一个问题:

你想用这种语言看到什么?哪些功能,实现和语法方面最适合它?要避免什么?

编辑:

我们已经想到的一些事情:

  • 基于状态的对象 - 对象可以存在于其中一个状态(或子状态)中
  • 事件和函数 - 事件不一定要被调用,并且可以冒泡
  • 有限的动态分配和指针支持 - 我们希望它尽可能安全
  • 支持对象合成(Hero由(动态)Actor,Hurtable,Steerable等组成)
  • 状态中的"资源",在状态的开始/结束时自动加载和卸载(例如,OpenGL纹理对象是资源)
  • 本地化和序列化的基本支持
  • 一种可快速解析的语法
  • 我们想使语言尽可能一致:一切都为值传递,每一个声明有可预测的语法(如function retType name(type arg) is (qualifier, list) { };无const,static,public,等限定词除了在预选赛名单的任何地方)

Jas*_*rff 2

您可能会比阅读以下内容更糟糕:下一个主流编程语言:游戏开发人员的视角(PDF)。