如题,Clojure或者类似的函数式编程语言是否适合开发游戏(非服务端)?
建议楼主研究一下FRP这个词,再回来看这个问题。比如 http://elm-lang.org/
简单答案是 Why not?
复杂答案是正在有不少探索,但离实用阶段还有些距离。例如Clojure-unity3d是探索用 Clojure 来作为 Unity3D 的脚本语言。这个看起来过分早期?也可以看看 play-clj,使用 libGDX 来做跨平台的开发。
它还处于萌芽阶段的原因有:
据我所知游戏客户端(PC)的开发是以C/C++ & Lua组合为主流的,其中前者负责图像、物理等引擎部份,后者负责关卡、剧情的DSL
C/C++
Lua
函数式语言首先做不了后者(门槛偏高),然后如果要取代前者的话,物理引擎可能还行,图像引擎的话回避不开OpenGL和D3D等图像库亲C的问题。另外性能方面也有待具体考量
不过我知道Clojure和Scala是JVM语言,可以睡在安卓的dalvik上,取代Java做安卓游戏开发。不过高性能的部分还是需要NDK和C家族的语言支持
非游戏开发,请专业人士继续补充
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
建议楼主研究一下FRP这个词,再回来看这个问题。
比如 http://elm-lang.org/
简单答案是 Why not?
复杂答案是正在有不少探索,但离实用阶段还有些距离。例如Clojure-unity3d是探索用 Clojure 来作为 Unity3D 的脚本语言。这个看起来过分早期?也可以看看 play-clj,使用 libGDX 来做跨平台的开发。
它还处于萌芽阶段的原因有:
据我所知游戏客户端(PC)的开发是以
C/C++
&Lua
组合为主流的,其中前者负责图像、物理等引擎部份,后者负责关卡、剧情的DSL函数式语言首先做不了后者(门槛偏高),然后如果要取代前者的话,物理引擎可能还行,图像引擎的话回避不开OpenGL和D3D等图像库亲C的问题。另外性能方面也有待具体考量
不过我知道Clojure和Scala是JVM语言,可以睡在安卓的dalvik上,取代Java做安卓游戏开发。不过高性能的部分还是需要NDK和C家族的语言支持
非游戏开发,请专业人士继续补充