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

Uczenie się rzeczy praktycznych - C++

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
+1 głos
951 wizyt
pytanie zadane 22 czerwca 2015 w C i C++ przez Grzyboo Nałogowiec (28,880 p.)
Witam, znam podstawy C++, zarówno z źródeł wszelakich jak i poradników pana Mirosława. Teraz oglądałem kurs obiektowego C++ i zaczęły się aplikacje okienkowe. W filmikach używany jest C++ builder, który uważam za bezużyteczny. Czemu? Tworząc realną aplikację, z której chciałbym czerpać korzyść muszę wydać 1000 Euro aby móc tego używać. Wiadomo, że dla amatora programowania jest to horrendalna kwota.

Gdzie moje pytanie? Chciałbym wiedzieć czego się dalej uczyć. Jakie biblioteki itp. są realnie używane w tworzeniu gier 2D, 3D, aplikacji okienkowych? Nie chcę się uczyć i poznawać buildera, którego w poważnej aplikacji już użyć nie będę mógł. Poza tym, czy to co oferuje builder nie oferuje nam samo w sobie WinAPI? Oczywiście bez interfejsu graficznego i odwalania roboty za nas, ale nadal możliwości mniej więcej mamy te same.

Tak więc jak to jest z tym czego warto się uczyć, bo jest praktyczne?

Jak stworzyć grę 2D? Opierać się na jakimś silniku, czy wystarczy czysty kod np. SFML?

Jak z aplikacjami okienkowymi?

Czym tworzyć prymitywne 3D? OpenGL?

4 odpowiedzi

+6 głosów
odpowiedź 22 czerwca 2015 przez draghan VIP (106,020 p.)
wybrane 23 czerwca 2015 przez Grzyboo
 
Najlepsza

Masz rację, C++Builder jest dobry do ćwiczeń. :)

Rynek aplikacji okienkowych opiera się głównie na QT i wxWidgets. Obydwie biblioteki są darmowe w użyciu (są jednak różnice w ich licencjach!), są w pełni multiplatformowe (to jest ważne w tworzeniu profesjonalnych aplikacji - nie zamykać sobie potencjalnego rynku zbytu), oferują podobne możliwości. Osobiście wolę wxWidgets, ale to kwestia gustu. Gdzieś za nimi majaczą GTK+ czy inne podobne.

Co do rozterki "framework vs własny silnik" to odpowiedź na pytanie jest prosta i trudna jednocześnie. Zależy od skali projektu oraz 'skali' Twojego teamu. Jeśli planujesz coś prostego, nie ma żadnych przeciwwskazań aby pisać wszystko od zera, wykorzystując jakąś bibliotekę multimedialną, jak Allegro czy SFML. Polecam, zwłaszcza na początku przygody z programowaniem. Takie tworzenie daje naprawdę sporo frajdy. :)
Większe projekty już mogą wymagać użycia frameworku, który "czyni całą magię". ;) Coś jak Unity, czy takie tam. Nie wiem, bo się nigdy nie interesowałem. >.-

Jeśli idzie o 3D, nie musisz się "pchać" w gołe API, jak OpenGL czy DX. Do tego też są biblioteki, jak Ogre3D, czy OpenSceneGraph (ten ostatni wygląda świetnie, spójrz sobie na to, jak zachwalają go developerzy OpenMW na ich blogu: http://openmw.org/en/).

Jakieś pytania? ;)

komentarz 22 czerwca 2015 przez Eryk Andrzejewski Mędrzec (165,260 p.)
Chyba najbardziej wartościowa odpowiedź jak narazie, wszystko ładnie napisałeś :)
+2 głosów
odpowiedź 22 czerwca 2015 przez rafal.budzis Szeryf (80,780 p.)
Mi się podoba dot NET i IDE od Microsoftu które jest darmowe (Visual Studio Express)

Co do bibliotek napewno warto skorzystać z jakiegoś silnika ale warto też zapoznać się z pojecięm petli czasu rzeczywistego i zrobić gre w okienku konsoli.

Do 3D jeszcze długa droga możesz iść w OpenGL lub DirectX sam musisz stwierdzić co ci odpowiada. Mi fajnie pisało się w nakładce na DirectX (XNA) lecz ona jest pod C# a nie C++. Musiał byś spojżeć jak wygląda sprawa z Mono Game (nakładka na OpenGL wzorująca się na XNA te same nazwy klas i funkcji sam jej jeszcze nie używałem i mało o niej wiem)
komentarz 23 czerwca 2015 przez niezalogowany
VS Express jest passé odkąd pojawiła się wersja community ;)
+1 głos
odpowiedź 22 czerwca 2015 przez patrykos46z Użytkownik (860 p.)
Mówisz o C++, więc zastanów się nad biblioteką Allegro. :)

