游戏项目开发
这是我的第一篇文章。我今年22岁,来自西班牙,我完成了大学的学习,在那里我学习了I.T.一群朋友和我想开发一个游戏,这个游戏将包含一个3D世界,在这个世界中,简单的3D形状相互影响,其中涉及“真实”的物理。 我没有视频游戏编程的经验,我愿意学习,所以我想问:游戏项目开发
您将使用哪种编程语言和/或库来进行包含三维形状的游戏的互动和“真实”一样的物理?
在此先感谢。
p.s:我知道这个问题有多个答案,但我想知道什么是目前最常用的技术。
我使用David Brackeen着的书“开发Java游戏”开发了一些适用于Windows的Java平台游戏。它确实涵盖了3D的东西,但我还没有那么深入。
我建议看看微软的XNA框架。这将涵盖它的'游戏'方面。至于物理学方面,我建议看看Bullet引擎,虽然有很多可供选择。
看看Bullet:
子弹3D游戏多物理库提供的艺术碰撞检测,柔软的身体和刚体动力学的状态。
- 很多游戏公司在AAA游戏在PlayStation 3,微软Xbox 360,任天堂Wii和PC
- 模块化可扩展的C++设计
- 优化多线程后端大部分部件的热插拔使用在Playstation 3细胞SPU支持和其他平台
- 离散和连续碰撞检测(CCD)
- 扫频碰撞查询
- 雷用定制碰撞过滤铸造
- 通用凸面支持(使用GJK),胶囊,圆柱体,圆锥体,球体,箱体和非凸三角形网格。
- 刚体动力学,包括约束解算器,通用约束,布娃娃,铰链,球窝 用于约束限制和马达
- 软体支持,包括布,绳索和可变形
- 子弹
- 支持集成到搅拌机3D并提供了一个插件玛雅
- 支持进出口进入COLLADA 1.4物理格式
- 用于非凸三角形的动态变形支持啮合,通过重新安装加速结构
该图书馆可免费用于商业用途,并可根据ZLib许可免费开放源代码。
非常好的答案。 – 2008-10-08 12:13:08
你应该看看SDL库(http://www.libsdl.org),因为它支持多种平台和具有绑定多种编程语言。它也支持OpenGL。
祝你好运!
这将有所帮助。 – 2008-10-08 12:12:17
用C#编写的XNA Game Studio。学习比C++和DirectX/OpenGL更容易(主观)。 http://creators.xna.com/
还有另一个关于它的线程。当我找到它时会链接。
闪电战很快就能让东西快速启动。
Blitz3D具有3D显卡和什么样的支持不行。 http://shareit1.element5.com/product.html?productid=147747
它也是足够强大的“真实”的游戏由它
SDL供电是游戏事实上的出发点,以及在某些平台上反正。它可以让你快速启动并运行(并且它可以在linux上运行)。
一旦你可以搜索sourceforge几个:例如,PLIB,Ogre,CrystalSpace。尽管我不知道他们在过去几年中的进步如何,但他们都很好。
如果你想运行纯粹的实时3D与良好的物理我会建议C + +例如OpenGL。
我想请你看看http://nehe.gamedev.net/的OpenGL教程。你也可以在http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=30
找到一个碰撞检测系统的例子。如果你真的没有很好的实时性的东西,你可能会使C++变得苍白并且变成一个“更简单”的编码语言。
有a lot of engines可供您使用。你需要开始研究哪一个适合你的游戏设计。
大多数商业游戏都是用C++语言编写的,其他语言的飞溅将其完全绑定在一起。其他语言提供了不同的特性,例如Java的移动电话便携性。
仅供参考,OpenSource BSD许可项目名为OpenSim,其中包括在C#和Mono中重新创建服务器端SecondLife基础结构。
它似乎符合你的朋友和你想要做的事。虽然仍处于Alpha阶段,但它非常稳定,绝对值得一试。
我现在正在用OpenSim搞个人工智能任务。值得注意的是,它可能会遇到运行很长时间的递归脚本或脚本的问题。有ini设置来解决这些问题,但另外,如果我正在寻找速度或稳定性(在这种情况下,它被指定为一项任务,所以没有选择),它绝对不是我的选择。 如果您确实需要使用OpenSim,请确保您运行一些简单的测试以确保环境处理您需要的操作(例如,当你故意造成堆栈溢出时,调试堆栈溢出就容易多了)。 – 2010-04-07 01:04:34
如果您在编程方面绝对没有经验,并且希望获得真正快速的视觉效果,那么您应该查看诸如DarkBasic或Blitz3D之类的语言。这就是说,这些语言有相当强的限制,如果你正在考虑学习编程,你可能会想要朝向Java或C#的不同用户创建的API,如JOpenGl,Jogre,XNA,SDL.Net或Irrlicht.Net。他们将允许您在创建游戏时学习对象编程的基础知识。
这里有不同的链接:
的Java:
C#:
又简单又强大的(至少根据我的口味:))是Apocalyx。
完全开放源代码,大量演示和大量教程可以直接使用许多常用格式(例如MD2,Cal3D或BSP),以便您使用高级工具创建您的世界。
用C++编写,可在Lua中编写脚本(有专用的脚本编辑器)。
如果您熟悉Delphi,请尝试GlScene。
是的,C#和XNA是一个很好的组合。良好的生产力,易于学习。 XNA不包括物理(然而(我不知道会不会))。寻找一个独立的.NET物理库,以包括物理学。 – Statement 2008-10-08 12:11:12