• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Narzędzie do programowania gier 2D w C++

Object Storage Arubacloud
0 głosów
2,433 wizyt
pytanie zadane 15 kwietnia 2016 w C i C++ przez bimbrownik Mądrala (5,180 p.)
Cześć. Na początku zaznaczę, że wiem o istnieniu już podobnych tematów, ale przeczytałem większość z nich i uważam, że to zbyt mało do podjęcia decyzji.

 

Potrafię programować objektowo w C++ i mam w planach rozpoczęcie tworzenia gier. Zapewne w większości 2D, choć nie wykluczam też 3D. Otóż nie wiem w jaki sposób zacząć - głównie myślałem o SFMLu i Unreal Engine 4, jeszcze możliwość nauki C# do tworzenia w Unity (ma to sens?). A może GameMaker? Z tego co czytałem wynika, że plusem SFMLa jest nauka wszystkiego od podstaw, przez co łatwiej przerzucić się na 3D, z drugiej strony właśnie ta nauka od podstaw może przeszkadzać przy większych projektach - chodzi mi o czas, więc pomyślałem, że dobrym rozwiązaniem mogłoby być tworzenie gry 2D w Unrealu, w razie potrzeby 3D. A więc - czy opłacalna jest nauka SFMLa? Czy lepiej od razu zacząć w Unrealu zamiast się przerzucać? Z tego co czytałem na blogu Szymona Siarkiewicza po opanowaniu SFMLa lepiej przerzucić się na jakiś inny silnik. Chciałbym też zaznaczyć, że przydatna byłaby możliwość w tym samym silniku (wiem, SFML to biblioteka graficzna) tworzenia gier tak na PC, jak i na smartfony, choć nie jest to dla mnie najistotniejsza kwestia.

Przy okazji - jeśli Unreal to skąd mógłbym się nauczyć w nim programować? Widziałem kilka tutoriali, ale chyba są już przestarzałe.

Z góry dzięki za odpowiedzi.

3 odpowiedzi

+2 głosów
odpowiedź 16 kwietnia 2016 przez niezalogowany
wybrane 16 kwietnia 2016 przez bimbrownik
 
Najlepsza
Ok, wspomniany przez ciebie wątek u mnie na blogu jest już nieco stary i moja opinia zdążyła mi się nieco zmienić, a więc:

SFML vs Unreal Engine <=> low level vs high level programming

SFML jest o tyle fajny, że sporo tricków będziesz w stanie poznać (albo dość dobrze zrozumieć) i to bez zagłębiania się w openGL, czego na start nie polecam (chyba że lubisz mocno matmę), jednakże tutaj dość sporo będziesz musiał popisać co nie jest czymś złym, jestem wielkim fanem programowania niskopoziomowego (w przypadku SFML to słowo jest lekkim nadużyciem), ale to nie jest dla każdego, musisz pamiętać że SFML to jedynie nakładka na openGL ułatwiająca rysowanie i nic więcej (no może jeszcze odtwarzanie muzyki, ale to tyle). Fajna rzecz aby się pobawić, napisać snake'a i przejść albo na ogl, albo na coś "wyżej".

