2008-10-08 88 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。