2008-10-08 16 views
5

यह मेरी पहली पोस्ट है। मैं स्पेन से 22 वर्ष का हूं और मैंने विश्वविद्यालय पूरा कर लिया है जहां मैंने अध्ययन किया था। दोस्तों का एक समूह और मैं एक ऐसा गेम विकसित करना चाहता हूं जिसमें एक 3 डी दुनिया शामिल होगी जिसमें साधारण 3 डी आकार एक दूसरे के साथ बातचीत करते हैं जहां भौतिकी जैसे "वास्तविक" शामिल होते हैं। मुझे वीडियो गेम के प्रोग्रामिंग में कोई अनुभव नहीं है, और मैं सीखना चाहता हूं इसलिए मैं पूछना चाहता हूं:खेल परियोजना विकास

कौन सी प्रोग्रामिंग भाषा और/या पुस्तकालय आप एक गेम के लिए उपयोग करेंगे जिसमें 3 डी आकार एक दूसरे के साथ बातचीत कर रहे हैं और भौतिकी की तरह "असली"?

अग्रिम धन्यवाद।

p.s: मुझे पता है कि इस प्रश्न में कई जवाब हैं लेकिन मैं इस विचार को प्राप्त करना चाहता हूं कि वर्तमान में उपयोग की जाने वाली सबसे आम तकनीकें क्या हैं।

उत्तर

0

मैंने डेविड ब्रैकिन द्वारा "जावा में डेवलपिंग गेम्स" पुस्तक का उपयोग करके विंडोज के लिए जावा में कुछ प्लेटफ़ॉर्म गेम विकसित किए हैं। इसमें 3 डी सामान शामिल है लेकिन मुझे अभी तक यह नहीं मिला है।

0

मैं माइक्रोसॉफ्ट के एक्सएनए ढांचे में देखने का सुझाव देता हूं। इसमें इसके 'गेम' पहलुओं को शामिल किया जाएगा। भौतिकी के लिए, मैं बुलेट इंजन को देखने का सुझाव देता हूं, हालांकि कई लोग चुनने के लिए हैं।

+0

हाँ, C# और XNA एक अच्छा कॉम्बो है। अच्छी उत्पादकता, सीखने में आसान है। एक्सएनए में भौतिकी शामिल नहीं है (अभी तक (और मुझे नहीं पता कि क्या होगा))। भौतिकी को भी शामिल करने के लिए .NET के लिए एक अलग भौतिकी लाइब्रेरी की तलाश करें। – Statement

8

Bullet पर एक नज़र डालें:

बुलेट 3 डी खेल Multiphysics लाइब्रेरी कला टक्कर पता लगाने, मुलायम शरीर और कठोर शरीर गतिशीलता के राज्य प्रदान करता है।

  • प्लेस्टेशन 3, एक्सबॉक्स 360, Nintendo Wii और पीसी ज्यादातर घटक
  • अनुकूलित बहु लड़ी के साथ वापस आ-समाप्त होता है की गर्म स्वैप के साथ
  • मॉड्यूलर लचीला सी ++ डिजाइन पर एएए शीर्षक में कई खेल कंपनियों द्वारा प्रयुक्त प्लेस्टेशन 3 सेल एस पी यू के लिए समर्थन और अन्य प्लेटफार्मों
  • असतत और सतत टक्कर पता लगाने (सीसीडी)
  • स्वेप्ट टक्कर क्वेरी करता
  • रे कस्टम टकराव को छानने के साथ कास्टिंग
  • जेनेरिक उत्तल समर्थन (जीजेके का उपयोग करके), कैप्सूल, सिलेंडर, शंकु, गोलाकार, बॉक्स और गैर-उत्तल त्रिभुज मेष।
  • बाधा समाधानकर्ताओं, सामान्य बाधाओं, ragdolls, काज, गेंद-सॉकेट सहित कठोर शरीर गतिशीलता
  • बाधा सीमा और मोटर्स सहित
  • शीतल शरीर समर्थन कपड़ा, रस्सी और deformable
  • गोली के लिए
  • समर्थन ब्लेंडर 3 डी में एकीकृत है और एक माया प्लगइन उपलब्ध कराता है
  • आयात और कोलाडा 1.4 भौतिकी प्रारूप में निर्यात का समर्थन करता है
  • गैर उत्तल त्रिकोण के गतिशील विरूपण लिए सहायता meshes, refitting त्वरण संरचनाओं द्वारा

