功能(有趣功能性的G公司名称英语吉恩)
<a href=“https://github.com/haskell-game/fungen/blob/master/examples/hello.hs#L1"
FunGEn是一个BSD许可、跨平台、基于OpenGL的游戏引擎,用Haskell编写。由Andre Furtado于2002年创建,是最古老的Haskell游戏引擎,依赖关系很少,有两个示例游戏,这是开始Haskell游戏开发最简单的方法之一。
FunGEn提供:
- 游戏对象的初始化、更新、删除、渲染和分组例程
- 游戏背景(或地图)的定义,包括基于纹理的地图和平铺地图
- 读取和解释玩家的键盘和鼠标输入
- 碰撞检测
- 基于时间的功能和预定义的游戏动作
- 加载和显示24位位图文件
- 一些调试和游戏性能评估工具
限制:
西蒙·迈克尔为该软件包提供不频繁的维护,以及Matrix或Libera IRC上#haskell-game中的聊天支持(昵称:平方米
).没有问题跟踪程序,也没有电子邮件支持。
我没有时间做更多的事情,但这个包仍然有用只要有一点TLC和一个流畅的主页,就能吸引用户。你愿意接管吗?需要维护人员或联合维护人员!
<a href=“https://github.com/haskell-game/fungen/blob/master/examples/pong/pong.hs#L1"
<a href=“https://github.com/haskell-game/fungen/blob/master/examples/worms/worms.hs#L1"
安装
如果您的系统上尚未安装OpenGL C库,请安装这些库。Ubuntu/Debian上的示例:
$sudo apt安装freelug3-dev
如果您不知道它们是否已经安装,请尝试下一步并查看“缺少C库”错误。
最新发布时间:
(变化)
$stack install FunGEn#或cabal安装
确保~/.本地/bin
(堆栈)或~/.电缆/箱子
(cabal)或windows等效程序位于shell PATH中,然后运行示例游戏:
$芬根-赫罗$fungen-pong美元$真菌
最近未发布:
(变化)
$git克隆https://github.com/haskell-game/fungen$cd fungen美元$stack build#或cabal build$stack执行官fungen你好$堆栈exec fungen-pong$stack exec真菌
文档
历史
2002年安德烈网站摘录:
什么是游戏引擎?
游戏引擎可以被视为提供游戏设施的库给一个游戏程序员。当使用游戏引擎时,程序员必须指定游戏事件何时发生,而不是如何发生已实施。同一功能的实现可能不同于平台到平台,如果引擎是平台依赖的。这个游戏引擎的主要优点是可以重用到以自动化方式开发多种不同类型的游戏,节省了大量编程时间。
为什么是Haskell?
我们相信Haskell是一种开发游戏的好语言,因为它的高度抽象和生成更简洁,优雅而简短的代码。这对于代码维护和理解。结合Haskell的力量和提供的设施by游戏引擎似乎是一个很有前途的项目。你可以在上找到更多信息Haskell在其官方网站上。
何为HOpenGL?
HOpenGL代表Haskell开放图形库。实际上,它是一个绑定到世界上最著名的图形库之一(OpenGL)及其辅助工具包(GLUT)。换句话说,它使可以调用OpenGL/GLUT例程(这些例程是用C编写的语言)。您可以在HOpenGL上找到更多信息在我的HOpenGL教程网站或其官方网站上。
当前2002年状况
一些反馈表明,FunGEn的第一个版本并没有达到预期的“功能”:一些游戏问题仍在通过强制方式解决。这样,该项目的作者决定改变游戏引擎的理念:程序员应该将游戏描述为一组“规范”,而不是强制性地定义其行为。完成这项任务的一个可行的替代方案是将Clean Game Library(CGL)移植到Haskell,添加一些FunGEn特有的功能。因此,这就是FunGEn项目的实际状态:它正在重建,以提供遵循CGL概念的游戏编程机制。这确实需要一些时间,但作者预计很快就会发布新版本。
…请注意:这是FunGEn的第一个版本,发布它只是为了从游戏程序员那里获得一些反馈。强烈邀请您参加告诉您在FunGEn上的游戏编程经验,帮助我们发布了一个明确、稳定的版本)。好的,在这个免责声明之后,请随意在网站上进行快速浏览;对于那些真正有兴趣尝试新游戏编程体验的人来说,它包含了很多有用的信息。很好的编码。。。
托多
这里有一些即将推出的FunGEn功能列表,以及其他一些功能所需的功能(但还没有实现预测)。
- 支持地图滚动(即将推出);
- 支持鼠标输入管理(即将推出);
- 使多边形地图定义可用(即将推出);
- 使声音可用于非Win32平台;
- 如果可能的话,创建一些运算符以避免过多的(x<-…)语法;
- 支持自动动画对象;
- 创建独立于GLUT的字体支持(或者扩展它);
- 改进安装过程;
- 将FunGEn升级为2D(二维)和2D 1/2(双半维)引擎;
- 创建地图编辑器/生成器(可能使用其他语言,或使用全新的Haskell GUI…);
- 鼓起勇气开始思考3D世界。。。
你想推荐一个功能吗?请随意。你愿意吗实现一个功能?请做!保持联络。
信用
FunGEn由Andre Furtado创建,他毕业于计算科学美国联邦大学信息中心的学生伯南布哥(UFPE),作为科学调查(PIBIC/CNPq)的一部分研究项目(使用Haskell创建游戏平台),面向讲师安德烈·桑托斯(1995年格拉斯哥大学博士)负责制定大量FunGEn实现细节。
我还要感谢以下为FunGEn的发展做出贡献的人:
- 斯文·潘恩
- 杰·考克斯
- 盖伯·拉马霍
- 卡洛斯·安德烈·佩索阿
- 查尔斯·马德拉
- 莫妮克·蒙泰罗
- Haskell邮件列表中的人
FunGEn可以自由发布,希望它会有用,但无任何担保;甚至没有适销性的暗示保证或特定用途的适用性。如果你能引用我的名字,我将不胜感激如果你想用FunGEn做除家以外的其他事情,你可以访问这个网站编程。