我想开发一个游戏,它将包含一个3D世界,其中简单的3D形状相互交互,其中涉及物理的“真实”。
我没有电子游戏编程方面的经验,我愿意学习,所以我想问一下哪种编程语言和/或图书馆会用于一个由三维形状相互作用的游戏组成的“真实” “喜欢物理?
我知道这个问题有多个答案,但我想了解目前最常用的技术是什么。
答案 0 :(得分:8)
看看Bullet:
Bullet 3D Game Multiphysics Library提供最先进的碰撞检测,柔体和刚体动力学。
根据ZLib许可证,该库可免费用于商业用途和开源。
答案 1 :(得分:5)
您应该查看SDL库(http://www.libsdl.org),因为它支持多个平台,并且具有各种编程语言的绑定。它还支持OpenGL。
祝你好运!答案 2 :(得分:3)
这里有另一个关于它的帖子。当我找到它时会链接。
答案 3 :(得分:2)
我建议您先使用Flash。这是一个创建简单游戏的好环境,但是当你希望得到更多的花哨时,它有很好的3D和物理引擎(例如Papervision3D和Fisix)。
答案 4 :(得分:1)
仅为了您的信息,有一个非常有趣的OpenSource BSD许可项目OpenSim,其中包括在C#和Mono中重新创建服务器端SecondLife基础架构。
这似乎与你朋友和你想做的事情相符。虽然仍处于Alpha阶段,但它非常稳定,绝对值得一试。
答案 5 :(得分:0)
我使用David Brackeen撰写的“开发Java游戏”一书开发了几个Java版平台游戏。它确实涵盖了3D内容,但我还没有那么远。
答案 6 :(得分:0)
我建议调查微软的XNA框架。这将涵盖它的“游戏”方面。至于物理学,我建议看一下Bullet引擎,虽然有很多可供选择。
答案 7 :(得分:0)
C / C ++表示性能,Lua表示脚本。
Lua简介 http://www.gamedev.net/reference/programming/features/lua/
答案 8 :(得分:0)
Blitz3D支持3d卡而不支持。 http://shareit1.element5.com/product.html?productid=147747
它也足以让“真实”游戏由它提供动力
答案 9 :(得分:0)
SDL是游戏的事实上的起点,无论如何都适用于某些平台。它会让你快速启动并运行(并且可以在linux上运行)。
在那里你可以搜索sourceforge的一些:例如,PLIB,Ogre,CrystalSpace。虽然我不知道他们在过去几年里的进展如何,但他们都很好。
答案 10 :(得分:0)
如果你想运行具有良好物理效果的纯实时3D,我建议使用例如OpenGL的C ++。
我希望你能在http://nehe.gamedev.net/下查看有关OpenGL的教程。您还可以在http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=30
找到碰撞检测系统的示例如果你实际上不是很好的实时内容,你可能可以使用C ++并使用“更简单”的编码语言。
答案 11 :(得分:0)
您可以使用a lot of engines。你需要开始研究哪一个适合你的游戏设计。
大多数商业游戏都是用C ++编写的,其他语言都是完全绑定在一起的。其他语言提供不同的特性,例如Java对移动电话的可移植性。
答案 12 :(得分:0)
如果您完全没有编程经验,并希望获得非常快速的视觉效果,那么您应该查看DarkBasic或Blitz3D等语言。
也就是说,这些语言具有相当强的优势,如果您正在考虑学习编程,您可能希望转向Java或C#的不同用户创建的API,如JOpenGl,Jogre,XNA,SDL.Net或Irrlicht.Net。它们将允许您在创建游戏时学习对象编程的基础知识。
以下是不同的链接:
Java:
C#:
答案 13 :(得分:0)
简单而有力的东西(至少根据我的口味:)) Apocalyx 。
完全开源,大量演示,大量教程,可直接使用许多常见格式(例如MD2,Cal3D或BSP),以便您使用高级工具创建您的世界。
用C ++编写,可在Lua中编写脚本(有一个专用的脚本编辑器)。
答案 14 :(得分:0)
在C ++中,我使用了SDL和GLFW;在Python中我使用了PyGame和Pyglet。
就语言而言,如果你使用C ++,那么我肯定会建议使用像Squirrel,Lua或Python这样的东西来编写脚本,尽管用Python之类的东西编写整个游戏也会很好(如果性能在以后开始成为一个问题,你可以只编写导致C ++问题的模块 - 当然在分析之后。)
答案 15 :(得分:0)
如果您熟悉Delphi,请尝试使用GlScene。