W jakim jezyku sie rozwijac?

0

Witam. Piszę ten temat bo chciałbym otrzymać radę co robić dalej. Programować zacząłem 4 lata temu w takim mało znanym, prostym, języku podobnym do C - PAWN. Oprócz tego spędziłem trochę czasu w WEBie - czyli html, css, js, jQuery, ajax, php, mysql.
Chciałbym pobawić się w tworzenie gier, ale może na początek niech to będą aplikacje desktopowe. Poznałem C++ na jakimś tam poziomie (w szkole w technikum inf miałem jako jeden z dwóch osób 6 na koniec z programowania co świadczy że coś jednak z tego c++ umiem, ale i tak poziom klasy niski więc co to za problem mieć 6 na koniec) a teraz wziąłem się za WinAPI. Tylko że strasznie mi się to WinAPI nie podoba, odciąga mnie od niego, nie chce mi się go uczyć. Chcąc stworzyć kilka przycisków, ustawić tło, czcionkę, wielkość czcionki to trzeba się tyle namęczyć, po drodze wyskakują problemy z pobraniem wartości kontrolki. Bo pobranie tekstu nie jest tak proste jak pobranie inta, floata, boola..
Czego się uczyć by pisać aplikacje desktopowe a potem gry? Z tego co wiem to C# jest do aplikacji pod windowsa, wygodnie się tworzy wszystko bo jest to nowoczesna obiektówka, nie? No jeszcze w javie można by pisać.

1

w szkole w technikum inf miałem jako jeden z dwóch osób 6 na koniec z programowania co świadczy że coś jednak z tego c++ umiem

Nie, muszę cię rozczarować, nawet siódemka z informatyki na koniec nie świadczy, że znasz C++. Takie stwierdzenie pokazuje natomiast ile ci jeszcze brakuje. C++ to bardzo trudny język.

Jeżeli faktycznie chcesz zakręcić się w gamedevie to ciągnij dalej to C++. Nie musisz używać przy tym nieobiektowego Windows API, przy dalszej nauce C++ możesz użyć inny toolkit, np. Qt.
Jednocześnie rozwijaj się w innych dziedzinach, bo prawdę mówiąc, typowy gamedev to dość specyficzna działka i rządzi się ona trochę innymi prawami. Jest masa innych technologii, która używana jest przy tworzeniu gier: Java, Objective C, języki skryptowe typu Lua, C# jest popularny do tworzenia narzędzi, i tak dalej i tak dalej.

0
Rev napisał(a):

w szkole w technikum inf miałem jako jeden z dwóch osób 6 na koniec z programowania co świadczy że coś jednak z tego c++ umiem

Nie, muszę cię rozczarować, nawet siódemka z informatyki na koniec nie świadczy, że znasz C++. Takie stwierdzenie pokazuje natomiast ile ci jeszcze brakuje. C++ to bardzo trudny język.

Wcale mnie nie rozczarowałeś ;) Zdaję sobie sprawę, że to co umiem to jest mało. W szkole napisanie wielgachnego programu konsolowego to nie wiadomo jaki wyczyn. Ja to sobie klepię taki kod na luzie. Ale to daleko do pisania porządnych aplikacji pokroju MS Word, Excel, Autocad, a co dopiero gry typu GTA IV.

Jeżeli faktycznie chcesz zakręcić się w gamedevie to ciągnij dalej to C++.
Nie musisz używać przy tym nieobiektowego Windows API, przy dalszej nauce C++ możesz użyć inny toolkit, np. Qt.
Jednocześnie rozwijaj się w innych dziedzinach, bo prawdę mówiąc, typowy gamedev to dość specyficzna działka i rządzi się ona trochę innymi prawami. Jest masa innych technologii, która używana jest przy tworzeniu gier: Java, Objective C, języki skryptowe typu Lua, C# jest popularny do tworzenia narzędzi, i tak dalej i tak dalej.

Co to są te narzędzia?

0

<abbr title="z tego co wiem">ZTCW</abbr> gry chyba najczęściej pisuje się w C/ C++ (PC, konsole, Android, itd) lub Javie (głównie Android, ale jest np Minecraft na PC :P ), przy czym większe silniki gier mają wbudowane silniki skryptowe, często z unikalnym językiem skryptowym.

Gier tylko na Windowsa jest raczej mało, zwykle pisuje się silniki działające na różnym sprzęcie, np na smartfonach są inne systemy, na PC inne, na konsole inne, a twórcy gier chcą dotrzeć do jak największej liczby graczy. Zespawanie swojego silnika gier z WinAPI jest mało rozsądnym posunięciem.

Jest wiele gotowych, ogólnodostępnych i przenośnych silników gier, polecam zapoznać się z jakimś i zacząć go przerabiać. Jak już będziesz czuł się pewnie w programowaniu gier to możesz zacząć pisać własny silnik, ale wtedy to już chyba dojrzejesz, aby stwierdzić, że nie ma to wielkiego sensu bez wielomilionowego budżetu (no chyba, że będziesz pisał mini gierki).

0

No dobra. A co do samych aplikacji pod Windowsa to co jest najlepsze? C# czy Qt? Jakie są różnice?

0
ynool napisał(a):

C# czy Qt? Jakie są różnice?

Pierwsze jest językiem programowania, drugie biblioteką, którą można używać programując w nim?

1

C# pociąga za sobą .NET, które jest także biblioteką, więc czepialstwo trochę na wyrost.

Jeśli chcesz się mocno wiązać z Windowsem, tzn wykorzystywać jakieś funkcjonalności specyficzne dla Windowsa, to C# pewnie ci to ułatwi. Z drugiej strony w Qt tak samo jak w Javie można spokojnie pisać rozbudowane aplikacje pod Windowsa.

Zdecyduj się czy chcesz pisać aplikacje desktopowe, webowe czy gry trójwymiarowe, bo każda z tych dziedzin to inna para kaloszy.

0
Wibowit napisał(a):

Z drugiej strony w Qt tak samo jak w Javie można spokojnie pisać rozbudowane aplikacje pod Windowsa.

Qt można od biedy porównać ze Swingiem. Qt można używać w Javie i C#, bardzo popularne jest użycie Pythona...

0

No ale chyba raczej jako cienki wrapper czy tam binding. Bo z WinAPI też można korzystać z poziomu Javy czy Pythona. Java ma jednak swój toolkit do GUI, a Python chyba nie ma (no nie?), więc Python siłą rzeczy musi z czegoś korzystać, czy to z GTK czy z Qt.

0

Python w standardzie ma support Tk, są specyficzne dla Pythona liby GUI. Qt Jambi (javowe "bindingi") były przez długi czas częścią oficjalnego rozwoju projektu, 2 lata temu Nokia przy okazji cięcia kosztów "oddała projekt społeczności". Swoją drogą Java ma obecnie trzy standardowe toolkity GUI, każdy znacząco różni się od pozostałych, więc porównywanie "Javy" z Qt jest tym bardziej nietrafione.

1 użytkowników online, w tym zalogowanych: 0, gości: 1