Autor Wątek: W czym się teraz pisze gry?  (Przeczytany 3852 razy)

Offline Karol

  • Użytkownik

# Lipiec 05, 2016, 13:09:40
Ostatnie kilka lat można rzec, że żyłem pod kamieniem, czyli w świecie web/mobile i kompletnie zgubiłem poczucie co się dzieje w świecie desktopów. Naszła mnie wena twórcza i bym sobie coś podłubał tylko nie wiem w czym.

Mój dotychczasowa przygoda wygląda tak: kiedyś pisałem w Delphi, ponieważ Embarcadero jest gupie i nie ma wersji Personal/Community to sięgnąłem po Lazarusa, wrzuciłem Platform Extended Library (wcześniej Asphyre), jest obsługa DX9/11, OpenGL, do tego crossplatform pełną gębą (Win, Mac, Linux, Android, iOS, nawet RPi). W zasadzie żyć nie umierać, ale żeby nie było tak różowo to jest jeden szkopuł - IDE jest tragiczne, równie dobrze mógłbym w Notepad++ pisać, przy czymś więcej niż prosty projekt ciężko się odnaleźć w kodzie.

Drugi krok to Java + libgdx. Niby fajnie, IDE też są spoko (Eclipse czy Netbeans), ale fakt, że libgdx jest głównie zorientowany pod mobilki to co chwila trafiam na jakiś kamień, głaz czy ścianę (chociażby ze zmianą rozmiaru viewportu po zmianie rozmiaru okna).

W ramach desperacji zainstalowałem Visual Studio i jestem gotów klepać całą komunikację z oglem od zera (tym bardziej, że wiele nie potrzebuję), ale tu kompletnie nie wiem z czego się korzysta, ani jak w OpenGLu się poruszać (moje ostatnie przygody z nim to v1.1 i fixed pipeline)?

TL;DR - w czym teraz się fajnie pisze gry (proste 2D) na PC? Najlepiej gdyby to było coś natywnego (ale tu wybór chyba jest mega ograniczony), dającego dużo swobody i miało przyzwoite IDE.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline intruz

  • Użytkownik

# Lipiec 05, 2016, 13:31:40
Możesz korzystać z libSDL (open-source). Jest cross-platformowe. Obsługa opengl jako opcja.

Zadziała z MSVC (najnowsze i całkiem stare są obsługiwane bez problemu).
Alternatywnie Code::Blocks.

Offline FrozenShade

  • Użytkownik

# Lipiec 05, 2016, 14:22:39
Wspomniałeś o Javie więc polecam JMonkeyEngine. Silnik bardzo elastyczny, typowo dla programistów, opensourceowy.

A w czym się pisze? W tym, w czym wygodnie, jest na prawdę duży wybór silników i frameworków. Praktycznie na każdym poziomie zaawansowania można znaleźć coś dla siebie. Coś prostego machniesz szybko w Unity, ale na pewno nie będzie to 'natywne' i nie będziesz miał tam zbyt dużo swobody. A Visual Studio do przyzwoitych IDE nie należy.

Offline Karol

  • Użytkownik

# Lipiec 05, 2016, 14:31:00
W tym, w czym wygodnie, jest na prawdę duży wybór silników i frameworków.
Właśnie zdaję sobie sprawę, że te morze jest szerokie i głębokie, tylko nie wiadomo co łowić.

A Visual Studio do przyzwoitych IDE nie należy.
Hmm, sprawia wrażenie ok, a na pewno lepsze niż nieszczęsny Lazarus.

Jak nie znajdę nic zadowalającego i natywnego (jestem starym dinozaurem i jakoś tak kurczowo trzymam się tej natywności, może jednak trzeba odpuścić?) to zerknę na tą małpkę.

Offline koirat

  • Użytkownik

  • +7
# Lipiec 05, 2016, 15:53:01
Pisze się w Unity albo UE ;)

Offline MrKaktus

  • Użytkownik

  • +4
# Lipiec 05, 2016, 16:45:08
A Visual Studio do przyzwoitych IDE nie należy.
No takich farmazonów dawno nie słyszałem ;].
VS to standard w branży i najlepsze IDE z jakim pracowałem.

