Jaki język najlepszy do mojego celu?

0

Witam. To mój pierwszy temat jak i post, więc chciałbym się przywitać.
Od dłuższego czasu myślę nad nauką programowania. Jednak nie wiem czym się sugerować z wyborem języka. Moim celem było by stworzenie gry platformowej lub RPG 2d (coś jak Baldur) z widokiem izometrycznym. Oczywiście na razie bym się uczył podstaw i wziął za lekkie czy łatwiejsze rzeczy itp. Ale chciałbym by język miał dobre wsparcie. To też czytając brałbym pod uwagę C++, ale jeśli podobne rzeczy da się zrobić łatwiej i ogólnie szybciej w innym języku bym prosił o takie informacje. Więc chciałbym, aby język którego się nauczę do w miarę do perfekcji (wiem kilka miesięcy się zejdzie) mógł robić łatwe projekty ( czyt programy) czy coś z gier (Platformowe, RPG 2D no i w sumie może i 3D). Ale jakoś jestem przy sprawdzonym 2D (fajne klimaty mają).
Z drugiej zaś strony czytałem troszkę o Pythonie, który też de facto ma możliwości ponoć, ale nie wiem w sumie za co się brać.

0

Praktycznie większość języków ma taką możliwość. Pytanie powinno brzmieć inaczej i nie być zadane na forum, jaki znasz najlepiej.

0

Więc chciałbym, aby język którego się nauczę do w miarę do perfekcji (wiem kilka miesięcy się zejdzie)

W kilka miesięcy nauczenie się języka do perfekcji? Super. Ja 5 lat kodzę w Delphi/Pascalu i nadal nie wszystko wiem.

mógł robić łatwe projekty ( czyt programy) czy coś z gier (Platformowe, RPG 2D no i w sumie może i 3D). Ale jakoś jestem przy sprawdzonym 2D (fajne klimaty mają).

Pewnie większość C++ poleci, ale ja będę nieszablonowy i polecę Pascala (a dokładniej FPC) którego się nauczyłem i uważam za przyjemny język który po porządnym opanowaniu (mówimy tutaj o Delphi/FPC) pozwala na łatwe przejście na właściwie cokolwiek (np. PHP ogarnąłem bez problemów, C++ póki co czytam bez dramatów ale nie miałem potrzeby nauki). Co do wsparcia jeżeli chodzi o grafikę, jest w nim co prawda słabiej niż w C++, ale generalnie na jakiś straszny brak dokumentacji nie można narzekać, już nie mówiąc o tym, że sporo kodów z C/C++ da się stosunkowo łatwo przerobić na Delphi i vice versa (nie mówimy o ekstremalnych przypadkach, ale te języki w składni są dosyć podobne). A parę różnic (m.in. obecność wbudowanego systemu zarządzania pamięcią) pozwala często skrócić czas budowy programu minimalnym kosztem wydajności i utratą kontroli nad programem (C++ ma to do siebie że tam wszystko jest robione jawnie).

2

(C++ ma to do siebie że tam wszystko jest robione jawnie).

bzdura.

0

Właśnie o to chodzi, że od kilku dni czytam. A to o C++, a to Python a to tamto. Potem że każdy język wyróżnia się czymś. I zamykam się w kropce bo nie wiem na który się ponieść

2

Jeżeli game dev to w pewnym stopniu skazany jesteś na C++. Radziłbym skupić się na tym języku. Istnieje dużo materiałów w Sieci dotyczących bibliotek ułatwiających pisanie gier w tym języku. Tworzenie rozbudowanych gier w Pythonie/Javie to nie jest najlepszy pomysł.

0

Minecraft nie jest rozbudowany? :]
Ze swojej strony poleciłbym JMonkeyEngine 3, ale to raczej dlatego, że nie znam prawie żadnych środowisk do tworzenia gier :D JME3 ma dobrze wyglądające (działania nie sprawdzałem) IDE bazowane na NetBeans: http://jmonkeyengine.com/sdk/ Pisząc w JME3 można chyba bez większego wysiłku można wydać grę jednocześnie na Windowsa, MacOSa, Linuksa i Androida.

