代码之家  ›  专栏  ›  技术社区  ›  Jon Cage

你希望在游戏编程DSL中看到什么特性?

  •  5
  • Jon Cage  · 技术社区  · 16 年前

    该语言将是相当低级的,它将有一个类似C的语法,可选的垃圾收集,并将面向内存或处理能力很小的系统(如任天堂DS),但应该足够强大,以方便个人电脑的开发。 它不是一种脚本语言,而是一种编译语言,但是由于我们不想花几个月的时间编写一个普通的编译器,第一个实现基本上是一个LanguageName-to-C转换器,TCC或GCC是最终编译器。

    你想在这样的语言里看到什么?在实现和语法方面,什么特性最适合它?要避免什么?

    编辑:

    • 基于状态的对象-对象可以存在于其状态之一(或子状态)
    • 事件和函数-事件不一定要存在才能被调用,并且可以冒泡
    • 有限的动态分配和指针支持-我们希望它尽可能安全
    • 支持对象合成(英雄由Actor、Hurtable、Steerable等动态组成)
    • 本地化和序列化的基本支持
    • 一种可快速解析的语法
    • 我们希望使语言尽可能一致:所有的东西都作为值传递,每个声明都有可预测的语法(例如。 function retType name(type arg) is (qualifier, list) { } ;不 const static , public 除限定符列表外的任何地方的限定符)等。
    4 回复  |  直到 16 年前
        1
  •  4
  •   Skizz    16 年前

    使并发编程更容易的东西。也许是Erlang和C++的混合体。自从细胞处理器被宣布以来,我一直在思考这个问题,但是它需要大量的研发时间来解决它,解决许多传统C++程序中已经存在的问题。

        2
  •  3
  •   Kzqai    16 年前

    就我个人而言,我喜欢编写能够接触到广大网络受众的游戏。使桌面和web之间的接口变得简单是非常有趣的。

        3
  •  2
  •   Jason Orendorff Oliver    16 年前

    你可以做的比读这个更糟糕: The Next Mainstream Programming Languages: A Game Developer's Perspective (PDF格式)。

        4
  •  2
  •   A.A. Grapsas    16 年前

    首先,有你的引擎级语言。这通常是C++。一切都是为了表现。游戏玩法的构件并不打算在这里实现(遗憾的是,它们通常是这样)。

    接下来是游戏语言。这是轻量级的,易于理解,并且是为快速迭代而设计的。

    最后,还有一种可视化脚本语言。这是最轻的,面向非程序员(级别设计人员等)。

    话虽如此:

    一定要去看看UnrealScript。整个行业都在使用它(因为虚幻引擎是FPS游戏开发的基石)。

    • 并发编程(看看CCP在eveonline上用stacklesspython做了什么)
    • 你可以在客户端或服务器上安全地运行复制或lscript
    • 州(如前所述)会很好。UnrealScript具有此功能。这需要安全地完成(即,在任何点进出,复杂的过渡处理优雅,等等)

    祝你好运!