Offline Rakieta

  • Użytkownik

# Lipiec 05, 2016, 17:55:45
https://unity3d.com/showcase/gallery/games
https://www.unrealengine.com/showcase

Panie dajże spokój. To nie tylko prościej, nie tylko szybciej, to też lepiej. Bo w czasie gdy w OS będziesz zajmował się budową ogółu, w Unity lub UE będziesz zajmował się szczegółami.

Wcale nie jest tak wielki wybór w silnikach, bo wiele z nich nie jest już aktualizowanych, ma słabą lub nieaktualną dokumentację, albo po prostu mało użytkowników. Jak ktoś lubi grzebać w kodzie i łatać dziury i budować funkcje, to czemu nie? Tylko po co? Jakbym ja miał takie doświadczenie jak Ty, już sięgałbym po Rakneta do Unity (nie wiem jak to jest z UE) i tworzył jakąś gierę multiplayer :)


ps. Visual Studio + Unity = <3
« Ostatnia zmiana: Lipiec 05, 2016, 17:58:19 wysłana przez Rakieta »

Offline Karol

  • Użytkownik

  • +5
# Lipiec 05, 2016, 18:04:26
Pisze się w Unity albo UE ;)
Niestety i potem byle gra mobilna, która wykorzystuje 0,01% możliwości silnika zajmuje 1GB na karcie i zjada 0,5GB ramu. A gry na PC pisane w Unity mają drastyczne spadki wydajności, długie czasy wczytywania i masę innych problemów. No, ale gra jest więc o co chodzi? :P

Offline Mergul

  • Użytkownik

  • +1
# Lipiec 05, 2016, 18:42:55
Na czystym OGL-u grę w 2D można szybko napisać od podstaw :) Nawet pisząc fizykę w 2D od podstaw można dosyć szybko się z tym uporać. Wiadomo, że na pewno potrzeba więcej czasu kiedy chce sie dodać jakieś specjalne efekty, ale też nie wymaga go nie wiem ile :)
OGL 3 czy 4 w porównaniu do starszych wersji nie różni sie aż tak bardzo jak się wydaje. Potrzeba dużo więcej roboty, żeby coś wyświetlić, ale do gry 2D można zawsze wykorzystać i OGL 2 :D A jak nie, to tutoriali do OGL3.3 jest teraz na internecie sporo.
Co do JMonkeyEngine. Po pierwsze Java sama w sobie jest już utratą wydajności... i moim zdaniem czytelności kodu i wygody (dużo wymusza), to do tego silnik jest dość mocno amatorski, ale zawsze lepsze to niż czysty OGL, nie? :D
Ja osobiście programuję w Code::Blocks w C++ :) Korzystałem też kiedyś z Eclipse/NetBeans + Java/j2me, ale nie lubię :D Jeżeli chodzi o 2D to zawsze można wykorzystać jakąś bibliotekę która ma wbudowany prosty rendering 2D, np. SFML. SDL też chyba miał coś takiego z tego co pamiętam.

Offline laggyluk

  • Użytkownik
    • http://laggyluk.com

# Lipiec 05, 2016, 19:02:28
Hmm, sprawia wrażenie ok, a na pewno lepsze niż nieszczęsny Lazarus.
mi się lazarus nawet podoba ale co tu ma IDE do rzeczy skoro i tak przy pisaniu gry w pascalu praktycznie wszystko klepiesz w kodzie?

Niestety i potem byle gra mobilna, która wykorzystuje 0,01% możliwości silnika zajmuje 1GB na karcie i zjada 0,5GB ramu. A gry na PC pisane w Unity mają drastyczne spadki wydajności, długie czasy wczytywania i masę innych problemów. No, ale gra jest więc o co chodzi? :P
to że miałbyś grę zrobioną zamiast próbować od zera w kolejnym środowisku :P przy pierwszej i tak bym nie liczył na turbo hita który musi działać na wszystkim bo każdy chce w niego grać, raczej na 30 ściągnięć

Offline FrozenShade

  • Użytkownik

  • +1
# Lipiec 05, 2016, 20:27:09
No takich farmazonów dawno nie słyszałem ;].
VS to standard w branży i najlepsze IDE z jakim pracowałem.

