Jak stworzyć grę w technologii 3D?

Od czego zacząć, w czym pisać, jakie technologie i języki programowania wykorzystywać?
anonim
zapytał 8 lat temu

oceń

1 odpowiedź obeznanych

hose
0
hose | 8 lat temu | 20 pkt
Programowanie gier to potężna branża przemysłu komputerowego, w której pracuje rzesza wysoko wykwalifikowanych inżynierów z różnych dziedzin informatyki. Nie oznacza to, że jest to domena zarezerwowana wyłącznie dla wielkich korporacji z milionowymi budżetami. Wręcz przeciwnie, każdy, kto posiada ogólną wiedzę z zakresu programowania, jest w stanie stworzyć prostą grę.

Metodą, która najszybciej pozwala osiągnąć wizualne efekty, jest użycie bibiliotek 3D oferowanych dla języka programowania wykorzystywanego do pisania przez nas aplikacji. W grupie najbardziej popularnych bibiliotek do towrzenia grafiki 3D znajdują się:
- OpenGL - wspierająca wiele języków programowania (C/C++, C#, Java, Delphi) i działająca na różnych platformach systemowych,
- Direct3D - biblioteka firmy Microsoft, która jest częścią większego projektu o nazwie DirectX dająca zaawansowane możliwości tworzenia i renderowania obiektów 3D. Dostęp do funkcjonalności DirectX zapewnią również inne interfejsy programistyczne, np. Managed DirectX, natomiast platformą przeznaczoną do tworzenia aplikacji w tej technologii jest Microsoft XNA,
- Java3D - rozszerzenie dla środowiska Java, które pozwala wykorzystać funkcjonalność bibiliotek OpenGL oraz Direct3D w aplikacjach Java.

Należy pamiętać, że samo stworzenie oraz wyrenderowanie modelu 3D to tylko mały krok w procesie tworzenia gry. Znacznie bardziej wymagające zadania, które czekają na twórcę takiej aplikacji, to m.in.: zapewnienie zachowania obiektów zgodnie z zasadami działania fizyki, wykrywanie kolizji obiektów, animacja, wsparcie dla dźwięku czy implementacja sztucznej inteligencji. Wszystko to przy dbałości o optymalne wykorzystanie zasobów, zarządzanie wątkami, pamięcią itd. Dla bardziej zaawansowanych projektów jest to wyzwanie, któremu sam programista z pewnością by nie podołał, dlatego jest on wspomagany przez specjalne platformy, które dbają o szereg aspektów i pozwalają się skupić na istocie tworzenia aplikacji.

Te wyspecjalizowane platformy nazywane są silnikami gier, a ich zadaniem jest odciążenie programisty, który tworzy grę. Silnik taki to bardzo zaawansowany technologicznie produkt, którego ceny często idą w miliony dolarów. Istnieje jednak kilka darmowych rozwiązań, które pozwalają tworzyć proste aplikacje 3D w warunkach "domowych". Oto kilka spośród nich:

- Platinum Arts Sandbox Free 3D Game Maker to zorientowany na prostotę użycia silnik pozwalający tworzyć proste oraz bardziej zaawansowane aplikacje 3D. Jest to darmowy, oparty na otawrtych źródłach projekt, który pozwala tworzyć świat oraz umieszczać w nim obiekty za pomocą podręcznych menu. Szybkie efekty można uzyskać, dzięki wbudowanym zestawom obiektów. Nie wymaga znajomości żadnego języka programowania i często jest wykorzystywany jako pomoc dydaktyczna w nauce dla dzieci. Wszystkie informacje o tej platformie zawarte są na oficjalnej stronie.

- Panda 3D - silnik opracowany dla wytwórni Disneya, która stworzyła kilka gier z jego wykorzystaniem. Jest to otwarte oprogramowanie, które wykorzystuje język programowania python lub c++. Autor ma możliwość załadowania modeli stworzonych w specjalnych programach typu Blender, 3ds Max czy Maya, a także szereg funkcji do zapewnienia interakcji z nimi. Obok tego, projekt dostarcza wiele dodatkowych narzędzi do analizy wydajności, obsługi urządzeń wejścia/wyjścia, debugowania kodu itp. Szczegóły projektu dostępne są tutaj.

- GameMaker - oporogramowanie dla platformy Windows, które wykorzystuje wewnętrzny język skryptowy GML (Game Maker Language). Ten wzorowany na c/c++ i javie, zorientowany obiektowo język pozwala na tworzenie gier. Dostępny jest w dwóch wersjach: Lite i Pro. Wersja Lite jest wersją darmową i oferuje podstawowy zestaw funkcji dla twórcy gry (oraz wyświetla baner reklamowy w czasie jej ładowania). Wersja płatna - Pro - dostarcza bardziej zaawansowanych opcji: pozwala ładować zewnętrzne biblioteki, posiada rozszerzone funkcje rysowania oraz wsparcie dla grafiki 3D. Szczegóły dotyczące produktu dostępne są na witrynie producenta.

Programowanie gier jest zajęciem wymagającym sporej wiedzy w zakresie programowania i grafiki komputerowej. Ludzie, którzy zajmują się tym zawodowo, kończą specjalne kierunki na wydziałach grafiki komputerowej i zwykle potrzebują wielu lat doświadczenia, by osiągnąć wysoki kunszt. Myślę jednak, że jest to dziedzina z dużymi perspektywami rozwoju w naszym kraju i na pewno pracy dla dobrych programistów gier nie zabraknie.

Twoja odpowiedź

Każda wypowiedź zawiera link "dodaj komentarz". Nie umieszczaj komentarzy w tym polu.