Z kolei Unreal to prawdziwy nextgenowy silnik, więc jest spory i wymaga chwili posiedzenia, poczytania dokumentacji, czy obejrzenia jakiegoś poradnika aby coś sensownego napisać. Jego plusem jest to, że ucząć się go poznajesz naprawdę solidne narzędzie do gamedevu, jak się go uczyć? Najlepiej z oficjalnych poradników ( https://docs.unrealengine.com/latest/INT/Videos/ ), dokumentacji i psuciem przykładowych "gier" (psuciem w taki sposób aby uzyskać to co sobie wymyśliliśmy), polecam zacząć od 2D, bo 3D to nie jest tylko dodatkowa oś, 3D to masa dodatkowych tricków pozwalających uzyskać efekt 3D (a pamiętajmy że standardowe ekrany wyświetlają tylko obrazy 2D) oczywiście te triki są ukryte w silniku jak UE, ale jednak są.

Co bym ci polecił? Spróbuj napisać coś prostego w SFML: Pong / Arkanoid / Space Invaders, aby zobaczyć jak wygląda to od tej strony, następnie napisz tą samą grę pod Unreal Engine, powinieneś zauważyć że mamy tutaj zupełnie dwa różne podejścia pisania gier i wtedy spróbuj coś napisać innego w Unreal, nie zatrzymywałbym się długo przy SFML jeżeli chcesz się związać z gamedevem
komentarz 16 kwietnia 2016 przez bimbrownik Mądrala (5,180 p.)
Dzięki, zrobię jak napisałeś! A tak btw. to w czym najlepiej tworzyć prostsze gry np. powieść wizualna? Też w Unrealu?
komentarz 16 kwietnia 2016 przez niezalogowany
hmm, do tego Unreal to raczej overkill, szczególnie że to po prostu wyświetlanie napisu i obrazków na zmianę :P
komentarz 16 kwietnia 2016 przez bimbrownik Mądrala (5,180 p.)
no właśnie o to mi chodzi xD próbowałem to zrobić w C++ Builderze, ale dowiedziałem się, że jest przestarzały i lepiej przerzucić się na coś innego
komentarz 17 kwietnia 2016 przez Harsay Pasjonat (23,640 p.)

Do tworzenia Visual Noveli polecam renpy. (wiem, że Python, a nie C++)

komentarz 17 kwietnia 2016 przez bimbrownik Mądrala (5,180 p.)
A coś takiego w QT? Albo w SFMLu? Ew. mogę użyć po prostu C++ Buildera...
1
komentarz 17 kwietnia 2016 przez niezalogowany
Nie mieszajmy narzędzi do tworzenia programów okienkowych z np grami, można to osiągnąć np w Qt który udostępnia także wsparcie dla openGL, ale w SFML (podobnie w czystym GLu, tylko w GL napiszesz więcej kodu) osiągniesz pożądany efekt w dużo mniej problematyczny sposób.

Jak mówiłem, gra tego typu to raptem zmiana wyświetlanych napisów + obsługa kliknięć przycisków, ten element (rdzeń) jest trywialny do napisania w dowolnej technologii, ale jeżeli będziesz chciał dodać ciekawsze elementy np nieco inne wyświetlanie przycisków to okaże się że Qt, czy Builder już się tak świetnie do tego nie nadają
+1 głos
odpowiedź 16 kwietnia 2016 przez jpacanowski VIP (101,940 p.)

Jeśli chodzi o biblioteki 2D to polecam:

- SDL
kiedyś napisałem w SDL mój klon Boulder Dasha
screen: http://warsztat.gd/screen/10514/screen_z_nowszej
source: https://github.com/jpacanowski/My-Boulder-Dash-Clone

- SFML - w pełni obiektowa biblioteka i trzeba w miarę dobrze ogarniać C++

Jeśli chodzi o 3D to polecam OpenGL.
W OpenGL kiedyś pisałem własny silnik 3D
screen: http://warsztat.gd/screen/10511/moj_swiat_3d
source: https://github.com/jpacanowski/Engine3D

Co do gotowych silników 2D/3D to nie mam pojęcia, bo interesuje mnie programowanie tylko tego co jest pod spodem.

komentarz 16 kwietnia 2016 przez bimbrownik Mądrala (5,180 p.)

Dzięki, a jak jest czasowo z różnicą między SFMLem, a gotowym silnikiem? Chodzi mi o to, że gdybym tworzył coś dużego to czy lepiej pisać to od samych podstaw w SFMLu czy użyć już gotowego silnika. I jakie są plusy użycia SFMLa? Lepsze rozumienie gier?

komentarz 16 kwietnia 2016 przez jpacanowski VIP (101,940 p.)

Jak pisałem, nie wiem. Nie mam doświadczenia z gotowymi silnikami. Interesuje mnie programowanie tego co pod spodem. Tworzenie samej gry dla gry mnie nie interesuje ;D

Jeśli chcesz stworzyć coś dużego i pewnie też liczysz aby na grze coś zarobić to raczej gotowy silnik - wiadomo, dużo szybciej pójdzie.

Jednak wypadało by poznać matematykę 3D oraz zobaczyć jak to wszystko od środka działa.

Co do Game Maker-ów, to jestem całkowitym przeciwnikiem tego, bo interesuje mnie programowanie i tylko programowanie - więc to już twój wybór ;)

0 głosów
odpowiedź 15 kwietnia 2016 przez hubot Dyskutant (9,090 p.)
Spróbuj Unreal Engine, naprawdę warto. A Unity, to tak warto się uczyć.
komentarz 15 kwietnia 2016 przez bimbrownik Mądrala (5,180 p.)
Jakieś uzasadnienie?
komentarz 22 sierpnia 2016 przez afferu Mądrala (5,220 p.)
Unity jest na pewno łatwiejszy, bardziej otwarty, duże community,możesz zbudować projekt na wiele platform itp.

Podobne pytania

0 głosów
0 odpowiedzi 177 wizyt
pytanie zadane 14 grudnia 2016 w C i C++ przez mel0n Początkujący (400 p.)
0 głosów
0 odpowiedzi 602 wizyt
pytanie zadane 4 października 2018 w C i C++ przez niezalogowany
0 głosów
5 odpowiedzi 441 wizyt
pytanie zadane 7 czerwca 2017 w JavaScript przez Człowiek Niewidzialn Użytkownik (500 p.)

92,580 zapytań

141,432 odpowiedzi

319,665 komentarzy

61,965 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...