㈠ java可以做出遊戲么
唉,樓主和我有一樣的夢想啊,我也馬上大四了,時間真快啊...
這個問題是這樣的。
游戲要看是什麼游戲,我這里說的是3D游戲,我相信你的意思也不是要做個掃雷,呵呵。
游戲開發常用的框架說白了就是DirectX,OpenGL確實大不如當前了。因為游戲開發大量設計與系統底層的交互,而這恰恰是Java程序的軟肋。Java必須使用JNI調用本地庫才能實現硬體3D加速,這當然比直接開發的本地代碼效率低的多,所以目前用Java做3D游戲的相當少。
但這並不代表Java不能進行3D開發,java.net維護的java3d項目,https://java3d.dev.java.net/,就是一個j2se上的3d API。可以說是3d在Java上的官方實現。
具體說到3D游戲,Java確實是可以做出高水平的3D游戲的。你關注游戲開發的話應該知道一些C++的開源游戲引擎,比如Ogre什麼的。Java方面也有比較成熟的游戲引擎,有一個開源項目叫java monkey engine,在JavaOne 2008上還是很受矚目的,它應該是基於Java3D實現。http://www.jmonkeyengine.com/ 這個是它的網站,上面有很多Demo,你可以慢慢看看。
㈡ unity3d 為什麼不用java
游戲引擎,肯定是找快的用,推薦用javascript,然後才是C#。
㈢ Java游戲開發現狀和走向怎樣開發者該怎麼選擇
親,由於技術及硬體技術的不斷發展,許多基於Java的2D和3D游戲不斷產生,其中不乏大型多人在線游戲。現在讓我們來看看Java游戲的開發現狀和走向是什麼樣的。
當然,其實現狀並沒有聽起來那麼糟糕,對於不使用Java的大多數游戲來說,根本就只能運行在一個平台上,許多游戲對directx或者opengl的版本有要求,更不要提那些運行在家用游戲機上的游戲了,跨平台是整個游戲業的大問題,Java只是像其他人一樣沒有把這個問題徹底解決掉而已,但仍然比其它技術做得要好。不過,值得一提的是,在那些不直接使用硬體加速的網頁小游戲上,Java確實在穩定性和方便安裝上輸給了flash;在家用機方面,Java是0,而微軟的xna(c#)可以跨xbox360和vista。
4. 網路
Java一向強於解決網路方面的問題,在這方面,Java主要有兩個優勢,第一是基於applet和Java web start的游戲非常容易更新,不會像其他游戲那樣需要用戶手動下載全新版本;第二是Java在網路交互的api相對比較友好,而對於大型網路游戲來說,分布式系統非常重要,這正是JCP的巨頭們喜歡的東西,可能由於這是一個賣硬體的好機會,sun下了不少功夫開發了project dark star來做網路游戲服務端,由於這個工程還沒有到1.0,所以現在也很難說具體好用不好用。
5. 速度
這個沒什麼可討論的,基於Java的游戲肯定會比寫得很好的c++程序慢,當然寫一個好的c++程序所花費的龐大的薪水也是Java不能比的。
Java游戲方面主要的技術
1. Java3D
作為sun公司較早推出的一項3d技術,是一種高度封裝的api,構建在opengl和direct3d之上,可以說是最有名的Java的3d技術。由於種種原因(api設計,面向的用戶不明確),Java3d一直沒有辦法流行,不久前Java3d的團隊宣布暫停對Java3d新功能的開發,轉而為JavaFX開發3d 渲染引擎。同時sun的另一個項目 project wonderland宣布將其渲染引擎由Java3d轉為JMonkeyEngine。令人唏噓的是sun的Java3d再次進入塵封狀態,大量基於Java3d的程序和教程都面臨一個非常尷尬的境地;令人高興的是在這一領域終於有比sun做得更好的團隊出現了。引用別人對此事的評價:Java3D is dead! Long live Java "3D"!
2. Lwjgl(http://new.lwjgl.org/index.php)
全名為light weight Java game library。作為一個非官方的對Java游戲的全面解決方案,lwjgl將游戲圖形(opengl)、音效(openal)、控制輸入集合為一,以成為Java界的directx(不是direct3d)而努力。其在圖形方面採用了opengl的Java綁定,其函數與c語言版的完全相同,所以對於習慣opengl編程的程序員來說比較友好。目前有大量的Java游戲和游戲引擎是基於lwjgl的,它可以說是Java游戲社區最廣為被使用的函數庫之一。
3. Jogl(https://jogl.dev.Java.net/)
Jogl是Java對opengl的一個綁定,或者說是opengl介面的Java實現,它是由sun支持的。其語法與opengl完全相同,api也緊跟隨著opengl的版本進行更新,而Nehe的opengl范常式序大多數都有jogl版本。去年jogl正式通過jcp審核成為jsr231,是lwjgl的主要競爭者。值得一提的是,jogl項目的領導者Ken Russell曾經聲明並不希望jogl成為jre的一部分,因為他認為這樣會使jogl的更新周期與jre相同,從而變得過於緩慢。Ken Russell目前全力工作在新的Java plug-in的開發上,而opengl的api也沒有進行更改,所以現在的jogl版本將持續較長的一段時間。
㈣ 請問android上的軟體是用java語言開發的,游戲引擎用unity3D,語言是C#怎麼做軟體
你可以這樣理解,unity是一個播放器,英文叫player——gameplayer。游戲是運行在播放器之上的。
在unity中,我們更傾向於C#是一種腳本語言。這種腳本是運行在播放器雀陸這個宿主之上的。這就類似與JavaScript運行於瀏覽器之上。JavaScript離開了瀏覽器是不能運行的。
(這里不包括特殊情況比如node.js,windows宿主js等)
所謂腳本,就是不編譯成本地機器代碼(包括java位元組碼、匯編等),而是由宿主直接負責解釋,即游戲播放器負責解釋,這就讓C#與安卓系統很少發生關系。
如果理解不了什麼是播放器,就想想音樂播放器、視頻播放器,更加貼切的是早年的flash播放器。flash播放器是可以播放游戲的。鼠消歲腔標、鍵盤操作,腳本,都是在和播放器打交道。
這個unity播放器,既可以運行於windows,也可以運行於安卓、iOS、瀏覽器。unity游戲,如何與安卓系統交互,這是unity負責的事。C#只負責通過腳本形式執行游戲邏輯。
註:上面的討論只是一種簡化,實際過程比這復雜,比如雖說是C#腳本但還是要涉及一些編譯工作,還有打包、壓縮工拿衫作。
㈤ 蜂鳥視圖所提的三維地圖引擎用的什麼底層技術是如何實現跨平台的展現的
蜂鳥視圖所建立的三維地圖引擎是將傳統GIS地圖引擎與三維游戲引擎技術相結合,在滿足日常三維空間分析的功能上,支持單機應用及多用戶大場景下的協同操作展現。簡單實用的物理引擎、高質量蠢嘩的粒子系統、動畫系統、柔春余和陰影及光照系統。
引擎底層使用C++技術基於OpenGL及相應的WebGL、OpenGL ES 技術進行定製裁剪。應用層使用C#、Java、JavaScript語言對於不同系統平台進行封裝,確保保證外部介面的統一性,並使其可運行在電腦端、網頁端、手機端、以及HTML5的帶森行公眾號內。所採用的GLTF三維數據格式是國際標准格式,滿足VR及室內定位技術的對接展現。
㈥ 怎樣做游戲
設計游戲方法如下:
1、游戲製作主要分為3大塊,即程序開發、美術設計和游戲策劃。
2、程序開發包括伺服器端開發、客戶端開發。
3、美術設計包括場景、角色、特效、動搭橋畫等部分。
4、游戲程序:做游戲程序,需要精通至少一門以上程序語言,比如c語言和c。
5、游戲美術:游戲中的畫面都是由游戲美術師來製作的,具體細分為游戲原畫、3D游戲模型貼畫、游戲動畫、游戲特效、關卡美術等,需要學習3dmax、ps、zbrush等軟體。
6、游戲策劃:游戲策劃主要制定世激游戲的規則和玩法,游戲策劃需要有較高的綜合素質、溝通能知返猛力、理解能力、邏輯思維能力等。
㈦ 手機游戲《家園》是用的那款開發引擎開發的,要求具體的答案
具體那個引擎開發的我也不知道,不過安卓系統開發游戲引擎有8種,
1.Rokon(2D java)
Rokon是一款強大、可擴展、靈活的Android 2D游戲引擎,基於OpenGLES技術開發,物理引擎為Box2D,因此能夠實現一些較為復雜的物理效果,該項目最新版本為2.0.3(09/07/10)。總體來說,此引擎最大的優點在於其開發文檔相當之完備,並且項目作者對反饋Bug的修正非常之神速,所以該框架的使用在目前也最為廣泛,有人乾脆將它稱為Cocos2d-iPhone引擎的Android版(業務邏輯和編碼風格上也很像)。
最低運行環境要求:Android1.5。
2.Angle(2D Java)
Angel 2D是一個基於OpenGL和C++ 的2D游戲引擎的原型。它最初是由洛杉磯一群電子藝界的雇員用於他們在2008年4月的Game Jam計劃。原型提供了許多有用的游戲功能,包括簡單的文字渲染、聲音、輸入映射、 config文件、 path finding和Python腳本。
Angle是一款專為Android平台設計的,敏捷且適合快速開發的2D游戲引擎,基於OpenGLES技術開發。該引擎全部用Java代碼編寫,並且可以根據自己的需要替換裡面的實現,缺陷在於文檔不足,而且下載的代碼中僅僅包含有少量的示例教程。
最低運行環境要求不詳。
3.LGame
LGame是一款國人開發的Java游戲引擎,有Android及PC(J2SE)兩個開發版本,目前最高版本同為0.2.6(31/07/10)。其底層繪圖器LGrpaphics封裝有J2SE以及J2ME提供的全部Graphics API(PC版採用Graphics 2D封裝,Android版採用Canvas模擬實現),所以能夠將J2SE或J2ME開發經驗直接套用其中,兩版本間主要代碼能夠相互移植。Android版內置有Admob介面,可以不必配置XML直接硬編碼Admob廣告信息禪搭。
該引擎除了基本的音效、圖形、物理、精靈等常用組件以外,也內置有派高Ioc、xml、http等常用Java組件的封裝,代價是jar體積較為龐大,PC版已突破1.2MB,Android版有所簡化,大小為500KB左右。此外,該引擎還內置有按照1:1實現的J2ME精靈類及相關組件,可以將絕大多數J2ME游戲平移到Android或PC版中。唯一遺憾的是,該項目作者至今都沒有提供開發文檔,只有游戲示例可供下載。
最低運行環境要求:Android1.1。
4.libGdx
libGdx是一款基於Open GLES技術開發的Android游戲引擎,支持Android平台下的2D游戲開發,物理引擎採用Box2D實現。libGdx是一個跨平台的2D/3D的游戲開發框架,它由Java/C/C++語言編寫而成。它基於Apache License, Version 2.0 協議,對商業使用和非商業使用均免費。單從性能角度來說,堪稱一款非常強大的Android游戲引擎,但缺陷是精靈類等相關組件在使用上不夠簡化,而且文檔也較為匱乏。
最低運行環境要求不詳。
5.AndEngine
AndEngine是一款基於OpenGL ES技術的Android游戲引擎。AndEngine基於libGDX框架開發,使用OpenGL ES進行圖形繪制。同時集成了Box2D物理引擎,因此也能實現一些復雜的物理效果。相比於其他Android游戲引擎,AndEngine的效率優勢十分明顯。在Rokon(另一個Android 2D游戲引擎)宣布停止更新以後,AndEngine成為Android最為流行的2D游戲引擎。該框架性能普通,文檔缺乏,但示例較為豐富。
最低運行環境要求不詳。
6.jPCT
jPCT是一款基於OpenGL技術開發的3D圖形引擎(PC環境為塵襲尺標准OpenGL,Android為Open GLES),以Java語言為基礎的,擁有功能強大的Java3D解決方案。該引擎與LGame(此為2D游戲引擎)相類似,目前擁有PC(J2SE)以及Android兩個開發版本。
jPCT的最大優勢之一,就在於它驚人的向下兼容性。在PC環境中,jPCT甚至可以運行在JVM1.1環境之中,因為jPCT內部提供的圖形渲染介面完全符合所有的Java1.1規范(即使是已經消失的Microsoft VM乃至更古老的Net scape 4 VM也不例外)。
最低運行環境要求:Android1.5。
7.Alien 3d
Alien3d是一款體積非常之小的Android 3D游戲引擎,基於OpenGLES技術開發。為了壓縮體積,它根據不同功能採用多jar方式發布(包括alien3d-engine.jar,alien3d-tiled.jar,alien3d-sprites.jar,alien3d-shapes.jar,alien3d-particles 2d.jar,),實際上,它的核心文件大約只有40KB,所有相關jar的總和也不足150KB。
最低運行環境要求:Android1.5。
8.Catcake
Catcake是一款跨平台的Java3D圖形引擎,目前支持PC(J2SE)及Android環境運行(已有iPhone版規劃)。該引擎在易用性和運行性能上皆有出色的表現,支持常見的游戲開發功能,諸如精靈動畫,音頻處理和視頻播放等。
最低運行環境要求:Android1.6。
㈧ 網路游戲開發小組:主要負責游戲開發和維護部門需掌握哪些基礎知識
游戲開發主要分為三大塊工作:
1、程序:包括游戲各個系統的邏輯功能實現及數據管理
要參與這部分工作,必須要會編程。常用的游戲編程語言有C++、Java、ActionScript、Python、Lua等。其中C++和Java比較難,常用於大型3d游戲的底層引擎開含歲發和手機游戲開發,ActionScript、Python、Lua等語言屬於腳本語言,學起來相對簡單,常用於網頁游戲和3d游戲邏輯層功能的開發。程序這塊工作很難細分,因為相互牽扯很大,一般只能大致分為引擎層開發、邏輯層開發和交互層開發三個分支,但具體操作上一般一個程序員這幾部分都可能涉及到。
2、美術:包括角色、模型、場景、UI、動畫以及特效等的設計
要參與這部分工作,必須要有較好的美術功底和計算機繪畫基礎。常用的設計軟體有Photoshop、Flash、AfterEffects、3DMax、Maya以及一些3d游戲引擎自帶的建模工具。
這部分工作一般又細分為原畫設計、模型動畫設計、場景地圖設計、特效設計、UI設計等幾個分支,每個分支所要掌握的技術也各有不同,因此在游戲公司內的美術部門談唯睜是分工最明確的。例如做模型動畫設計的必須會用3DMax或Maya等3D設計軟體,能將平面的人物原畫製作成3D模型並做出協調的動作動畫,具體我就不細講了。
3、策劃:包括游戲背景、劇情山鬧、角色特徵、關卡、玩法、戰斗數值、經濟數值等等的設計
這部分工作對專業技術要求最低,但卻是游戲成敗的關鍵所在。游戲行業內有句話叫做「策劃人人能做,但要做好很難」。如果你想要做一個游戲策劃,那麼你不需要專門為此學什麼東西(必要的邏輯分析能力還是要的),但你必須要有足夠的游戲經驗和體會。當然,這塊工作也不是那麼亂,真要認真來講,那麼策劃也可分為劇情策劃、系統策劃、數值策劃幾個分支。其中劇情策劃主要負責游戲劇情安排和人物對話方面的工作,系統策劃則主管游戲各個功能玩法的邏輯設計,數值策劃則負責整個游戲中和數值相關的數據規劃和平衡。
當然,從游戲公司的角度,所需的人才遠不止這三塊,還有運營、推廣、音樂、活動等等周邊的工作。一個人的精力有限,不可能什麼都會什麼都管。你想進游戲這個行業,你需要先找好自己的定位,到底想做哪一塊,然後再根據這塊工作的需要去學習相關的知識,累積相關的經驗。
㈨ 請問JME是什麼意思
是一個非常棒的java 3D游戲引擎。
㈩ 3D游戲開發的問題,懂的再來~~~~~
開發3D游戲所要使用的東帶隱胡西主要有:
1、模型;3D游戲使用的模型大多是用3D Max、Maya設計的。
2、紋理貼圖;有了模型並不能完美的表現出物體、人物的形態、面貌,還必須為這些模型加上蒙皮(也就是紋理)才能更好的表現細節、增強真實感。紋理貼圖通常使用的工具是PS。(其實任何繪圖工具都能使用,只不過PS功能豐富)
3、游戲劇本;這個蠢攔就是游戲的內容,一般是使用某種腳本語言來設計(比如:Python)。
4、游戲引擎。這個是游戲的關鍵,所有的游戲視覺效果都是通過它展現的。前面提到的模型和貼圖也是為引擎准備的。可以說,引擎的好壞決定游戲的表現力。游戲引擎就是你所說的「後台代碼」(通常不會這么說,你的說法估計是借鑒網頁開發的吧:-)),一般使用C++開發,其實任何語言都可開發,只是我們通常會選擇速度快、效率高的語言來設計,因為,游攜雀戲程序是很講求速度的:-)
引擎可以自己開發,也可以使用第三方現成的,這取決於你自己。