Panel Logowania

Blender Game Engine

napisał : maniek
22
lipca
2012
Artykuł o silniku gry jakim jest Blender Game Engine. Jego wady, zalety oraz możliwości. Czyli o tym o czym jest nasz Serwis - Troman.pl
tagi : blender game engine logic bricks editor fizyka logika tworzenie gier wirtualnych interaktywnych gier

Blender - to opensource'owy program do modelowania, renderowania obrazów oraz tworzenia animacji trójwymiarowych podobny do takich programów jak Maya czy 3ds max Studio. Pomimo niekonwencjonalnego interfejsu, narzędzia do modelowania, teksturowania, animacji, renderingu, oświetlenia czy pisania skryptów zawierają się w jednym interfejsie. Dodatkowo posiada wbudowany silnik gry, który wprawia w ruch obiekty 3D bez konieczności programowania. Dzięki tym cechom Blender jest kompleksowym zestawem narzędzi do tworzenia interaktywnych światów, podobnym do popularnych programów do tworzenia gier jak Unity czy Unreal.


Blender Game Engine - to wbudowany silnik gry, wykorzystywany do tworzenia interaktywnych prezentacji czyli gier. Główną różnica pomiędzy BGE a Blenderem jest sposób renderingu scen. Standardowe silniki renderingu (Internal Render), renderując obrazki lub animację, tworzą je w zamkniętej formie czyli raz wyrenderowane nie mogą być modyfikowane. BGE zaś renderuje sceny w sposób ciągły, w czasie rzeczywistym, gdzie może zaistnieć interakcja z użytkownikiem.

W Blenderze, gry są zbudowane ze scen z udziałem obiektów(aktorów), gdzie każdy obiekt może mieć oddzielne zachowanie na pewne zdarzenia oraz może zachodzić pomiędzy nimi(obiektami) interakcja. Zachowania ten są kontrolowane przez logikę programu, a ten reaguje na wydarzenia, takie jak kolizje czy polecenia użytkownika. Etap tworzenia gry to w głównej mierze budowanie aktora(obiektu) i nadanie mu logiki i zachowania.


 

BGE posiada narzędzie programowania wysokiego-poziomu -  Logic Editor. Jest to edytor "kostek logiki" (Logic Bricks) dzięki któremu możemy wykrywać zdarzenia i nadawać odpowiednie akcje. Daje to nam wygodne narzędzie z graficznym interfejsem, do programowania gry bez znajomości żadnego języka skryptowego! Głównym zastosowaniem BGE jest tworzenie gier, ale może być wykorzystywany do tworzenia programów 3D, wirtualnych spacerów czy badań edukacyjnych.

 

BGE posiada szereg możliwości pomocnych przy budowaniu rzeczywistości. Jednym z cech jest możliwość włączenia fizyki (Bullet), dzięki której można uzyskać efekty fizyczne(grawitacja, kolizja) dla danych obiektów.

Jeśli chcesz możesz pisać skrypty w Pythonie, aby oprogramować swoją grę. Silnik gry posiada wyodrębnione API w Pythonie, które można wykorzystywać w pisaniu skryptów kontrolujących grę. Przy większej ilości kostek logiki, skrypty w Pythonie są o wiele lepszym rozwiązaniem. Dlaczego? Spójrz na obrazek poniżej

Kostki logiki nadają się do mało zaawansowanej gry, przy bardzie rozbudowanej, skrypty w Pythonie są bardziej czytelne niż powyższe połączenia kostek ;)

Budowę gry w BGE można zawrzeć w 4 głównych krokach :

  1. Utwórz obiekt gry w oknie modelowania i widoku
  2. Nadaj obiektowi logikę używając kostek logiki, aby zdefiniować jego zachowanie oraz akcje
  3. Dodaj jedną lub więcej kamer, aby uchwycić odpowiednie widoki z uruchomionej gry w miarę potrzeby
  4. Uruchom grę, aby zobaczyć zachowanie obiektów w trybie Live! ;) Grę można wyeksportować do osobnego pliku uruchomieniowego*.exe

 

Najważniejsze funkcje :

  • Program Blender jako jeden wielki edytor do tworzenia wirtualnego świata
  • Zarządzanie scenami
  • Fizyka : Podstawowa fizyka, detekcja kolizji, Rigid Body, fizyka pojazdu
  • Teksturowanie : multi-tekstury, Normal Mapping, Parallax Mapping
  • Dynamiczne cienie
  • Dynamiczne oświetlenie
  • Shadery: pixel, vertex
  • Narzędzia do tworzenia animacji
  • Pisanie skryptów - język Python

 

Jak to się ma w rzeczywistości. Otóż pomysł z kostkami logiki uważam za bardzo dobry, ponieważ przyciąga to początkujących użytkowników, którzy nie są od razu rzucani w zawiłości języka programowania. I tak mnóstwo czasu trzeba poświęcić na opanowanie interfejsu Blendera oraz klawiszologi. Na samo stworzenie prostej gry polegającej na przesunięciu Cuba za pomocą klawisza, potrzeba pięciu minut czasu. Ale czy takie coś można nazwać grą?. Realia są takie że BGE mocno zżera zasoby. O ile prosta gra będzie działać bez zarzutu, o tyle przy zaawansowanej grze będzie widać mocny spadek wydajności. Pomimo tej niedoskonałości, ja jako użytkownik Blendera, będę zawsze fanem BGE. Próbowałem kiedyś przejść na inne silniki(Irlicht, CrystalSpace), a moje próby kończyły się fiaskiem i z chęcią wracałem do poruszającego się Cube'a.

Faktem jest, że miłośników BGE jest bardzo dużo na świecie. Świadczą o tym niezliczone prezentacje interaktywne oraz gry proste i te bardziej zaawansowane, oraz społeczność która z powodzeniem rozwija blendera a tym samym BGE, dodając to nowe możliwości. Dlatego też powstała ta strona, aby przybliżyć Wam tajniki tego silnika.

 

Przykłady gier

YoFrankie

 

 

 

 

 

 

 

 

 

Sintel The Game

 

 

Quantum Unleashed

 

 

 

 

 

 

 

Lucy and The Time Machine

 

 

 

 

 

 

 

 

 

Zachęcam do tworzenia własnych projektów. Pozdrawiam

3 komentarze
maniek napisał :
godz. 16:07, 24 lipca 2012
Jeśli o czymś zapominałem lub przeoczyłem to mnie poprawcie. Myślę ze najważniejsze kwestie zawarłem ale może sami coś znajdziecie ;)
CacholaPL napisał :
godz. 19:17, 30 grudnia 2013
Trochę dziwne, bo piszesz, że skrypty są bardziej czytelne, a na screenie w kostkach logiki wywołujesz te skrypty
maniek napisał :
godz. 20:52, 30 grudnia 2013
He... chodziło o efekt plątaniny.. a nie spojrzałem, że tam są podpięte skrypty pythona ;)
Dodaj komentarz
Aby dodać komentarz do newsa, musisz być zalogowany w Serwisie.. Zaloguj