Bartłomiej Barthap Klocek Esenthel - Instalacja W systemie Windows 2010
Witam w krótkim artykule przedstawiającym proces instalacji silnika Esenthel Engine w systemie Windows. Esenthel Engine jest to kompletne rozwiązanie pozwalające na tworzenie gier najwyższej jakości. Silnik został opracowany z nastawieniem na profesjonalną produkcję gier, zostało to osiągnięte poprzez nadanie kompletnej kontroli nad mechaniką kodu gry, grafiką przyszłej generacji oraz bogatym zbiorem narzędzi drastycznie upraszczającym proces tworzenia gier. Cytat: Grzegorz Ślazioski - autor silnika Mimo iż silnik jest stworzony z myślą o profesjonalistach, jest on na tyle łatwy w obsłudze że może swobodnie byd używany przez amatorskie zespoły oraz początkujące firmy bez wcześniejszego doświadczenia z zakresu tworzenia gier. Piszę ten tutorial ze względu na znikomą ilośd tego typu dokumentacji w sieci. Silnik posiada głównie Video tutoriale oraz kod źródłowy przykładowych programów gotowych do kompilacji. Także niniejszy artykuł jest jednym z pierwszych dokumentów tego typu dot. Silnika Esenthel po polsku (po angielsku jest głównie dokumentacja) Więc zaczynajmy. 1. Instalacja Zaczynamy od ściągnięcia SDK (Software Development Kit) Silnika z http://www.esenthel.com/?lang=pl&id=download. Oprócz przycisku do ściągnięcia SDK dla Windowsa jest też wersja dla systemu Mac oraz filmik prezentujący zawartośd SDK, polecam go obejrzed. Od razu popatrzmy na wymagania silnika: PhysX System Software (nieobowiązkowe ale bardzo zalecane) oraz Visual Studio 2008 lub nowsze (wystarczy darmowa wersja C++ Express). Oprócz tego zalecana jest dobra znajomośd zagadnieo programistycznych i przynajmniej podstawy C++ Po ściągnięciu paczki rozpakowujemy ją na przykład WinRarem. Po rozpakowaniu powinien powstad folder o nazwie EsenthelEngineSDK, wchodzimy do niego. Widzimy 5 folderów: Data -wszystkie dźwięki, obrazki, modele 3D i inne rzeczy potrzebne w grze. Extra - Dokumentacja wszystkich klas i funkcji C++ zdefiniowanych w silniku oraz tutorial o ładowaniu gry z DLL dla troszkę bardziej zaawansowanych Installation - jak sama nazwa wskazuje, wszystko, co potrzebne do instalacji silnika. Za chwilę omówimy to dokładniej. Tools - Wszystkie narzędzia ułatwiające pracę z silnikiem. Są to m.in. Edytor świata, Edytor modeli, Narzędzie do automatycznej aktualizacji silnika. Dokładny opis narzędzi jest na stronie silnika (http://www.esenthel.com/?lang=pl&id=tools) oraz w dokumentacji.
Tutorials - Przykładowe mikroprogramiki pokazujące po kolei większośd możliwości silnika oraz plik projektu do Visual Studio. Oprócz tych folderów jest jeszcze główny plik dokumentacji o nazwie Documentation.chm, który teraz radzę otworzyd w zakładce Installation-> Windows (inne zakładki będą bardziej zrozumiałe po przeczytaniu tego artykułu). Teraz będziemy postępowad zgodnie z dokumentacją. A więc zaczynamy od instalacji Visual Studio oraz PhysX (jeśli jeszcze nie masz ich zainstalowanych). Po instalacji zabieramy się za kopiowanie plików do folderu Visual Studio (miejsca, gdzie je zainstalowaliśmy): Kopiujemy folder EsenthelEngineSDK\Installation\EsenthelEngine do Microsoft Visual Studio\VC\include Plik EsenthelEngineSDK\Installation\EsenthelEngine.lib oraz EsenthelEngineDX10+.lib do Microsoft Visual Studio\VC\lib Oraz plik EsenthelEngineSDK\Installation\EsenthelEngine64.lib do Microsoft Visual Studio\VC\lib\amd64 Oraz jeżeli chcemy mied ładne kolorowanie składni to: EsenthelEngineSDK\Installation\usertype.dat do Microsoft Visual Studio\Common7\IDE Jeśli teraz czytasz dokumentację to zauważysz jeszcze, że jest jeszcze Visual Studio Settings, ale ten styl całkowicie zmienia wygląd Visual Studio i usuwa wszystkie paski narzędzi, co dla początkującego nie jest dobrym rozwiązaniem, szczególnie jeśli ustawił już sobie wygląd swojego IDE. Właściwie jeśli chodzi o samą instalację to niczego więcej nie potrzeba. Jesteśmy już gotowi do uruchomienia przykładów. 2. Uruchomienie Uruchamiamy Visual Studio i otwieramy nowy projekt (menu File -> Open -> Project/Solution) i wybieramy plik Tutorials.sln z EsenthelEngineSDK/Tutorials. Właśnie otworzyliśmy projekt silnika. Teraz możemy uruchomid nasz projekt klikając F5 (czyli uruchamiając debugowanie). Powinien się uruchomid pierwszy przykład silnika. Aby wybrad inny należy w oknie Solution Explorer (powinno byd po lewej a jak go nie ma to kliknij Ctrl+Alt+L) w folderku Source kliknąd PPM (prawym przyciskiem myszy) plik 00 -Start.cpp i wybrad Exclude From Project. Następnie na folderek Source klikamy PPM i wybieramy Add->Existing Item Powinno otworzyd się okno dialogowe z zawartością folderu SDK/Tutorials. Wchodzimy do Source i potem wybieramy dowolny plik z dowolnego podfolderu i klikamy go dwukrotnie. (W podfolderze Advanced/5 - Projects (Here are All ) trzeba wybrad więcej niż jeden plik). Plik powinien pojawid się w okienku Solution Explorer, gdzie możemy otworzyd go i edytowad kod, potem zbuildowad i uruchomid projekt. Właśnie opisałem, jak uruchomid przykładowe programy z silnika. Teraz możesz z czystym sumieniem poczytad resztę pliku Documentation.chm aby dowiedzied się o zasadach działania silnika oraz poeksperymentowad z przykładami.
Teraz zajmiemy się tworzeniem szkieletu aplikacji opartej na silniku Esenthel Engine. Można to robid na 2 sposoby. Pierwszy to skopiowanie plików z folderu tutorials do innego folderu i praca na tej kopii (z drobnymi zmianami). Natomiast drugi sposób to stworzenie nowego czystego projektu i odpowiedniego ustawienia go. My użyjemy tego drugiego sposobu, ponieważ jest on zalecany w dokumentacji, nie jest wcale trudniejszy od tego pierwszego i nie wymaga więcej pracy, występuje z nim mniej problemów. Ten sposób opiera się głównie na dokumentacji. Jeśli polubiłeś plik Documentation.chm to możesz go teraz otworzyd w zakładce Beginners Guide -> Programming Game Mechanics -> Creating New Project. Zaczynamy od utworzenia folderu dla projektu. Możesz wsadzid go w dowolne miejsce na dysku i dowolnie nazwad. Ja nazwę go My Game (żeby była zgodnośd z dokumentacją). W tym folderze tworzymy 2 podfoldery o nazwach Data i Source. Do folderu Data kopiujemy plik engine.pak z EsenthelEngineSDK/Data/. Przy okazji można zerknąd w dokumentacji do zakładki Beginners Guide- >Data Folder Structure, aby dowiedzied się więcej na temat zawartości tego folderu i jego ewentualnych podfolderów. Do folderu Source kopiujemy plik 00 - Start.cpp z EsenthelEngineSDK/Tutorials/Source, lecz jeżeli eksperymentowałeś z przykładami i w miarę wiesz, jak to działa to możesz dad dowolny inny plik. Po skopiowaniu odpowiednich rzeczy otwieramy Visual Studio, z menu File wybieramy New->Project. Rozwijamy po lewej zakładkę z C++->General i wybieramy Empty Project. W polu Project Name wpisujemy My Game (tak samo, jak nazwałeś folder dla projektu). W polu Location wybieramy ścieżkę do tego folderu, czyli jeśli ścieżka do tego folderu to C:\Projekty\My Game\, wtedy wpisujesz w tym polu C:\Projekty\ bez nazwy folderu. Odznaczamy pole Create directory for solution. Klikamy przycisk OK. Właśnie utworzyliśmy pusty projekt. W oknie Solution Explorer powinno byd kilka podfolderków, lecz możesz z nimi zrobid co zechcesz. Zostając w Solution Explorerze kliknij na nazwę projektu (to pogrubione My Game) PPM i wybierz Add->Existing Item i wchodząc do folderu Source wybierz plik, który sobie skopiowałeś i dodaj go do projektu. Teraz zapewne ucieszysz się, bo poznajesz, że tak samo robiłeś w przypadku przykładowych programów i że wystarczy już tylko zbuildowad i uruchomid projekt. Niestety, muszę Cię zmartwid. Do kooca pozostały jeszcze dwie rzeczy. Pierwszą z nich jest skopiowanie kilku dodatkowych plików. Więc wchodzimy do EsenthelEngineSDK/Tutorials i kopiujemy stamtąd do folderu My Game następujące pliki: stdafx.h, stdafx.cpp, Icon.ico, resource.h, resource.rc i NxTetra.dll. Teraz należy je dodad do naszego projektu. Najlepiej w Solution Explorer dodad sobie osobny podfolderek (PPM na nazwę projektu i Add->New Filter) i klikając na niego PPM->Add->Existing Item dodad pliki stdafx.h, stdafx.cpp, resource.h i resource.rc. Pierwsza rzecz z głowy. Drugą rzeczą jest ustawienie projektu. Do zrobienia tej rzeczy będzie potrzebna dokumentacja. Klikamy PPM na nazwę projektu w Solution Explorer i klikamy Properties. Teraz otwieramy plik Documentation.chm w zakładce Programming->Project Settings->Visual Studio. Musimy ustawid wszystkie pola z okienka Properties w Visual Studio dokładnie tak jak to jest opisane w dokumentacji. Tutaj mała uwaga do pola Additional Dependencies w zakładce Linker->Input, ponieważ w Visual studio 2008 pliki.lib oddziela się spacjami, a w Visualu 2010 oddziela się średnikami. Zademonstruję:
Visual studio 2008: w tym polu umieszcza się pliki tak: EsenthelEngine.lib winmm.lib Visual studio 2010: tu tak: EsenthelEngine.lib;winmm.lib; Możesz też uruchomid World Editor w silniku i na początku kliknąd przycisk Change Language i wybrad polski. Potem postępowad zgodnie ze wskazówkami i ustawid mu ścieżkę do folderu Data z My Game. Jeśli wszystko ustawiliśmy (przynajmniej dla wersji Debug, możemy w oknie Properties kliknąd Zastosuj a potem OK. Teraz możemy już uruchomid nasz pierwszy projekt w silniku Esenthel Engine! 3. Podsumowanie Tak oto zakooczyliśmy ten dosyd długi artykuł o konfiguracji silnika i projektu. W razie jakichkolwiek wątpliwości zaglądnij do dokumentacji, na stronę silnika lub śmiało pisz na community silnika. Może w przyszłości napiszę kolejny artykuł o tym silniku opisujący wykorzystanie jego możliwości podczas tworzenia prostej, przykładowej ale grywalnej gry.