Najpierw jednak polecam zapoznanie się z językiem/ programowaniem w ogóle, bo tworzenie gier od razu zaowocuje masą banalnych pytań, które ciężko będzie wytłumaczyć ze względu na niepoukładane informacje w głowie. Na początek proponuję zająć się tworzeniem gry w trybie tekstowym, np jakiejś roguelike, a potem wystawieniem jej i jej kodu źródłowego na krytykę bardziej doświadczonych programistów.

0

Ze swojej strony polecę język C# oraz framework Microsoft XNA. Z powodzeniem stworzysz za jego pomocą gry 2d/3d, uruchamiane na pc/xbox/windows phone. Aczkolwiek jeśli myślisz o poważnym "gamedevie" to jak już ktoś napisał jesteś skazany na język C++. Dostępna jest spora ilość bibliotek oraz gotowych silników usprawniających pisanie gier w tym języku. Ale za nim się za to zabierzesz solidnie przyłóż się do podstaw programowania oraz poznaj dobrze język ;) Pozdr

0

Jest rozbudowany. Chodziło mi raczej o to, że jeżeli kolega jest zainteresowany tworzeniem gier to być może w przyszłości będzie chciał podjąć w tej branży pracę. Pomijając oferty dla programistów gier na Androidy / XNA itd. zdecydowana większość (tych wysokobudżetowych) gier pisana jest jednak z wykorzystaniem C++.

0

Na jaką grę nie spojrzysz pewnie była robiona w c/c++ gothic,crysis,skyrim,call of duty i inne. Może dla tego, że za tamtych czasów nie było c# albo dla tego, że inne języki sobie nie radziły ;p

Więc jak chyba do gier to c++ patrząc na inne gry no ale w innych językach jak java,c# też są pisane i mają się dobrze(?)

0
ace4ur napisał(a)

crysis,skyrim,call of duty i inne. Może dla tego, że za tamtych czasów nie było c# albo dla tego, że inne języki sobie nie radziły ;p

Co Ty pieprzysz? :P

A do autora tematu - a może HTML5 + javaScript?

0
allocer napisał(a)

A do autora tematu - a może HTML5 + javaScript?

Taaaa to może flash? Bleeeee

0
Sarrus napisał(a)
allocer napisał(a)

A do autora tematu - a może HTML5 + javaScript?

Taaaa to może flash? Bleeeee

Dlatego napisałem HTML5 + javaScript, a nie Flash.

0
allocer napisał(a)
Sarrus napisał(a)
allocer napisał(a)

A do autora tematu - a może HTML5 + javaScript?

Taaaa to może flash? Bleeeee

Dlatego napisałem HTML5 + javaScript, a nie Flash.

Początkującemu proponujesz JS? Chcesz go zniechęcić? :P

0

Skoro początkujący chce od razu zaczynać pisać gry, to JS też ogarnie :P.

0

Na początek to może jakiś gotowy silnik w stylu Unity, UDK i ichniejszy język skryptowy. Jak coś bardziej zaawansowanego to C++ i SDL albo OpenGL. Tylko, że pisanie gier to akurat słaby pomysł na naukę języka "do perfekcji" bo się zazwyczaj używa tylko jakiegoś niewielkiego wycinka jego możliwości. Już nie wspominając, że czeka cię wiele zagadnień z zakresu tworzenia gier (grafika, matma) i programowania (algorytmy i struktury danych, solid, dry, kiss), że nauka języka to jest pikuś.

1

Zapomniał wół jak cielęciem był.
Rozpisujecie się nt pisania gier (w odniesieniu do całkowitego laika!) a sami już nie pamiętacie jak ciężko było ogarnąć podstawy programowania/języka. Jeśli ktoś na infie się uczył to jeszcze ujdzie, ale samemu to nie tak łatwo. Samo tworzenie animacji i wątki nie są łatwe jeśli nie zna się zasad danego języka. A nawet jak się zna to nie wszystko jest oczywiste. Pomysł na program i zaprogramowanie pomysłu (tym bardziej na grę) to całkiem inne bajki. A dla początkującego ta odległość to lata świetlne.

Jak zacznie się już uczyć i zobaczy jak żmudna jest nauka to mu się "odwidzi" pisanie gier - na razie :]

0

najprostsza dosyc szybko napiszesz w pythonie+pygame ... dobre na poczatek

0

