Niedawno dowiedziałem się, że MMO Minecraft jest oparty na Javie z ostatniego wywiadu na CVG.co.uk na temat możliwej współpracy między dwoma byłymi i obecnie konkurującymi ze sobą kolegami. W wywiadzie otwarcie powiedział, że założyciel Minecraft jest programistą Java i jest programistą C lub C ++, więc są ze sobą niekompatybilni. Współpraca przy przyszłych projektach będzie trudna.
To sprawiło, że pomyślałem, czy Java mogłaby to zrobić? Co przyniesie przyszłość bardzo popularnemu językowi C # i platformie .Net, jeśli chodzi o gry lub główny nurt gier?
Odpowiedzi:
Powinieneś sprawdzić XNA . Platforma do tworzenia gier dla systemów Windows, Xbox 360 i Windows Mobile 7. Wszystko w języku C # i .NET.
źródło
Pracuję nad profesjonalnym tworzeniem gier od ponad 5 lat. Przez większość czasu używałem C # prawie wyłącznie.
Stosunki C # i .NET są naprawdę świetne dla technologii po stronie serwera. Pracowałem nad nie mniej niż 4 grami MMO z serwerem napisanym w języku C #. Ponadto, gdy Unity3D zyskuje na popularności, wiele gier przeglądarkowych i mobilnych wymaga C #. Nie zapomnij o frameworku XNA: nie jest to silnik wybierany do tytułów konsolowych AAA, ale powstało wiele świetnych gier z nim związanych i wiele innych jest w trakcie tworzenia.
Ogólnie rzecz biorąc, C # zdecydowanie ma przyszłość w rozwoju gier.
źródło
Jak wspomniano, Mono przenosi C # na wiele platform. W tym samym obszarze znajdziesz Tao , wieloplatformową bibliotekę dla Mono i .NET, która umożliwia dostęp do Cg, DevIL, FreeGLUT, GLFW, GLU, ODE, OpenAl, OpenGL, PhysicsFS, SDL i WGL. Oczywiście nie jest tak niezawodny, jeśli chodzi o funkcje jak XNA (który zapewnia podstawowe komponenty silnika bezpośrednio deweloperowi); ale ma mnóstwo mocy.
Tak więc zdecydowanie możliwa jest współpraca między platformami poza systemem operacyjnym i sprzętem kontrolowanym przez Microsoft. Tylko nie tak wiele popularnych gier niezależnych wykorzystało tę umiejętność.
Jak już wspomniano, XNA w połączeniu z C # pozwala niezależnym programistom publikować na urządzeniach 360, PC i Windows Phone 7.
Ogólnie rzecz biorąc, C # żyje i dobrze rozwija się w grze jako język silnika / gry.
Jako język narzędzi jest używany wszędzie. Zbudowałem narzędzia dla EA, THQ, a teraz Arkadium, wszystkie używając C #.
źródło
C # ma nie tylko przyszłość w rozwoju gier, ale ma też prezent - sprawdź Magicka , niedawno wydaną (i dobrze sprzedającą się) grę, która została opracowana przy użyciu XNA. Zobacz także zwycięskie wpisy Dream.Build.Play . C # to realny sposób na tworzenie gier (chociaż w tej chwili nie sądzę, że jest to właściwy wybór dla wszystkich gier).
Z biegiem czasu zauważymy, że będzie on coraz bardziej popularny w branży gier komputerowych, jednak nie spodziewam się nagłej zmiany na C # w żadnym momencie.
źródło
Java zawsze była bardzo wszechstronnym językiem i od zawsze istniała możliwość kodowania w niej gier, od prostych gier internetowych (aplety Java / GWT z wtyczką canvas) do bestii 3D (kasy JMonkey ). Więc nie powiedziałbym, że fakt, że Java potrafi to zrobić, jest zabójcą C #, ponieważ większość ludzi wie, że Java już to potrafi.
C # nadal pozostanie popularny, ponieważ nieuchronnie łączy się z Windows, Windows Mobile i Xbox znacznie lepiej niż Java (co tak naprawdę wszyscy twórcy gier naprawdę dbają o targetowanie, więc przewaga między platformami, którą Java została w większości utracona). także XNA, który naprawdę wystartował pod względem rozwoju gier.
Tak, Java jest doskonałą platformą do tworzenia gier, jeśli ktoś chce pójść tą drogą, ale z pewnością nie jest to C # ani .NET Killer.
źródło
Sprawdź Unity 3D; Skrypty C # (i JavaScript oraz Boo) w wysoko wydajnym silniku 3D.
Dodaj XNA do miksu, a zobaczysz kilka świetnych platform do używania C # do tworzenia gier.
źródło
Tak, C # ma przyszłość z frameworkiem XNA. Większość woli C ++ ze względu na szybkość, ale C # nie jest już tak wolny ...
źródło
Również - MonoDroid może być opcją dla C #.
źródło
To, co zrobił z Javą w tym przypadku, to stworzenie apletu, dzięki czemu można było po prostu zalogować się na stronie i grać przy użyciu bardzo popularnej wtyczki, całkowicie niewidocznej dla systemu operacyjnego. Wyobrażam sobie, że jego myślenie było takie, że Java była dość przejrzysta, kiedy była używana w ten sposób, i ułatwiłoby to szybkie iteracyjne tworzenie / testowanie, które nakłaniał fanów do zrobienia. Nie sądzę, że możesz to zrobić za pomocą XNA, ponieważ zwykle tester musi mieć wszystko zainstalowane, a także grę i trochę ogólnej wiedzy na temat tego, jak to skompilować i uruchomić.
Powiedziałbym więc, że nie ma zmiany paradygmatu w stosunku do tego, po prostu odpowiadało to, czego potrzebował w tym czasie i oczywiście dobrze działało.
źródło
Jasne, wiele języków programowania ma przyszłość w rozwoju gier. Często stosowanym fałszywym dylematem stosowanym w prasie komputerowej jest to, że może istnieć tylko jedno narzędzie typu X i wszyscy chcą, aby tak się stało.
Nic nie może być dalej od prawdy.
C # i Java są używane w grach od dawna. C i C ++ mają jeszcze dłużej i nadal są. Lua jest używany jako język skryptowy w niektórych niezwykle popularnych grach, z silnikiem napisanym w C / C ++.
Tak wyraźnie, żaden język programowania nie wydobywa z wody innych języków programowania, jak The Game Programming Language. W rzeczywistości widzimy tendencję do tego, aby wiodące gry składały się z kompilowanego języka programowania o wysokiej wydajności do rozwijania silnika (ów) w., A następnie z dynamicznego języka programowania wyższego poziomu do skryptowania zachowania interfejsu użytkownika i innych rzeczy.
Kluczem w tej chwili jest wydajność. Jeśli którykolwiek z używanych języków programowania / bibliotek spowoduje nieprzewidywalne / niekontrolowane przerwy w aplikacji, to w grze akcji, która upadnie na twarz. W tekstowej grze przygodowej może to jednak być w porządku.
źródło