Czy możesz polecić dobry silnik do gry w języku C # do programowania na różnych platformach (Win / Mac / Linux, nie dbam o konsole)?
Mam trochę doświadczenia z surowym OpenGL i bawiłem się powiązaniami Java i JMonkeyEngine. Jednak nieco rozczarowałem się tymi rozwiązaniami i wypróbowałem Ogre3D, co wydawało się naprawdę obiecujące, ale wolałbym nie rozwijać się z PITA, czyli C ++.
Spojrzałem na tę listę, ale jest ona przytłaczająca. Nie szukam rozwiązania typu „wszystko w jednym”, tzn. Tak naprawdę nie wymagam wsparcia dla sieci, dźwięku i całego tego jazzu, ale nie zaszkodziłoby, gdyby było obsługiwane.
Może jest też niesamowite rozwiązanie Java, o którym nie wiem?
c#
java
cross-platform
mono
Raoul
źródło
źródło
Odpowiedzi:
Unity używa Mono w swoim zapleczu. Chociaż wiele samouczków dotyczących skryptowania używa JavaScript, w rzeczywistości można całkowicie zaprogramować Unity w C # / Mono.
źródło
JMonkeyEngine to naprawdę najbardziej zalecany silnik 3D dla Java. Xith3D jest czasem zalecany jako alternatywa, ponieważ jest to również silnik graficzny w stylu scenegraph.
Można iść z lwjgl lub Jogl ale to nie są silniki tyle bibliotek, a chcesz pisać surowe OpenGL.
Jednak nie polecam Java3D , myślę, że jest prawie porzucony.
Myślę, że LWJGL jest najlepszym, co możesz dostać, ale znowu, to biblioteka gier, a nie silnik graficzny. OGRE to silnik graficzny scenegraph, taki jak JMonkeyEngine; LWJGL jest dla Java tym, czym SDL jest dla C ++. Zapewnia funkcje OpenGL, audio i wejścia, i oczekuje się, że będziesz z tym działał. Osobiście lubię tego rodzaju moc.
źródło
Chciałbym spojrzeć na Ardor3D i jeszcze raz spojrzeć na JMonkeyEngine.
Ardor3D
Stworzony przez oryginalnych programistów JMonkeyEngine, którzy zdecydowali, że wymagana jest czysta przerwa, aby mogli zacząć od nowa i wykorzystać całe doświadczenie zdobyte podczas tworzenia, aby stworzyć lepszy interfejs API i platformę.
Ludzie, o których wiem, że korzystali z Ardor3D, mają bardzo pozytywne zdanie na temat jego projektu i interfejsu API. Jest w trakcie aktywnego rozwoju i ma dobrą społeczność oraz dobrą dokumentację API, chociaż samouczki są nieco niedostateczne i na ogół będziesz musiał zapoznać się z koncepcjami programowania 3D, aby móc je podnieść.
JMonkeyEngine
Przejęte przez społeczność JMonkeyEngine, twórcy Ardor3D pozostawili po sobie tyle, że od momentu wydania JME3 rozwinęło się ono w siłę, co rozwiązało szereg niedociągnięć w projektowaniu JME2.
Istnieje obszerna dokumentacja, w tym samouczki i wiele projektów z niej korzystających. Jeśli miałeś problemy z JMonkeyEngine 2 lub wcześniejszym, warto ponownie przyjrzeć się wersji 3.
Inne
źródło
Silnik Axiom 3D oparty jest na porcie C # Ogre. Ma renderery DirectX, OpenGL i XNA, więc jest bardzo przenośny, choć niektóre platformy nie są bardzo aktywnie utrzymywane.
źródło
spójrz na silnik Ploobs , teraz obsługuje XNA 4, jest open source i ma wiele fajnych funkcji:
źródło
Spójrz na http://www.devmaster.net/engines/search.php, a także sprawdź ramy XNA.
źródło
SDL plus .NET Wrapper ?
źródło
OpenTK jest używany w MonoGame . Niestety, MonoGame obsługuje obecnie tylko API 2D XNA, ale wspomniałeś, że masz trochę doświadczenia z OpenGL, więc możesz użyć opakowania OpenTK do robienia grafiki 3D. Prawdopodobnie można również znaleźć kilka bibliotek grafów scen, które są zaimplementowane w języku C # lub w C ++ z opakowaniami C #.
Jeśli chodzi o audio, OpenTK otacza OpenAL, a jeśli chcesz czegoś bardziej niezawodnego i planujesz wypuścić grę jako darmową, to FMOD nic nie kosztuje. Robi się drogo, jeśli chcesz pobierać opłaty za grę. Tańszą alternatywą byłby BASS .
źródło