Czyli mówicie, że na początek albo C++ lub Python z pygame? Bo o tym że język to nie wszystko to wiem. Czytałem o różnych bibliotekach typu OpenGL czy DirectX zalety każdego. Np to że w DirectX to bardziej aplikacje/programy i gry na okienka zaś OpenGL może być równie dobrze na innych systemach jak chociażby znany wszystkim do dziś Linuks. A jakie polecacie źródło nauki? Jakaś książka czy może jakiś ebook?

0

Do OpenGL polecę "OpenGL. Programowanie gier" Hawkinsa, dzięki niej dobrze zrozumiałem zasadę działania OpenGL i byłem w stanie napisać mały silnik ;) (w JAVIE!). Do C++ na początek dobra jest "Symfonia C++" Grębosza ;) Oprócz tego masa tutoriali na temat gamedevu w necie, zdecydowana większość w języku angielskim ale to chyba nie problem ;)

0

Moim zdaniem najlepiej zacząć od C++. Jak opanujesz ten język, to potem ogarniesz niemal każdy inny. Jak zaczniesz od phytona i będziesz chciał coś napisać w C++ to przepadniesz :P

0

A może C++ i np SDL ? Albo gotowy silnik typu Unity...
Nie jest złym rozwiązaniem C# i XNA (framework)
Ewentualnie Construct Classic http://www.scirra.com/construct-classic (generuje do exe projekt) lub Construct 2 http://www.scirra.com/construct2 (to HTML5)

0

Czy C++ różni się czymś od C#? Co łatwiejsze SDL czy XNA albo które efektowniejsze?

0

No więc jeśli faktyczne nic jeszcze nie programujesz, to na początek Python. Ja osobiście bym go polecał początkującym, zwłaszcza, że zamierzasz się uczyć samodzielnie. Minimalistyczna składnia pozwoli zrozumieć ideę programowania bez zbędnego na początku wnikania w szczegóły. Jest to też niezłe rozwiązanie w stosunku do kryteriów, które narzuciłeś. Gra ma być 2D z widokiem izometrycznym, czyli pewnie jakieś tam sprite'y, bez akceleracji 3D, więc na początek nie trzeba sobie głowy zawracać DiretX czy OpenGL a i o wydajność też nie trzeba się martwić, przynajmniej na etapie małego projektu. No i popieram to, co napisał wyżej Wibowit, zacznij pisać tryb tekstowy, zrozum jak sterować przebiegiem gry, jak naliczać punkty itd, itp.

0

Może nie do końca. Trochę albo nawet lepiej kojarzę HTML + CSS. Jakieś tam podstawy. A chciałbym zrobić coś bardziej oryginalniejszego i stąd pomysł na programowanie np gry czy programów itp. A z tą 2d z rzutem izometrycznym to chodzi mi o coś jak Baldur's Gate czy Icewind Dale itp

1

Jeśli chodzi o programy to na początek polecam JavaFX 2.0 jest naprawdę bardzo przyjemna, dla początkującego nic trudnego a do Javy i wszystkich z tym związanych dobrodziejstw :] tylko pół kroku i łatwo można tworzyć w niej gry bo język jest prawie "banalny".

0

Java odpada raczej co widać w Minecraft. Więc zostaję C++ i Python który wcinać? Może jakieś zalety i wady czy coś w ten deseń?

1

Produkcyjny interpreter Pythona, czyli CPython, jest wielokrotnie wolniejszy od Javy przy niskopoziomowym kodzie: http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php

Jak chcesz lepiej wyglądającą od Minecrafta gierkę w Javie, choć dużo prostszą, (przy okazji wykorzystująca wspomniany przeze mnie silnik JMonkeyEngine 3) to looknij na Ships With Cannons: http://shipswithcannons.net/

0

Akurat nie o grafice mówiłem jeśli chodzi o jave. A o zasobożerność albo to tylko u mnie tak jest z Minecraftem że ostro procka wcina xD. Chyba C++ się zajmę. Jak uda mi się roguelike zrobić to będzie pierwszy sukces z sfery programowania dla mnie. Choć pewnie to zrobić w python łatwiej a może nie.

3

Jak napiszesz marny kod to w kwestii zasobożerności, żaden język Ci nie pomoże

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