Natomiast od siebie polecić mogę Unity - darmowe środowisko, wręcz genialne. Pisać tam można w C#, Boo, lub JS. Oparte jest na grafice 3D, a skoro na 3D, to zarówno 2D można stworzyć. ;) W dodatku co jest świetne, w internecie jest mnóstwo poradników/tutoriali na temat ów środowiska, niektóre to nawet opierają się na tworzeniu gry od zera do końca, więc dogłębnie poznasz tajniki tego oprogramowania. Ucz się z zagranicznych tutoriali, po polsku mało rzeczy idzie znaleźć w miarę treściwych. Przy okazji angielski wyszlifujesz. :)
komentarz 22 czerwca 2015 przez Grzyboo Nałogowiec (28,880 p.)
To akurat wiem, z polskich źródeł czerpiąc daleko nie zajdziemy. Na szczęście już z rok albo dwa lata temu przestawiłem się na angielsku i problem zaczynam od szukania po angielsku ;)

Dzięki za pomysł, na pewno sprawdze Unity.
+1 głos
odpowiedź 22 czerwca 2015 przez hit02 Nałogowiec (33,970 p.)
Też uważam, że używanie C++ Builder 6 jest żartem w komercyjnych produktach, a przynajmniej dla pojedyńczego programisty. Firma zawsze może sobie kupić IDE z prawdziwego zdażenia.

Z tego, co mi wiadomo do pisania gier używa się głównie OpenGL i DirectX, ale moim zdaniem na początek dużo lepszym wyborem są Allegro i SDL. Obie bodajże tylko do 2D. Radzę ci zacząć od 2D, bo jest to prostsze i da ci pewne podstawy do dalszej zabawy.

Co do okienek, to żeczywiście można je tworzyć w WinAPI, i nawet nie jest to trudne, ale oczywiście dużo łatwiej jest to robić z designerem. Okienek nie tworzy się w WinAPI z tego samego powodu, czemu nie programuje się w asemblerze. Jest szybciej i wygodniej kosztem zrozumienia.

Ja zawsze gdy musiałem, to tworzyłem okienka w Bulderze lub w VS, ale w ramach przećwiczenia można to robić w WinAPI jednak najpierw polecam zapoznać się z jego podstawami, bo nie polega to tylko na wywołaniu odpowiedniej funkcji. Jest to trochę podobne do tworzenia gier, bo masz pętlę czasu rzeczywistego, w której odbierasz zdażenia i na nie reagujesz.
komentarz 22 czerwca 2015 przez draghan VIP (106,020 p.)
WinAPI ma, poza zaletami dydaktycznymi, jedną niezaprzeczalną i oczywistą wadę.

Działa tylko w środowisku uruchomieniowym Microsoftu. :)
komentarz 23 czerwca 2015 przez hit02 Nałogowiec (33,970 p.)

No tak. To oczywiście jest duża wada, ale jeśli ktoś zamierza w pszyszłości zająć się RE, to powinien je znać, a mi się ten kierunek podoba. laugh 

komentarz 23 czerwca 2015 przez draghan VIP (106,020 p.)
Widać, że to lubisz. :) Trzymaj tak dalej, będą z Ciebie ludzie! :)

Podobne pytania

0 głosów
1 odpowiedź 365 wizyt
pytanie zadane 4 marca 2016 w PHP przez Tail Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 237 wizyt
pytanie zadane 8 kwietnia 2017 w C i C++ przez ewark Nowicjusz (120 p.)
+1 głos
1 odpowiedź 85 wizyt

89,787 zapytań

138,394 odpowiedzi

309,539 komentarzy

59,688 pasjonatów

Advent of Code 2022

Top 15 użytkowników

  1. 1244p. - Argeento
  2. 1186p. - nidomika
  3. 1172p. - rucin93
  4. 1171p. - Michal Drewniak
  5. 1165p. - Łukasz Eckert
  6. 1142p. - Mikbac
  7. 1121p. - TheLukaszNs
  8. 1106p. - JMazurkiewicz
  9. 1106p. - adrian17
  10. 1060p. - Mawrok
  11. 1052p. - overcq
  12. 991p. - Adam Salamon
  13. 945p. - Jarosław Roszyk
  14. 941p. - Hubert Chęciński
  15. 859p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...