पुस्तकालय वाणिज्यिक उपयोग और ज़ेडब लाइसेंस के तहत मुक्त स्रोत के लिए स्वतंत्र है।

+0

बहुत अच्छा जवाब। –

2

मैं आपको फ्लैश का उपयोग करके शुरू करने की सलाह दूंगा। सरल गेम बनाने के लिए यह एक अच्छा वातावरण है, लेकिन जब आप अधिक फैंसी प्राप्त करना चाहते हैं तो अच्छे 3 डी और भौतिकी इंजन उपलब्ध हैं (उदाहरण के लिए Papervision3D और Fisix)।

5

के रूप में यह कई प्लेटफार्मों का समर्थन करता है और प्रोग्रामिंग भाषाओं के लिए कई तरह के लिए बाइंडिंग है आप एसडीएल लाइब्रेरी (http://www.libsdl.org) पर गौर करना चाहिए। यह ओपनजीएल का भी समर्थन करता है।

गुड लक!

+0

यह सहायक होगा। –

3

सीएनए के साथ लिखित XNA गेम स्टूडियो। सी ++ और डायरेक्टएक्स/ओपनजीएल की तुलना में सीखना आसान (व्यक्तिपरक) है। http://creators.xna.com/

इसके बारे में एक और धागा है। जब मुझे लगता है लिंक होगा।

0

ब्लिट्ज कुछ उठने और जल्दी से चलने में बहुत अच्छा है।

http://www.blitzbasic.com/

Blitz3D 3 डी कार्ड और क्या के लिए समर्थन नहीं है। http://shareit1.element5.com/product.html?productid=147747

यह भी "असली" खेल के लिए पर्याप्त शक्तिशाली द्वारा यह

जैसे http://www.zee-3.com/nakedwar/index.php

0

एसडीएल संचालित किया जा रहा है वैसे भी अच्छी तरह से कुछ प्लेटफार्मों पर, खेल के लिए जिस वास्तविक शुरुआती बिंदु है। यह आपको उठाएगा और बहुत जल्दी चल रहा है (और यह लिनक्स पर काम करता है)।

एक बार वहां आप कुछ के लिए स्रोत फोर्ज खोज सकते हैं: उदाहरण के लिए, पीएलआईबी, ओग्रे, क्रिस्टलस्पेस। वे सभी अच्छे हैं हालांकि मुझे नहीं पता कि पिछले कुछ वर्षों में उन्होंने कैसे प्रगति की है।

0

यदि आप अच्छे भौतिकी के साथ शुद्ध वास्तविक समय 3 डी चलाने के लिए चाहते हैं तो मैं उदाहरण के लिए ओपनजीएल के साथ सी ++ का सुझाव दूंगा।

ओपनजीएल के बारे में ट्यूटोरियल्स के लिए http://nehe.gamedev.net/ के तहत मुझे देखने के लिए मैं आपको परेशान करूंगा। आप http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=30

पर टकराव पहचान प्रणाली का एक उदाहरण भी पा सकते हैं यदि आप वास्तव में वास्तविक समय की अच्छी चीजें नहीं हैं, तो संभवतः आप सी ++ को आकाश कर सकते हैं और "सरल" कोडिंग भाषा में जा सकते हैं।

0

a lot of engines आपके लिए उपलब्ध हैं। आपको शोध करना शुरू करना होगा कि कौन सा आपके गेम डिज़ाइन में फिट होगा।

अधिकतर वाणिज्यिक गेम सी ++ में लिखे गए हैं और अन्य भाषाओं के स्पैटरिंग के साथ इसे पूरी तरह से बांधने के लिए लिखा गया है। अन्य भाषाएं जावा की पोर्टेबिलिटी जैसे मोबाइल फोन के लिए विभिन्न विशेषताओं की पेशकश करती हैं।

1

बस आपकी जानकारी के लिए, OpenSim नामक एक बहुत ही इंटरस्टेसिंग ओपनसोर्स बीएसडी लाइसेंस प्राप्त परियोजना है जिसमें सी # और मोनो दोनों में सर्वर पक्ष SecondLife आधारभूत संरचना को पुनर्निर्मित करने में शामिल है।

ऐसा लगता है कि आपके मित्र और आप क्या करना चाहते हैं। हालांकि अभी भी अल्फा चरण में, यह काफी स्थिर है और निश्चित रूप से एक कोशिश के लायक है।

+0

मैं एआई असाइनमेंट के लिए इस समय ओपनसिम के साथ गड़बड़ कर रहा हूं। यह ध्यान देने योग्य है कि इसमें रिकर्सिव स्क्रिप्ट या स्क्रिप्ट्स के साथ समस्याएं हो सकती हैं जो लंबे समय तक चलती हैं। इन मुद्दों से बचने के लिए आरं सेटिंग्स हैं, लेकिन इसके अलावा में यह अगर मैं गति या स्थिरता देख रहे थे (इस मामले में यह तो वहाँ कोई विकल्प नहीं है एक काम के लिए निर्धारित किया जाता है) निश्चित रूप से नहीं मेरी पसंद होगा। यदि आप ओपनसिम के लिए जाते हैं, तो सुनिश्चित करें कि आप यह सुनिश्चित करने के लिए कुछ सरल परीक्षण चलाएं कि पर्यावरण आपको जिस परिचालन की आवश्यकता है, (उदा।जब आप उद्देश्य पर इसका कारण बनते हैं तो स्टैक ओवरफ़्लो को डीबग करना बहुत आसान होता है)। –

0

यदि आपके पास प्रोग्रामिंग में बिल्कुल कोई अनुभव नहीं है और आपको वास्तव में तेज़ दृश्य परिणाम प्राप्त करना चाहते हैं, तो आपको डार्कबासिक या ब्लिट्ज 3 डी जैसी भाषाओं की जांच करनी चाहिए।

कहा जाता है कि, उन भाषाओं में काफी मजबूत सीमाएं हैं और यदि आप प्रोग्राम सीखने पर विचार कर रहे हैं, तो शायद आप जावा या सी # के विभिन्न उपयोगकर्ता द्वारा बनाए गए एपीआई जैसे जॉपेनग्ल, जोग्रे, एक्सएनए, एसडीएल.Net की ओर बढ़ना चाहेंगे। या Irrlicht.Net। वे आपको अपना गेम बनाते समय ऑब्जेक्ट प्रोग्रामिंग की मूल बातें सीखने की अनुमति देंगे।

यहां विभिन्न लिंक कर रहे हैं:

DarkBasic Home

Blitz3d

जावा:

JopenGL

JOGRE

सी #:

XNA

SDL.net

Irrlicht.net

0

कुछ सरल और शक्तिशाली (कम से कम मेरे स्वाद अनुसार :)) Apocalyx है।

