Unreal Engine 3 - najbardziej wpływowy silnik g...

    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 25.02.10, 23:40
      W Mirror's Edge również nie widać tego na pierwszy rzut oka, bo zaimplementowano zupełnie inny model oświetlenia i nie wykorzystano standardowego. Każdy engine ma zestaw standardowych efektów ( woda, dym, rodzaje oświetlenia ) i tylko od programistów zależy czy to wykorzystają, czy też dorzucą coś od siebie. Gra oparta na UE3 nie musi wcale wizualnie wykorzystywać najbardziej rozpoznawalnych elementów graficznych tego silnika.
    • Gość: RhinoX Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.retsat1.com.pl 25.02.10, 23:50
      @J_uk_dev: "okrojony ze źródeł i jakiegokolwiek dostępu do niskiego poziomu platformy"

      Nie jest tak źle z tym dostępem. Od grudniowej aktualizacji (chyba) można wołać z poziomu UnrealScript'u metody z zewnetrznyych dll'ek. Muszą tylko przyjmować i zwracać proste typy int, float, wchar_t itp. smile
    • Gość: adad Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.chello.pl 26.02.10, 01:11
      kolejny tekst obnażający brak wiedzy o grach SSa
    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 01:26
      @RhinoX, no tak, ma DLLBind. Jednak przydatność tego jest na chwilę obecną conajmniej dyskusyjna, bo o ile możesz wykonać natywnie jakiś kod, to jest on odcięty od samego UE3. Bardziej to może przydać się jako zestaw bibliotek z pluginami zadaniowymi ( prosty, ale szybki bo natywny processing wejściowych danych i wyrzucenie czegoś na wyjście ). Czego tu brak? Dostepu do API UE3 z poziomu C++. Sama idea DLL jest fajna, gdyby nie była tak bardzo jednostronna w komunikacji między silnikiem a samą biblioteką. Aczkolwiek dali DllBind, to może z czasem przyjdzie coś więcej. Co do zwracanych wartości, to problemem to chyba raczej nie jest, bo funkcja w bibliotece Dll mogłaby przyjąć zainicjowany pointer i go wypełnić, lub pointer do pointera i stworzyć go po prostu wewnątrz ( zresztą ta praktyka stosowana jest od dawna, a wartość zwracana zwykle służy jako kod błędu wink ), tylko pozostaje pytanie czy można coś z tym zrobić po stronie UDK w obecnej formie.
    • Gość: nb Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.chello.pl 26.02.10, 04:20
      Ethan Mars to Origami killer
    • cypisek.org Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 08:35
      mam już dość tego silnika. pojawia się wszędzie. czasami boję się otworzyć lodówkę, żeby przypadkiem nie okazało się, że masło jest na silniku UE3
    • jock.x Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 09:35
      Uwielbiam kiedy j_uk_dev rozwiewa wszelkie moje wątpliwości na temat tworzenia gier. Zawsze po przeczytaniu jego tekstów czuję się mądrzejszy.
    • Gość: maciuch333 Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.internetdsl.tpnet.pl 26.02.10, 09:49
      @j_uk_dev
      Czy możesz z łaski swojej juz wiecej nic nie pisać, bo czuje sie jak idiota- nic nie rozumiem z tego co piszesz. Smutne jak ktoś uzmysławia nam jak mało wiemy... Pozdro smile !!!
    • Gość: RhinoX Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.ip.amg.net.pl 26.02.10, 09:54
      @j_uk_dev Co do użyteczności DLLBind no to się zgodzę. Takie wołanie zewnętrznego kodu przez UnrealScript musi być ku...ko wolne (wątpię żeby przyjmowane i zwracane wartości przechodziły tak między silnikiem a dll'ką bez żadnej kontroli/konwersji z jego strony). Cały US przecież wykonuje się wewnątrz jakiegoś wymyślonego przez nich VM'a a jak uczy współżycie z java takie rozwiązania nie grzeszą prędkością kiedy trzeba taką operację zewnętrzną wykonać dużo razy. No ale, dla potrzeb pisana logiki gry która zwykle nie jest intensywna w kategorii wykonywanych obliczeń to w zupełności starcza.
      Fajnie by było jak by dali kod do wglądu (w celach dydaktycznych nawet smile, chociaż sądzą że kompleksowość użytych algorytmów raczej była by dużą barierą na 'noob' programisty jak ja tongue_out). Tak czy owak jest to naprawę potężny pakiet którym można z pewną dozą zapału wykonać bardzo dużo (może ktoś ma ochotę na remake Blood tongue_out ?).
    • urtsth Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 09:54
      Rewolucja jest raczej wątpliwa, ot wiecej komercyjnych gier bedzie na UE3, bo tanio.
      Można mieć nadzieję, że z czasem pojawią się małe darmowe, ale jare sieciowe strzelanki typu Urban Terror smile
    • Gość: RhinoX Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.ip.amg.net.pl 26.02.10, 10:22
      @j_uk_dev Co do zwracania przez pintery to też wcale nie musi być takie proste. Jak chcemy zwrócić coś bardziej skomplikowanego niż prymityw to raczej w strukturze. Tu nasuwa się pytanie, jak jest zamapować na wewnętrzną reprezentację silnika? Muszę dziś to sprawdzić tongue_out
    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 11:19
      @RhinoX, właśnie to miałem na myśli pisząc, że można wypełnić pointer, ale czy dalej da się coś z tym zrobić to już ciężko powiedzieć. Właśnie ten brak dostępu do API UE3 niesie tego typu ograniczenia ( inaczej mógłbyś po prostu przekazać gotowe struktury z UE3 i dalej je procesować w bibliotece, co nawet mimo wykorzystania DLL mogłoby być czasami szybsze niż rozwiązania użyte w UDK - zależy kto jak i co by zaimplementował wink ). No jeszcze możesz skorzystać z void* i po prostu potraktować każdą strukturę jako array bajtów ( a potem to jakoś zinterpretować w UnrealScript, to zapewne da się zrobić, ale wątpię w wydajność tego wink ).

      Co do przydatności i walorów dydaktycznych UDK, to ja nie mam wątpliwości, że na tym polu to świetne narzędzie. To co napisałem wcześniej jest umieszczone twardo w kontekście artykułu, który uznaje publiczne pojawienie się UDK w tej formie za jakąś rewolucję, co jest moim zdaniem bzdurą. Tego typu narzędzia istnieją od dawien dawna, wiele jest opensource z założenia, są też silniki komercyjne, ale o wiele tańsze ( i też dają źródło, np. Torque ). Wspomniany Unity3D opiera się na tych samych zasadach co UDK ( i jest również w pełnej komercyjnej wersji wiele razy tańszy ). O Ogre3D gracze usłyszeli kiedy? Chyba wraz z premierą Torchlight i bumu też to nie spowodowało. Może zadziałać nieco sama marka UE3, ale moim skromnym zdaniem jest to po prostu kolejne narzędzie, które niewielu tak naprawdę skłoni do twórczej pracy. Rewolucji nie raczej będzie.
    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 11:27
      @RhinoX, ach korekta, void* to sobie można zwrócić, ale alignment memberów struktury ( już nie mówię, że zwracamy klasę, ale zwykłą strukturę C ) może cholernie utrudnić interpretację poszczególnych pól. Zwykły uint16 i uint32 dadzą na prawdopodobnie sizeof = 8, a nie jakby się spodziewać 6, co oznacza, że parser zawartości takiego void pointera musiałby jeszcze i to brać pod uwagę. Szkoda zachodu moim zdaniem wink

      @maciuch333, jak ktoś mało wie, to tylko z własnej winy wink
    • Gość: RhinoX Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.ip.amg.net.pl 26.02.10, 12:05
      @j_uk_dev Jak sobie przejrzałem manual UnrealSript'u to się okazuje że tam niema tak na dobra sprawę pełnoprawnych wskaźników z arytmetyką taką jak w C. Błogie więc marzenia o wyłuskiwaniu wartości ze struktury poprzez offset rozwiały się XD.
      Tak czy owak wyposzczenie UDK to świetny krok. Już teraz coraz częściej się widuje ogłoszenie o pracę "Programisty silnika UE3". Szkoda tylko że takie narzędzia jak Ogre czy Unity nie mają takiej siły przebicia (chociaż ten drugi ostatnio czytałem że został zaprzęgnięty przez EA do nowego sieciowego NFS'a) .
    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 12:24
      @RhinoX, tak myślałem, że za wielkim możliwości co do wykorzystania strony natywnej nie będzie wink . Co do"Programisty silnika UE3" na ogół jednak ma związek z bawieniem się API w C++ i wymaga doświadczenia w pracy z wersją komercyjną. Natomiast nadal nie sądzę by pojawił się potop aplikacji mniejszych i większych bazujących na UDK, myślę że @Sławek nie znając realiów światka deweloperów po prostu zafantazjował. Takie narzędzia były, są i będą i niewiele zmieniają jeśli chodzi o ilość powstających produkcji. Natomiast Unity3D ma podobnie jak UE3 kilka wersji, podstawowa nie daje dostepu do kodu z tego co pamiętam, a im dalej w komercyjną ścieżkę, to dostaniemy więcej "zabawek" smile W każdym razie to całkiem fajne narzędzie i pozwalające w publicznej wersji tworzyć porty na różne platformy ( UDK został udostepniony tylko w wersji dla Windows ). W każdym razie daleko do rewolucji big_grin
    • Gość: RhinoX Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.ip.amg.net.pl 26.02.10, 12:35
      @j_uk_dev A propos developmentu gier dla początkujących, słyszałem że dosyć ciekawą opcją jest Micro$oftowe XNA. Niewątpliwą zaletą jest to że sami kreujemy sobie silnik, dostajemy gotowy i rozszerzalny w miarę możliwości 'content pipeline' no i z racji .NET'owości tego framework'u nie musimy się martwić o leak'i pamięci bo GC zawsze nas wyratuje tongue_out.
    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 12:51
      @RhinoX, a owszem, XNA jest całkiem fajnym rozwiązaniem. Generalnie to już jest silnik sam w sobie, bo zawiera takie elementy jak zarządzanie resourcami ( korzysta z dwustronnego procesu serializacji, innymi słowy gra sama generuje swoje binarki z assetów ), proste zarządzanie pamięcią, loadery ( utils do ładowania plików X, loadery różnych formatów tekstur itp. ). Nie ma jedynie scenegraph'u, więc to trzeba już sobie samemu wykombinować, aczkolwiek dostarcza klasy, które pomogą zarządzać sceną ( np. quadtree ). Jest więc to taki mikro-silnik wink Daje poza tym dostęp do shaderów, więc można naprawdę fajne rzeczy zdziałać po stronie wizualnej. Jedynie co do GC to ja bym nie był tu takim optymistą. Zarówno C# jak i Java mają ten problem, że GC spowalnia wiele operacji. Innymi słowy warto zminimalizować jego użycie przez maksymalne ponowne wykorzystanie tych samych obiektów ( pule obiektów, bufory, z których można pobrać array bez wykonywania "new" itp. ). GC rozleniwił programistów i przez to performance wielu aplikacji w C# i Java kuleje wink
    • thirder Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 12:58
      Co mnie ten ,,najbardziej wpływowy silnik graficzny" obchodzi nieraz się zatniesz w podłodze w grze na tym silniku.
    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 12:59
      Jeszcze co do XNA, to niegdyś pojawiło się techdemo, całkiem niezłe:

      www.youtube.com/watch?v=TgChURF5fQE

      Z tego co mi wiadomo, to sam MS zainwestował w ten projekt, by był on takim sztandarowym pokazem, co można zrobić z wykorzystaniem tej platformy. Nie wiem, czy to się przeistoczyło w grę, chyba nie, bo już dawno by było w XBL Indie Games wink W każdym razie dobry programista może z tego wycisnąć dużo. Z tego co wiem @strzyka_w_kolanie bawi się w XNA, więc pewnie mógłby ci powiedzieć więcej niż ja o tym, ja tylko liznąłem tej platformy, by poznać z czym to się je smile
    • Gość: maciuch333 Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.internetdsl.tpnet.pl 26.02.10, 13:25
      @j_uk_dev eh wiem ze z wlasnejsmile zajmuje sie zupelnie czyms innym ale lubie czytać twoje posty. Jak ich nie rozumiem to czuje sie jak idiotasmile no cóż, przynajmniej nie udaje ze sie na tym znam jak niektorzysmile
    • Gość: RhinoX Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.ip.amg.net.pl 26.02.10, 13:26
      @j_uk_dev Właśnie z XNA chciałem się trochę pobawić. Na co dzień pisze web'owe pierdółki w Java'ie a grami zajmuje się w czasie wolnym w domu smile (jak mi żona pozwoli tongue_out). Ogólnie chciał bym się trochę przebranżowić i spróbować szczęścia w gałęzi związanej z grami. No ale do tego potrzebuje jeszcze sporej dawki wiedzy. Jakieś wskazówki od czego znacząc były by mile widziane. Szczególnie interesuje mnie część programistyczna czyli sam scenegraph, rysowanie i partycjonowanie przestrzeni oraz zarządzanie zasobami. Jakieś lektury które byś szczególnie polecał dla nooba?
    • j_uk_dev Unreal Engine 3 - najbardziej wpływowy silnik g.. 26.02.10, 13:37
      @RhinoX, na pewno seria książek Gems. Sporo z nich jest już leciwa dosyć, ale zawierają ciągle bardzo użyteczne informacje właśnie na tematy, które cię interesują. Ostatnio też w ręce mi wpadła "Essential Mathematics for Games: A programmer's guide". Jest to ponad 700-stronicowa pozycja, która zawiera wszystko co potrzebujesz by stworzyć dobry, zoptymizowany scengraph ( wydanie dosyć nowe, bo z 2008 roku ). Nie wiem czy w Polsce ją dostaniesz, ale wszystkie książki możesz zamówić na Amazon.

      Dla początkującego w grach programisty polecam też J2ME. To na telefony komórkowe, ale dzięki niewielkiemu API można zapoznać się z podstawowymi mechanizmami w grach ( renderer, state machine, world entities ), po prostu szybko można zobaczyć rezultat, stąd J2ME ma spore walory dydaktyczne dla początkujących moim zdaniem. Jak się też bawisz Javą, to zapoznaj się z Xith3D - cały silnik 3D w Javie wink
    • Gość: zaytzev Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: 217.153.148.* 26.02.10, 14:37
      "można z marszu tworzyć całkowicie samodzielne, odrębne gry"

      @Sławek - znowu zapomniałeś, że potrzebny jest jeszcze soft do modelowania. Licencje na Adobe Maya albo 3dsmax tanie nie są, a Epic nie udostępnił wtyczki do Blendera, pozwalającej na eksport modeli.
    • Gość: RhinoX Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: *.ip.amg.net.pl 26.02.10, 14:47
      @zaytzev Nie udostępnił narzędzi do modelowania, to fakt ale jest przecież w cholerę darmowych opcji, w tym desygnowany do tego celu Softimage XSI ModTool smile do którego mamy wtyczki uprzyjemniające życie w czasie eksportu assetów do UDK.
    • Gość: zaytzev Unreal Engine 3 - najbardziej wpływowy silnik g.. IP: 217.153.148.* 26.02.10, 15:21
      @RhinoX - nie wiedziałem o tym, dzięki za info. Myślę, ze jeszcze dziś to ściągnę.
Pełna wersja