Zaloguj się, aby obserwować  
Gram.pl

Patch 1.3 do Minecrafta połączy tryb singleplayer i multiplayer

16 postów w tym temacie

Coraz poważniej rozważam kupno tej gry. Po 500+ godzinach spędzonych w Terrarii, Minecraft kusi mnie coraz bardziej. Warto?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.07.2012 o 17:40, Ring5 napisał:

Coraz poważniej rozważam kupno tej gry. Po 500+ godzinach spędzonych w Terrarii, Minecraft
kusi mnie coraz bardziej. Warto?

Tak.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.07.2012 o 16:36, khizbu napisał:

Jack of blades wygląda bardzo słabo.


Jeden z najciekawszych antagonistów w historii gier imo.
Chciałbym żeby ktoś taki rządził naszym światem :3

Topic: Bardzo fajny update, nie trzeba będzie bawić się edytorami, wycinać i wklejać nasze konstrukcje z singla żeby pozwolić znajomym na wspólny "łoktru" czy ich modernizacje. Sam nie wiem dokładnie jak to działa więc jak się mylę niech ktoś mnie poprawi :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.07.2012 o 17:21, TobiAlex napisał:

Przerzuciłby to w końcu na C# a nie brnie dalej w wolnej Java.

Z czystej ciekawości: Minecraft na X360 nie był czasem pisany w C#?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.07.2012 o 17:42, Mercuror napisał:

> Coraz poważniej rozważam kupno tej gry. Po 500+ godzinach spędzonych w Terrarii,
Minecraft
> kusi mnie coraz bardziej. Warto?
Tak.

Po takiej odpowiedzi na bank poleci i kupi ;-) bez chwili namysłu.... :P
Pozdrawiam.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.07.2012 o 19:24, Braveheart napisał:

> > Coraz poważniej rozważam kupno tej gry. Po 500+ godzinach spędzonych w Terrarii,

> Minecraft
> > kusi mnie coraz bardziej. Warto?
> Tak.
Po takiej odpowiedzi na bank poleci i kupi ;-) bez chwili namysłu.... :P
Pozdrawiam.

Po co spam?
Pozdrawiam serdecznie. Wszystkich Polaków.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.07.2012 o 17:21, TobiAlex napisał:

Przerzuciłby to w końcu na C# a nie brnie dalej w wolnej Java.


http://www.itu.dk/people/sestoft/papers/numericperformance.pdf
http://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html

"Conclusion
The experiments show that there is no obvious relation between the execution speeds of different software platforms, even for the very simple programs studied here: the C, C# and Java platforms are variously fastest and slowest."

Java wcale nie musi być wolniejsza od C#...Jasne, jak chcesz to i w Asemblerze możesz sobie robić grę, wtedy rzeczywiście będzie szybciej. Ale przy obecnym poziomie technologii i mocy komputerów to częściej lepiej postawić na język który bardziej pasuje twórcom danej gry aniżeli koniecznie C. Zwłaszcza jeśli różnice wydajnościowe są niewielkie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 06.07.2012 o 21:23, ziptofaf napisał:

Java wcale nie musi być wolniejsza od C#...Jasne, jak chcesz to i w Asemblerze możesz
sobie robić grę, wtedy rzeczywiście będzie szybciej. Ale przy obecnym poziomie technologii
i mocy komputerów to częściej lepiej postawić na język który bardziej pasuje twórcom
danej gry aniżeli koniecznie C. Zwłaszcza jeśli różnice wydajnościowe są niewielkie.

Zauważ, że na blogu jest analizowany przypadek oprogramowania serwerowego. I tu faktycznie można powiedzieć, że technologia nie ma znaczenia, bo "inżynierowie są drodzy, serwery nie". W firmie dokupienie dwóch maszyn i programistów Java na pewno będzie tańsze niż zatrudnienie programistów znających niskopoziomowe C.
Nie można tego jednak odnieść do pojedynczego użytkownika (w naszym przypadku gracza), bo on nie ma takich środków, że jeśli mu sprzęt nie domaga to może w każdej chwili dokupić dwa dodatkowe GPU/CPU, kilka kości pamięci i git. Użytkownik ma określoną platformę sprzętową, którą w najlepszym wypadku wymienia raz na rok/2 lata i kupuje gry, które na niej ruszą.
Gdyby Minecraft był napisany w C lub C++ na pewno chodziłby szybciej (czego zresztą dowodzą testy, które podlinkowałeś) i wymagał mniej pamięci (co najmniej 1 GB RAMu do płynnej rozgrywki?). Java to mimo wszystko maszyna wirtualna, czyli kolejna warstwa między grą a sprzętem, a to na wydajność na pewno korzystnie nie wpływa.
Sam znam kilka osób, które w Minecrafta by grały, ale nie mogą bo ich 5 letni laptop nie daje rady (a do tego co oferuje Minecraft lepszy komputer nie powinien być potrzebny).
Oczywiście zdaję sobie sprawę, że słabo napisany kod w C też będzie zamulał, ale nie można mówić, że użycie Javy nie ma znaczenia.
Naprawdę nie wiem, czemu Notch trzyma się tego języka, przecież gdyby jego gry miały mniejsze wymagania, więcej ludzi by je kupiło. Przenośność Javy IMHO nie jest argumentem, bo jest dużo bibliotek dla C, które portowanie aplikacji upraszczają do bólu.

