jest to post opisujący moje poszukiwania najbardziej przyjemnego sposobu dla hobbystycznego programisty gier, aby osłodzić swój wolny czas tworzeniem gry.
Moje wymagania: najpierw spojrzałem na Flash, stworzyłem kilka małych gier, ale wątpię w wydajność. Chciałbym stworzyć dość dużą grę strategiczną, w której kilkaset jednostek walczy jednocześnie, w tym wybuchy i animacje. Również mapy z możliwością powiększania. Widziałem, że Adobe ma nowe 3D API dla Flasha, ale nie wiem, czy poprawi to również wydajność 2D, nie mogłem znaleźć niczego związanego z tym pytaniem w ich sesjach MAX10. Czy powiedziałbyś, że Flash jest dobrą technologią do łatwego tworzenia dużych gier 2D? Naprawdę lubię ActionScript i uwielbiam to, jak łatwo wszystko działa we Flashu. Dostępnych jest kilka silników, dzięki którym jest to jeszcze łatwiejsze.
Robię to dla zabawy i byłoby jeszcze lepiej, gdyby były dostępne odpowiednie edytory animacji / cząstek i gdyby silnik, którego miałbym użyć, byłby dostępny na wielu platformach. (aby więcej osób mogło grać w moją grę po zakończeniu). Chciałbym również, aby był dostępny na wielu platformach mobilnych. (ponieważ z jakiegoś powodu uwielbiam wprowadzanie dotykowe)
Dobrze znam framework XNA, ale nie ma dla niego dobrych silników i będzie działał tylko w systemie Windows, co jest ogromnym wyłączeniem. Jeszcze większe jest to, że musisz zainstalować redystrybucję XNA za każdym razem, gdy chcesz komuś dać grę. Gdybym używał XNA, musiałbym sam zrobić wszystkie narzędzia i prawdopodobnie musiałbym je wykonać przy pomocy WPF. (Chciałbym tworzyć narzędzia w środowisku Adobe AIR, ale niestety interfejsy API do manipulacji obrazami itp. Są znacznie gorsze we Flashu niż w XNA / WPF.) Teraz wiem, że mógłbym stworzyć własny silnik, który obsługuje każdą z tych platform, ale szczerze mówiąc, byłoby to zbyt wiele pracy przy API. W końcu chcę stworzyć grę, a nie silnik.
Pojawia się więc pytanie: czy może dostępny jest silnik wieloplatformowy (darmowy lub darmowy?), Którego mógłbym użyć do programowania 2D? Wolę: C #, Actionscript. Nie mam nic przeciwko użyciu c ++, jeśli zestaw narzędzi jest powyżej średniej, ale bardzo wątpię, czy istnieje coś takiego. Proszę, udowodnij, że się mylę :) Podsumowując: Chciałbym użyć Flasha, ale nie wiem, czy skaluje się wystarczająco dobrze. Nie jestem scripterem, chcę kilka prawdziwych interfejsów API, z którymi mogę pracować w odpowiednim środowisku IDE.
Tylko dla informacji, szukałem kilku alternatyw, właściwie już od dawna szukam. W końcu bardzo byś mi pomógł w podjęciu decyzji.
Pod względem funkcji silnik Flatredball byłby idealny. Ale wypróbowałem ich narzędzia i, szczerze mówiąc, są okropne. Absolutnie bezużyteczne, na pewno będę musiał zrobić własny. Nie spojrzałem na ich interfejs API, ale jeśli ich narzędzia są tak złe, nie jestem skłonny szukać dalej.
Unity3D. Ten jest całkiem fajny, ale tak naprawdę nie potrzebuję 3D i jest to ... dużo pracy do nauki. Nie podoba mi się również to, że jest tak drogi w użyciu dla różnych platform i że mogę go kodować tylko za pomocą skryptów. Każdą platformę musisz kupić osobno. Użyteczność edytora jest przeciętna, ogólnie produkt jest wystarczający do większości celów, ale samodzielne nauczenie się tego byłoby przesadą.
Shiva 3D. Wygląda wystarczająco dobrze, ale znowu: tak naprawdę nie potrzebuję 3D. Moim zdaniem użyteczność edytora jest nieco gorsza niż Unity3D i nie było dla mnie jasne, jak zacząć programować. Myślę, że wymaga C ++ do kodowania, więc to też jest negatywne. Chcę się dobrze bawić, a c # to zabawa;)
SDL. Szczerze mówiąc, nadal musiałbym przenieść się na wszystkie te różne implementacje SDL. I nie lubię programowania w stylu OpenGL, to po prostu brzydkie. I potrzebuje c ++, wiem, że mogą być dostępne jakieś opakowania, ale nie lubię używać opakowań, ponieważ ...
Irrlicht. Wiele funkcji, ale obsługa wydaje się niska i jest skierowana do entuzjastów. Wiązania C # są wielokrotnie usuwane. Nie jestem entuzjastą silników, chcę tylko stworzyć grę. Nie widzę, żeby tak się działo z Irrlicht.
Ogre3D. O wiele za dużo pracy, to tylko silnik graficzny. Brak obsługi wielu platform i c ++.
Torque2D. Kosztuje coś w użyciu i nie słyszałem wiele dobrych rzeczy na temat wsparcia i dokumentacji. Dodatkowo kosztuje dodatkowe dla każdej platformy.