Rekomendacja C # (Mono) / Java 3D Game Engine [zamknięte]

14

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?

Raoul
źródło
Czy to musi być C # - co z Javą?
Dave O.
1
Z pewnością byłbym zainteresowany tym, co byś polecił.
Raoul
Zredagowałem to pytanie odpowiednio
Raoul,
Skomentowałem odpowiednią odpowiedź
Dave O.

Odpowiedzi:

14

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.

Jeff
źródło
Ale nie ma Linuksa.
Kaj
To świetna opcja dla Win / Mac. Jedność jest bardzo miła.
Corv1nus
1
Moja odpowiedź też. Jedność jest świetna. Szkoda obsługi Linuksa, ale może kiedyś nadejdzie.
BerggreenDK,
3

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.

Ricket
źródło
Bałam się tego. Używałem JMonkeyEngine 1 i 2, ale nie jestem zadowolony z ich praktyk programistycznych, a wraz z JME3 sytuacja się pogarsza. Myślę, że ci faceci znają swoje rzeczy 3D, ale nie mają pojęcia o zdrowych praktykach programistycznych Java, bez obrazy. Oczywiście znam LWJGL i JOGL, ale nie chcę implementować własnego API scenegraph itp. (Przynajmniej na razie).
Raoul
@Raoul to jest to, co poleciłbym: lekka biblioteka graficzna Java, krótki LWJGL. Dokumentacja jest trochę kiepska, ale ogólnie jest to tylko opakowanie wokół OpenGL. Więc jeśli znasz trochę OpenGL, wkrótce zapoznasz się z LWJGL, a do tego dostępne są dobre tutoriale. Na przykład tribaltrouble.com został stworzony przy pomocy LWJGL :-)
Dave O.
3

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

Charles Goodwin
źródło
1

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.

Mikayla Hutchinson
źródło
Ponadto zawiera sprytny edytor.
drxzcl
1

spójrz na silnik Ploobs , teraz obsługuje XNA 4, jest open source i ma wiele fajnych funkcji:

thelinuxlich
źródło
0

Spójrz na http://www.devmaster.net/engines/search.php, a także sprawdź ramy XNA.

Danny Varod
źródło
1
Oficjalny framework XNA jest ograniczony do Windows i XBox360, ale wierzę, że jest wysiłek, aby przenieść go na platformę Mono (przeszukaj „MonoXNA”).
Mike Strobel,
0

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 .

michael.bartnett
źródło