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

Tworzenie gier

Object Storage Arubacloud
0 głosów
810 wizyt
pytanie zadane 2 lutego 2020 w C i C++ przez niezalogowany
edycja 3 lutego 2020

Cześć, chodzę chodzę do pierwszej technikum i chciałbym już zacząć coś z programowaniem. W przyszłości chcę nauczyć się tworzyć gry i stąd pytanie, z czego nauczyć się c++? Posiadam książkę "Język C++, Kompendium Wiedzy" Bjarne Stroustrup'a, tylko że... książka obejmuje c++11, a zaraz ma się pojawić c++20. Wiem że książka bardzo dobra, jednak wydaje mi się że trochę stara. Z czego polecacie mi się uczyć c++ (z myślą o przyszłościowym programowaniu). Co sądzicie na temat cpp0x? Tak wiem.. learn cpp dobre jednak nie posługuję się angielskim bardzo dobrze. Co sądzicie o kursach ze strefy kursów itp? bardzo dziękuję za każdą pomoc!!! 

A i oczywiście, warto żebym się uczył z tej książki? 

EDIT: Chciałbym dodać że w przyszłości mnie bardziej interesują gry 3d, tak wiem że sam bardzo dobrej gry 3d nie stworzę, jednak bardzo marzę w pracowaniu w studiach tworzących takowe gry. Dzięki.

komentarz 3 lutego 2020 przez obl Maniak (51,280 p.)
Kiedyś napisałem gierkę konsolową, która wyświetlała planszę w konsoli ale to dość dawno temu było. Wiem jednak, że plansza nie mrugała. Tutaj jest filmik z tej gierki: https://www.youtube.com/watch?time_continue=98&v=Ni6Uil5kAjQ&feature=emb_logo

Podejrzewam, że całą planszę na jeden raz odrysowuję ale dokładnie nie powiem bo już dawno to pisałem.

2 odpowiedzi

+1 głos
odpowiedź 3 lutego 2020 przez profesorek96 Szeryf (91,420 p.)

Posiadana przez ciebie książka jest bardzo dobra. Owszem jest już standard C++20 jednak w dużej mierze jest to rozwinięcie tej rewolucji która pojawiła się w standardzie C++11. Ja na twoim miejscu skończył bym to dzieło. Jest to bardzo i to bardzo dobra książka od samego twórcy języka. Po dogłębnej analizie C++11 nauka tego co dodano w standardzie z 2020 roku nie zajmie ci długo. Wiec że to jest ten sam język jedynie coś dodano, unowocześniono. Co do pisania gier to w cale nie jest ci potrzebny silnik. Wystarczy prosta biblioteka graficzna jak np SFML i tyle. Ja na Twoim miejscu bym właśnie tak zaczął.

Oczywiście co do bibliotek graficznych ja bym ci polecał zastanowić się nad SFML, Allegro, SDL2.

Silnik tak jednak nie na początek, szczególnie nie taki kombajn jak Unreal Engine. W tym silniku owszem da się pisać gry zarówno 2D jak i 3D jednak trzeba już posiadać co najmniej podstawy obiektowości by ruszyć z tematem. Jako ciekawostkę dodam że Unreal Engine posiada mechanizm blueprint który pozwala tworzyć gry bez pisania kodu a na zasadzie łączenia bloczków. Jednak pragnę dodać że tworzenie gry 2d w tak potężnym silniku troszkę mija się z celem.

Jeśli koniecznie zależy ci na tym by pisać gry w C++ to oprócz Unreal Engine, język C++ jest wspierany zarówno przez Godot Engine jak i CryEngine.

Przykład realizacji flappy bird w CryEngine.

https://www.youtube.com/watch?v=FAXHqKvuPF4&list=PLpCgy91Y5vMvZp9_UQivhhK588pvaUtBZ

Jeśli zaś chciałbyś iść za modą i interesuje cię szybkie stworzenie gry. Gra ma być 2d to polecam ci Unity. Za tym silnikiem stoi olbrzymia społeczność. Mnóstwo gotowych Assetów, nawet nie musisz za wiele programować by stworzyć fajną grę. Oczywiście silnik ten umożliwia tworzenie gier 3D jednak nie jest to aż tak wydajne jak w przypadku Unreal Engine. Niestety albo stety językiem obsługiwanym przez Unity jest język C#.

Tak C# to że C jest w nazwie to nie znaczy że jest mu bliżej do C++. Tak naprawdę C# to taka Java od firmy Microsoft.

Wybór pozostawiam tobie. Jednak jeśli chciałbyś tworzyć gry i iść w ten temat musisz znać podstawy programowania jak i tak zwane wzorce projektowe.

komentarz 3 lutego 2020 przez tkz Nałogowiec (42,000 p.)
Nie ma jeszcze c++ 20 i nie jest on rozwinięciem c++ 11, prędzej 17, o ile można tak powiedzieć. C++ 20 ma wprowadzić małą rewolucję, jak c++11, więc mówienie, że standard 20 jest małą zmianą, jest mylne.
komentarz 3 lutego 2020 przez niezalogowany

