2008-10-08 87 views
5

这是我的第一篇文章。我今年22岁,来自西班牙,我完成了大学的学习,在那里我学习了I.T.一群朋友和我想开发一个游戏,这个游戏将包含一个3D世界,在这个世界中,简单的3D形状相互影响,其中涉及“真实”的物理。 我没有视频游戏编程的经验,我愿意学习,所以我想问:游戏项目开发

您将使用哪种编程语言和/或库来进行包含三维形状的游戏的互动和“真实”一样的物理?

在此先感谢。

p.s:我知道这个问题有多个答案,但我想知道什么是目前最常用的技术。

回答

0

我使用David Brackeen着的书“开发Java游戏”开发了一些适用于Windows的Java平台游戏。它确实涵盖了3D的东西,但我还没有那么深入。

0

我建议看看微软的XNA框架。这将涵盖它的'游戏'方面。至于物理学方面,我建议看看Bullet引擎,虽然有很多可供选择。

+0

是的,C#和XNA是一个很好的组合。良好的生产力,易于学习。 XNA不包括物理(然而(我不知道会不会))。寻找一个独立的.NET物理库,以包括物理学。 – Statement 2008-10-08 12:11:12

8

看看Bullet

子弹3D游戏多物理库提供的艺术碰撞检测,柔软的身体和刚体动力学的状态。

  • 很多游戏公司在AAA游戏在PlayStation 3,微软Xbox 360,任天堂Wii和PC
  • 模块化可扩展的C++设计
  • 优化多线程后端大部分部件的热插拔使用在Playstation 3细胞SPU支持和其他平台
  • 离散和连续碰撞检测(CCD)
  • 扫频碰撞查询
  • 雷用定制碰撞过滤铸造
  • 通用凸面支持(使用GJK),胶囊,圆柱体,圆锥体,球体,箱体和非凸三角形网格。
  • 刚体动力学,包括约束解算器,通用约束,布娃娃,铰链,球窝
  • 用于约束限制和马达
  • 软体支持,包括布,绳索和可变形
  • 子弹
  • 支持集成到搅拌机3D并提供了一个插件玛雅
  • 支持进出口进入COLLADA 1.4物理格式
  • 用于非凸三角形的动态变形支持啮合,通过重新安装加速结构

该图书馆可免费用于商业用途,并可根据ZLib许可免费开放源代码。

+0

非常好的答案。 – 2008-10-08 12:13:08

2

我建议你从Flash开始。这是一个创建简单游戏的好环境,但有很好的3D和物理引擎可用(例如Papervision3DFisix),因为您希望获得更多幻想。

5

你应该看看SDL库(http://www.libsdl.org),因为它支持多种平台和具有绑定多种编程语言。它也支持OpenGL。

祝你好运!

+0

这将有所帮助。 – 2008-10-08 12:12:17

3

用C#编写的XNA Game Studio。学习比C++和DirectX/OpenGL更容易(主观)。 http://creators.xna.com/

还有另一个关于它的线程。当我找到它时会链接。

0

SDL供电是游戏事实上的出发点,以及在某些平台上反正。它可以让你快速启动并运行(并且它可以在linux上运行)。

一旦你可以搜索sourceforge几个:例如,PLIB,Ogre,CrystalSpace。尽管我不知道他们在过去几年中的进步如何,但他们都很好。

0

a lot of engines可供您使用。你需要开始研究哪一个适合你的游戏设计。

大多数商业游戏都是用C++语言编写的,其他语言的飞溅将其完全绑定在一起。其他语言提供了不同的特性,例如Java的移动电话便携性。

1

仅供参考,OpenSource BSD许可项目名为OpenSim,其中包括在C#和Mono中重新创建服务器端SecondLife基础结构。

它似乎符合你的朋友和你想要做的事。虽然仍处于Alpha阶段,但它非常稳定,绝对值得一试。

+0

我现在正在用OpenSim搞个人工智能任务。值得注意的是,它可能会遇到运行很长时间的递归脚本或脚本的问题。有ini设置来解决这些问题,但另外,如果我正在寻找速度或稳定性(在这种情况下,它被指定为一项任务,所以没有选择),它绝对不是我的选择。 如果您确实需要使用OpenSim,请确保您运行一些简单的测试以确保环境处理您需要的操作(例如,当你故意造成堆栈溢出时,调试堆栈溢出就容易多了)。 – 2010-04-07 01:04:34

0

如果您在编程方面绝对没有经验,并且希望获得真正快速的视觉效果,那么您应该查看诸如DarkBasic或Blitz3D之类的语言。这就是说,这些语言有相当强的限制,如果你正在考虑学习编程,你可能会想要朝向Java或C#的不同用户创建的API,如JOpenGl,Jogre,XNA,SDL.Net或Irrlicht.Net。他们将允许您在创建游戏时学习对象编程的基础知识。

这里有不同的链接:

DarkBasic Home

Blitz3d

的Java:

JopenGL

JOGRE

C#:

XNA

SDL.net

Irrlicht.net

0

又简单又强大的(至少根据我的口味:))是Apocalyx

完全开放源代码,大量演示和大量教程可以直接使用许多常用格式(例如MD2,Cal3D或BSP),以便您使用高级工具创建您的世界。

用C++编写,可在Lua中编写脚本(有专用的脚本编辑器)。

0

在C++中,我使用SDLGLFW;在Python中,我使用了PyGamePyglet

就语言而言,如果你使用C++,那么我肯定会建议寻找Squirrel,Lua或Python等脚本编写的东西,尽管用Python编写整个游戏也是很好的开始成为一个问题后,你可以编写只是在C++中导致问题的模块 - 当然在分析之后)。

0

如果您熟悉Delphi,请尝试GlScene。