Klnę na tego VS codziennie w pracy od lat. O ile VS2010 w którym spędzam najwięcej czasu jeszcze jakoś daje radę to 2005, którego kiedyś musiałem używać jest straszny. No i 2008, z racji tego, że część kodu piszę w .NET CF dla WEC7 też mi czasem podnosi ciśnienie.
Z kolei z Eclipse nie mam takich problemów a spędzam w nim prawie tyle samo czasu co w VS.

Po pierwsze Java sama w sobie jest już utratą wydajności... i moim zdaniem czytelności kodu i wygody (dużo wymusza), to do tego silnik jest dość mocno amatorski, ale zawsze lepsze to niż czysty OGL, nie? :D

Uzasadnij tą utratę wydajności. Jakoś nie odczuwam różnicy w szybkości działania programów w Javie i .NET. Wszędzie da sie napisać dobrze albo koncertowo spaprać kod.
Nie umiem ocenić poziomu amatorskości silnika bo zwyczajnie nie zjadłem zębów na wieloletnim tworzeniu silników i nie mam nic w tym temacie do powiedzenia... Dla mnie za JME przemawia fakt, że używają go zawodowi Java developerzy (patrz forum JME). Kilku zawodowych programistów Unity przyznało się też, że w domu, po godzinach tworzą własne projekty właśnie w JME. To plus moje własne, pozytywne doświadczenia mi wystarczą żeby polecić ten silnik.
« Ostatnia zmiana: Lipiec 05, 2016, 20:28:48 wysłana przez FrozenShade »

Offline koirat

  • Użytkownik

# Lipiec 05, 2016, 20:48:26
Nie umiem ocenić poziomu amatorskości silnika bo zwyczajnie nie zjadłem zębów na wieloletnim tworzeniu silników i nie mam nic w tym temacie do powiedzenia...
Coś tam możesz ocenić, jednym z wyznaczników jakości silnika jest ilość, że tak kolokwialnie sobie to nazwę "ślepych uliczek" - sytuacji w któych tworząc oprogramowanie dochodzisz do momentu w którym czegoś nie da się zrobić za pomocą tego silnika.

Zazwyczaj są to sytuacje zaskakujące, nazwali byśmy je funkcje oczywiste które nie zostały uwzględnione w silniku.
« Ostatnia zmiana: Lipiec 05, 2016, 20:51:30 wysłana przez koirat »

Offline MrKaktus

  • Użytkownik

# Lipiec 05, 2016, 21:18:55
Klnę na tego VS codziennie w pracy od lat. O ile VS2010 w którym spędzam najwięcej czasu jeszcze jakoś daje radę to 2005, którego kiedyś musiałem używać jest straszny. No i 2008, z racji tego, że część kodu piszę w .NET CF dla WEC7 też mi czasem podnosi ciśnienie.
To juz w ogole ciekawa sytuacja. Wiesz ze wydajnosc VS jako IDE stopniowo sie degradowala, i wlasnie wspomniany VS2010 jest najbardziej "zamulajaca" wersja? Po 2010 zdecydowali ze konieczny jest refaktor, i pozniejsze wersje jak 2012, 2013 czy teraz 2015 maja gigantyczna roznice wydajnosci (mowie tu o wydajnosci przy wielkich repo majacych tysiace plikow C/C++).

Offline Kyroaku

  • Użytkownik

# Lipiec 05, 2016, 21:37:02
Cytuj
pozniejsze wersje jak 2012, 2013 czy teraz 2015 maja gigantyczna roznice wydajności
Akurat co do 2015 się nie zgodzę. Muli okropnie. 2013 to IMHO najlepsza wersja.

Offline Kos

  • Użytkownik
    • kos.gd

# Lipiec 05, 2016, 21:42:13
VS to standard w branży i najlepsze IDE z jakim pracowałem.

A pracowałeś na czymś od JetBrains? Jak CLion, robiłeś podejście?

Pisze się w Unity albo UE ;)

No dobra, a jak z Cocos2D? też duże, też PC+mobilki, ale jakby mniej kolosalne. Ktoś coś widział, coś wie, opowie?
« Ostatnia zmiana: Lipiec 05, 2016, 21:44:26 wysłana przez Kos »