Co do C#: nic by to nie dało - jest tylko trochę szybsze od Javy na Windowsie (architekturalnie to jednak nadal to samo), a do tego nieprzenośne (i Mono tu nic nie pomoże, bo portu XNA jak nie było tak nie ma).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 07.07.2012 o 01:03, KapiX napisał:

Naprawdę nie wiem, czemu Notch trzyma się tego języka, przecież gdyby jego gry miały
mniejsze wymagania, więcej ludzi by je kupiło. Przenośność Javy IMHO nie jest argumentem,
bo jest dużo bibliotek dla C, które portowanie aplikacji upraszczają do bólu.


Ciężko się z tobą nie zgodzić. Choć faktem jest że samo projektowanie aplikacji w zwykłym C JEST trudniejsze niż w Javie/C#. Jednak pełna obiektowość języka, możliwości dziedziczenia, bardzo ładnie rozwiązany garbage collector, ogólnie wszelki debugging jest o wiele prostszy w Javie niż w C (nie bez powodu wśród programistów krążyły jednak dowcipy w stylu: "Mój program w C się kompiluje więc na pewno będzie działać"). Do tego mamy wielowątkowość dostępną od ręki, bez konieczności bawienia się z dodatkowymi bibliotekami. Osobiście uważam iż języki pokroju Javy/C# są o wiele lepszymi paradygmatami do nauki obecnie niż kurczowe trzymanie się starych nieobiektowych rozwiązań.

Zresztą podejrzewam (bo kodu źródłowego jednak nie widziałem) że te problemy z wydajnością to nawet nie są winą wybranego języka (choć nie wykluczam że zmiana języka mogłaby pomóc, nie próbowałem robić pełnoprawnych aplikacji w 3D w Javie i porównywać ich z C więc mogę się opierać tylko na wynikach testów) a po prostu fatalnej optymalizacji. Technicznie ten tytuł nie ma nic co usprawiedliwiałoby tak wysokie wymagania i podejrzewam że powodem jest to że to jednak Notch pracował nad nim w zasadzie sam, nawet nie wiem czy ktoś potem przepisywał ten kod na czysto. To i powstał taki potworek - każdy wie jak się kończy dopisywanie kolejnych linii do już gotowej aplikacji... a tych dodatkowych elementów jest w tej chwili więcej niż oryginalnej gry.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Dnia 07.07.2012 o 07:34, ziptofaf napisał:

Ciężko się z tobą nie zgodzić. Choć faktem jest że samo projektowanie aplikacji w zwykłym
C JEST trudniejsze niż w Javie/C#. Jednak pełna obiektowość języka, możliwości dziedziczenia,
bardzo ładnie rozwiązany garbage collector, ogólnie wszelki debugging jest o wiele prostszy
w Javie niż w C (nie bez powodu wśród programistów krążyły jednak dowcipy w stylu: "Mój
program w C się kompiluje więc na pewno będzie działać"). Do tego mamy wielowątkowość
dostępną od ręki, bez konieczności bawienia się z dodatkowymi bibliotekami. Osobiście
uważam iż języki pokroju Javy/C# są o wiele lepszymi paradygmatami do nauki obecnie niż
kurczowe trzymanie się starych nieobiektowych rozwiązań.

No i właśnie niektóre z tych udogodnień są przyczyną dla której pisanie gier w Javie (i ogólnie językach zarządzanych) jest odradzane. Garbage collector może i jest ułatwieniem, ale bywa nieprzewidywalny w tym sensie, że może włączyć się w dowolnym momencie a to spowolni grę. W aplikacji biznesowej nie stanowi to żadnego problemu i może być nawet niezauważalne, ale w momencie gdy gra wyciska ostatnie soki z komputera, uruchomienie garbage collectora bywa bolesne. (Wiem, że można sterować jego działaniem, ale w temat się zbytnio nie wgłębiałem, w Javie na codzień nie piszę, stąd nie wiem na czym to sterowanie polega i czy jest rozwiązaniem problemu.)
tl;dr: Java do aplikacji i nauki jak najbardziej, do gier - nie.

Dnia 07.07.2012 o 07:34, ziptofaf napisał:

Zresztą podejrzewam (bo kodu źródłowego jednak nie widziałem) że te problemy z wydajnością
to nawet nie są winą wybranego języka (choć nie wykluczam że zmiana języka mogłaby pomóc,
nie próbowałem robić pełnoprawnych aplikacji w 3D w Javie i porównywać ich z C więc mogę
się opierać tylko na wynikach testów) a po prostu fatalnej optymalizacji. Technicznie
ten tytuł nie ma nic co usprawiedliwiałoby tak wysokie wymagania i podejrzewam że powodem
jest to że to jednak Notch pracował nad nim w zasadzie sam, nawet nie wiem czy ktoś potem
przepisywał ten kod na czysto. To i powstał taki potworek - każdy wie jak się kończy
dopisywanie kolejnych linii do już gotowej aplikacji... a tych dodatkowych elementów
jest w tej chwili więcej niż oryginalnej gry.

Też się domyślam, że kod Minecrafta jest niezoptymalizowany. I tutaj powstaje pytanie: co dają Notchowi te wszystkie javowe udogodnienia (ot, wspomniana przez Ciebie wielowątkowość) skoro z nich nie korzysta? :P

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Zaloguj się, aby obserwować