@profesorek96, bardzo dziękuję za odpowiedź, odpowiedź mi bardzo pomogła. Jednak chciałbym w przyszłości zająć się grami 3d, tak wiem najpierw warto się nauczyć robić gry 2d bo są łatwiejsze, jednak chciałbym wiedzieć jak uczyć się tak aby w przyszłości robić gry 3d. Wiem że trochę nie poskładana ta odpowiedź, jednak mi się śpieszy. Jeszcze raz dziękuję.

komentarz 3 lutego 2020 przez profesorek96 Szeryf (91,420 p.)
Zacznij od zrobienie swojej pierwszej gry 2d. Jak ja zrobisz bierz się za grę 3d.
0 głosów
odpowiedź 3 lutego 2020 przez kukulim Mądrala (6,440 p.)

Chyba są dwie opcje :

albo C++ i engine unreal - raczej trudniejsza droga,

albo C# i unity - raczej łatwiej w to wejść.

Na początek jednak trzeba ogarnąć podstawy programowania no i programowanie obiektowe.

Ja c++ uczyłem się z tej książki, jest świetna, polecam:

https://helion.pl/ksiazki/jezyk-c-szkola-programowania-wydanie-vi-stephen-prata,cppri6.htm#format/d

przystępnie napisana i po każdym rozdziale 10 zadań do rozwiązania.

komentarz 3 lutego 2020 przez niezalogowany

Słyszałem właśnie że ta książka nie jest dla każdego dobra.

Nie polecam jej z dwóch powodów - nie ma zbyt dobrych opinii (patrz tutaj), oraz widziałem jaki kod piszą osoby które się z niej uczyły. Nie warto. Z rzeczy które mogę zarzucić książce Prata a które książki Stroustrupa robią dobrze, jest na przykład minimalne wprowadzenie do biblioteki standardowej w książce Prata. Przez większość książki nie używa praktycznie biblioteki standardowej oprócz koniecznego minimum, opisuje nagle jej mały fragment na sam koniec. Stroustrup po wprowadzeniu czegoś, tego używa - bardzo dobrym przykładem jest vector i array, które prata "wprowadza" w rozdziale 4, ale potem nadal używa tablic w stylu C. Z tego też powodu niektórzy ludzie uważają że jest to "książka do C++a napisana w stylu C" Stroustrup zazwyczaj przedstawia problem i pokazuje narzędzia do jego rozwiązania, w jego książce jest kilka dość mocno rozbudowanych analiz problemów, które ułatwiają osobie która to czyta zrozumienie jak stosuje się narzędzia dostępne w języku. Czytając Prata mam wrażenie że robi on to na odwrót, co moim zdaniem może być cięższe do zrozumienia, i brakuje w nim tego typu przeanalizowanych problemów do rozwiązania. Prata notorycznie używa konwencji z C, między innymi wspomniane wyżej tablice, NULL, std::rand, ale gdybym miał czas i chęci to pewnie doszukał bym się więcej. Podobno książka jest o C++11, dlaczego wiec nie używa narzędzi z tego standardu? Wspomina o nullptr i tablicach C++owych, ale tego nie używa w prezentowanym kodzie. Podejrzewam że to jeden z głównych problemów tej książki. Na dodatek zdarza się mu mieszać biblioteki standardowe w dość nieprzyjemny sposób (He seems to have no understanding of the difference between the C and the C++ header names and calmly #include's such things as cstdlib after his using namespace std.).

komentarz 3 lutego 2020 przez kukulim Mądrala (6,440 p.)

Powiem Ci że na początku też miałem wrażenie że po co jest używana tablica char zamiast stringów, albo zwykłe tablice zamiast vectora, lecz już po przeczytaniu zrozumiałem że chodzi o uniwersalne podejście po programowania i po tej książce łatwo przejść na inny język bo masz solidne podstawy, sama nazwa wskazuje Język C++. Szkoła programowania. biblioteka standardowa jest częścią C++, a tablice znajdziesz w każdym języku. Ale jak to mówią gdzie polaków 2 tam 3 opinie, niektórym się książka spodoba innym nie. Ja lubię wszystko rozumieć, łącznie z teorią, pewnie dlatego mi się spodobała, ale jak masz już jedną książkę to niema co kupować innej trzeba ja przerobić od deski do deski i później się zastanowić do dalej. Mi studiowanie książki zajęło 3 miesiące, wiec trochę czasu jest. 

Podobne pytania

–1 głos
1 odpowiedź 404 wizyt
pytanie zadane 25 czerwca 2020 w OpenGL, Unity przez jerk0 Użytkownik (540 p.)
0 głosów
2 odpowiedzi 188 wizyt
pytanie zadane 26 marca 2019 w Sprzęt komputerowy przez Patryq Nowicjusz (160 p.)
0 głosów
1 odpowiedź 146 wizyt
pytanie zadane 25 marca 2019 w Sprzęt komputerowy przez Patryq Nowicjusz (160 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 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!

...