这是我的第一篇文章。我今年22岁,来自西班牙,我完成了大学的学习,在那里我学习了I.T.一群朋友和我想开发一个游戏,这个游戏将包含一个3D世界,在这个世界中,简单的3D形状相互影响,其中涉及“真实”的物理。 我没有视频游戏编程的经验,我愿意学习,所以我想问:游戏项目开发
您将使用哪种编程语言和/或库来进行包含三维形状的游戏的互动和“真实”一样的物理?
在此先感谢。
p.s:我知道这个问题有多个答案,但我想知道什么是目前最常用的技术。
这是我的第一篇文章。我今年22岁,来自西班牙,我完成了大学的学习,在那里我学习了I.T.一群朋友和我想开发一个游戏,这个游戏将包含一个3D世界,在这个世界中,简单的3D形状相互影响,其中涉及“真实”的物理。 我没有视频游戏编程的经验,我愿意学习,所以我想问:游戏项目开发
您将使用哪种编程语言和/或库来进行包含三维形状的游戏的互动和“真实”一样的物理?
在此先感谢。
p.s:我知道这个问题有多个答案,但我想知道什么是目前最常用的技术。
我使用David Brackeen着的书“开发Java游戏”开发了一些适用于Windows的Java平台游戏。它确实涵盖了3D的东西,但我还没有那么深入。
我建议看看微软的XNA框架。这将涵盖它的'游戏'方面。至于物理学方面,我建议看看Bullet引擎,虽然有很多可供选择。
看看Bullet:
子弹3D游戏多物理库提供的艺术碰撞检测,柔软的身体和刚体动力学的状态。
该图书馆可免费用于商业用途,并可根据ZLib许可免费开放源代码。
非常好的答案。 – 2008-10-08 12:13:08
我建议你从Flash开始。这是一个创建简单游戏的好环境,但有很好的3D和物理引擎可用(例如Papervision3D和Fisix),因为您希望获得更多幻想。
用于执行的C/C++和用于脚本的Lua。
介绍到Lua http://www.gamedev.net/reference/programming/features/lua/
你应该看看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