पूरी तरह से खुले स्रोत, बहुत सारे डेमो, कई ट्यूटोरियल, सीधे आपके सामान्य बनाने के लिए उन्नत टूल का उपयोग करने के लिए कई सामान्य प्रारूपों (जैसे एमडी 2, कैल 3 डी या बीएसपी) के साथ काम कर सकते हैं।

लुआ में लिखे जाने योग्य सी ++ में लिखा गया है (स्क्रिप्टिंग के लिए एक समर्पित संपादक है)।

0

सी ++ में मैंने SDL और GLFW का उपयोग किया है; पायथन में मैंने PyGame और Pyglet का उपयोग किया है।

जहां तक ​​भाषाएं संबंधित हैं, यदि आप सी ++ का उपयोग करते हैं तो मैं निश्चित रूप से Squirrel, लुआ या पायथन जैसे स्क्रिप्टिंग के लिए कुछ उपयोग करने की अनुशंसा करता हूं, हालांकि पाइथन जैसे कुछ गेम को लिखना अच्छा होगा (और प्रदर्शन करना चाहिए बाद में एक मुद्दा बनना शुरू करें, आप केवल मॉड्यूल लिख सकते हैं जो सी ++ में समस्याएं पैदा कर रहे हैं - पाठ्यक्रम की प्रोफाइलिंग के बाद)।

0

यदि आप डेल्फी से परिचित हैं तो ग्लाससीन आज़माएं।

संबंधित मुद्दे