Autor Wątek: Który silnik się nada?  (Przeczytany 10846 razy)

Offline kamykadze

  • Użytkownik

# Marzec 19, 2008, 21:39:51
Gry programuje sie w c++
Najczęściej, ale nie zawsze


...wiec musisz go znac by programowac gry.
Nie, skoro możesz tworzyć gry w innych językach.

Ja mialem kiedys takie same problemy jak ty
w tym watku masz moje lamerskie pytania i odpowiedzi na nie :P
http://forum.warsztat.gd/index.php/topic,1881.0.html
Po przeczytaniu tego wszystko powinno ci sie rozjasnic, mi to wystarczylo i teraz plynnie kodze gierki  :).

Jezeli nie umiesz c++ to nie ma szans bys napisal gre 2D. Wiec podawanie ci nazw bibliotek nic ci nie pomoże.

Kwazar Cię oszukuje, grenko. Nie musisz znać C++, możesz znać inne języki programowania. Gierkę, a zwłaszcza 2d, zrobisz znając np. javę, pythona, delphi ...
Choć w 3D na razie C++ króluje, niestety ...
Podaje mu najprostsze drogi do celu, rownie dobrze moglbym mu napisac by sie uczyl asma ale czy to by mu pomoglo ?


Jeśli jest początkujący i nie zna C++, łatwiej byłoby mu zacząć od prostszego języka (choćby pythona) albo jakiegoś klikacza do tworzenia gierek.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kwazar

  • Użytkownik

# Marzec 19, 2008, 21:52:12
Nie chce rozpoczynac wojny ktory jezyk lepszy ale wiem jedno z wlasnego doswiadczenia:
Lepiej dla nowicjusza uczyć sie jezyka/biblioteki bardziej popularnej nawet jezeli jest trudniejszy.
Cytuj
Jeśli jest początkujący i nie zna C++, łatwiej byłoby mu zacząć od prostszego języka (choćby pythona) albo jakiegoś klikacza do tworzenia gierek.

Moze i latwiej ale czy lepiej...?

Offline kamykadze

  • Użytkownik

# Marzec 19, 2008, 22:06:58
Nie chce rozpoczynac wojny ktory jezyk lepszy ale wiem jedno z wlasnego doswiadczenia:

Zauważ, że ja nie wchodzę w dyskusję, który język jest lepszy, tylko zauważam, że jest pewien niewielki odsetek  programistów, którzy tworzą gry w innych językach niż C++. Musisz więc przyznać, że jest to możliwe i nie powinieneś stwierdzać, że C++ jest koniecznym wymogiem przy tworzeniu gry.


Lepiej dla nowicjusza uczyć sie jezyka/biblioteki bardziej popularnej nawet jezeli jest trudniejszy.
Cytuj
Jeśli jest początkujący i nie zna C++, łatwiej byłoby mu zacząć od prostszego języka (choćby pythona) albo jakiegoś klikacza do tworzenia gierek.

Moze i latwiej ale czy lepiej...?

Słowo "lepiej" jest bardzo wieloznaczne i może nas sprowadzić na grunt świętej wojny, ale moim zdaniem proste gierki można zrobić z takim samym efektem wizualnym w wielu językach, w tej sytuacji łatwość tworzenia wydaje się być bardzo ważnym kryterium wyboru języka / silnika.

Offline LukiX93

  • Użytkownik

# Marzec 20, 2008, 08:55:38
Grę taką jak Snake można napisać w każdym języku - jaki kto ma gust, chłopaki! Dajcie mu zachłysnąć trochę C++ a potem będzie dyskusja czy to mu się podoba czy nie. Najlepiej poznać możliwości języka i bawić się z czystym C++ czy innym językiem. Snake ma to do siebie że łatwo go napisać na konsolę, czyli nie baw się narazie z silnikami tylko ucz się tego C++/Pascal'a/Javy czy co tam chcesz i pisz! :P

Offline grenko1990

  • Użytkownik
    • Warrior Studio Team

  • Zbanowany
# Marzec 20, 2008, 13:50:24
teraz odbiegnę od mojego pierwszego pytania nie moge tego pojąc mam już modele pojazsdów i mapke nom silnik np truevision 3d engine i nie wiem jak to zrobić zeby zakodować grę chodzi jak to się robi ze jak się pisze kod to  model jest w grze

Offline LukiX93

  • Użytkownik

# Marzec 20, 2008, 14:11:53
Ładujesz plik z siatką i wyświetlasz ;) nie wiem jak to tam jest z silnikiem ale w każdym się jakoś ładuje.

Offline artpoz

  • Użytkownik
    • blog o tworzeniu gier

# Marzec 20, 2008, 14:16:37
teraz odbiegnę od mojego pierwszego pytania nie moge tego pojąc mam już modele pojazsdów i mapke nom silnik np truevision 3d engine i nie wiem jak to zrobić zeby zakodować grę chodzi jak to się robi ze jak się pisze kod to  model jest w grze

Odpowiedź jest w "Jak nie lamić" punkt 6

"Często takie pytanie jest zbyt ogólne. Nie pytaj, jak zrobić jakąś skomplikowaną rzecz oczekując prostej odpowiedzi tak jakby dało się to zrealizować przez wywołanie jednej funkcji. Musisz wiedzieć, że często kryje się za tym cała obszerna dziedzina, którą trzeba poznać i której nie da się wyjaśnić i nauczyć w jednej chwili. Pogódź się z tym i uwierz, że naprawdę nie ma drogi na skróty - gdyby była, wszyscy byśmy nią chadzali."


Offline przemo_li

  • Użytkownik

# Kwiecień 14, 2008, 22:22:42
Skoro już jesteśmy przy silnikach to może orientuje się ktoś czy istnieje jakiś prawdziwie opensource'owy silnik o możliwościach podobnych do homeworlda (rts w pełni 3d w kosmosie). Jak na razie udało mi się tylko znaleźć żrudła Homeworda (na nie wolnej licencji) orazparę kosmicznych shooterów.

Jeżeli takowego nie ma to czy rozsądnie by było gdybym mając w planie utworzenie takowego (a nie mając do tej pory do czynienia z programowaniem 3d, oprócz dobrych podstaw c++ i openGL) zaczął od rozgryzienia tych kosmicznych shooterów. (Żadnych działających RTSów 3d kosmicznych nie znalazłem).

Offline Złośliwiec

  • Użytkownik
    • Dark Cult

# Kwiecień 14, 2008, 22:34:47
Nie osłabiaj mnie. Myślisz że silnik działa w ten sposób, że wpisujesz mu "coś podobnego do Homeworlda" i z tego wychodzi gra? Nie wychodzi, to wszystko musisz sam zaprogramować. Kilka miesięcy temu niejaki Reg opublikował swój silnik 3D wraz z kilkoma "demami" gier z różnych gatunków. Tak - na jednym silniku, wyobraź sobie.

bs.mechanik

  • Gość
# Kwiecień 14, 2008, 23:17:11
Ech...
Przyznam, ze na gamedev.pl jest coraz wiecej osob, ktore mysla (nie obrazajac osob myslacych), ze napisanie takiego Quake III to przecie banalna sprawa...
Ot zrobienie modeli, ustawienie scian, jakis teleport i kilka textur...
Otoz polecam zapoznanie sie ze zrodlami do tej gierki, a zdanie troche zmienicie...
Podstawa w pisaniu gier, to biegla znajomosc jezyka programowania w ktorym chce sie pisac gry.
Bo jaki to pisarz, ktory pisac nie umie?

bs.mechanik

  • Gość
# Kwiecień 15, 2008, 15:53:38
Cytuj
napisanie takiego Quake III to przecie banalna sprawa
Na dzien dzisiejszy... moze nie banalna, ale tez nie niewykonalna :). Pragne zauwazyc, ze QIII napisaly bodaj 3 (?) osoby, a to znacznie mniej niz liczace obecnie zespoly po 50 programistow :) (a ze nawet tych 50 programistow robi niegrywalne buble ktore do QIII sie nawet nie umywaja to juz calkiem inna sprawa... :))

Offline Humman

  • Użytkownik

# Kwiecień 15, 2008, 19:38:12
W czasach swego powstania czyli 1998, silnik Q3 był jednym z najbardziej zaawansowanych w branży i na tyle udanym że używało go wydane parę lat później  Call of Duty 2. Parę rozwiązań w nim używanych m.in. drzewa ósemkowe i bazujące na nich algorytmy od tworzenia light map i wykrywania kolizji, rozwijane przez ID software od czasów Dooma są używane z powodzeniem przez wszystkie co bardziej profesjonalne silniki 3D indoor. Nawet teraz patrząc po źródłach jest to kod mocno pokręcony, pisany w nieobiektowym C i porządnie zoptymalizowany bez dokumentacji ciężki do zrozumienia bo komentarzy za dużo nie uświadczysz.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Kwiecień 15, 2008, 19:53:59
Cytuj
Parę rozwiązań w nim używanych m.in. drzewa ósemkowe i bazujące na nich algorytmy od tworzenia light map i wykrywania kolizji, rozwijane przez ID software od czasów Dooma są używane z powodzeniem przez wszystkie co bardziej profesjonalne silniki 3D indoor.
O ile wzmianka o drzewach ósemkowych w Q3 mocno mnie zdziwiła (jestem przekonany, że ich tam nie ma, ale głowy nie dam), to w Doom'ie drzew ósemkowych absolutnie nie uświadczysz (ani czwórkowych, co by bardziej tu pasowało). Od dawien dawna silniki Id jadą na drzewkach BSP w różnych ich wariantach (wspomniana kolizja i tworzenie lightmap opiera się całkowicie na drzewkach BSP), co się w Doom'ie 3 także niewiele, o ile mi wiadomo, zmieniło. O drzewkach ósemkowych bym gdybał dopiero w Tech 5, chociaż jego filozofia jeżeli już to bardziej by wskazywała na drzewa czwórkowe.

Cytuj
Nawet teraz patrząc po źródłach jest to kod mocno pokręcony, pisany w nieobiektowym C i porządnie zoptymalizowany bez dokumentacji ciężki do zrozumienia bo komentarzy za dużo nie uświadczysz.
Kwestia gustu. Dla mnie bardziej pokręcony jest kod hardcorowego OOPowca, gdzie na każdym kroku trzeba przewidywać co się stanie jak poleci ewentualny wyjątek i w którym co drugie słowo kluczowe to "boost". ;)

Offline przemo_li

  • Użytkownik

# Kwiecień 15, 2008, 21:44:10
Ech...
Przyznam, ze na gamedev.pl jest coraz wiecej osob, ktore mysla (nie obrazajac osob myslacych), ze napisanie takiego Quake III to przecie banalna sprawa...
Ot zrobienie modeli, ustawienie scian, jakis teleport i kilka textur...
Otoz polecam zapoznanie sie ze zrodlami do tej gierki, a zdanie troche zmienicie...
Podstawa w pisaniu gier, to biegla znajomosc jezyka programowania w ktorym chce sie pisac gry.
Bo jaki to pisarz, ktory pisac nie umie?

Nie osłabiaj mnie. Myślisz że silnik działa w ten sposób, że wpisujesz mu "coś podobnego do Homeworlda" i z tego wychodzi gra? Nie wychodzi, to wszystko musisz sam zaprogramować. Kilka miesięcy temu niejaki Reg opublikował swój silnik 3D wraz z kilkoma "demami" gier z różnych gatunków. Tak - na jednym silniku, wyobraź sobie.

Ani nie myślę że silnik to już gotowa gra ani że tekstury + teleport = gotowy Homeworld.
Co więcej umiem programować w C i C++,czytałem też jakąś książkę o DX  i o openGL.

Ale nie miałem jeszcze do czynienia z programowaniem gier. Mój brak wiedzy wynika też z tego że od razu chciałbym trwożyć coś w klimacie Homeworlda, a nie znalazłem żadnej podobnej gry z etykietką open source więc i "zapoznanie sie ze źródłami do tej gierki" jest dla mnie niewykonalne . Przyglądałem się tez kilku silnikom 3d ale na żadnym z nich nie była robiona żadna strategia (w pełni) 3d.

Więc właściwie muszę się nauczyć wszystkiego samemu. A żeby sobie nie utrudniać na samym początku, skierowałem swoją prośbę o małą poradę do Waszego Gremium.

Czy teraz mogę liczyć na odpowiedz ? (czy z wypowiedzi Złośliwca mam wnioskować że każdy silnik 3d się nada).

Przepraszam też skoro okazało się że moje pytanie było poniżej poziomu, starałem się jak mogłem by tak nie było.

bs.mechanik

  • Gość
# Kwiecień 15, 2008, 22:00:03
Po przeczytanej jakiejś książki do openGL ("OpenGL - programowanie gier" ?) lub directX ("Rendering w czasie rzeczywistym" ?) napisz coś prostego w trójwymiarze.
Jeśli nie miałeś jeszcze do czynienia z programowaniem gier, zapoznaj się z tym artykułem:
http://www.gamedev.net/reference/design/features/makegames/page2.asp
Może on przekona Cię, że początki tworzenia gier są takie same, jak początki w każdej innej dziedzinie sztuki. Zaczyna sie od rzeczy niewielkich.
Odłóż pomysł z Homeworldem na później.Zajmij się czymś mniejszym.

A czy z wypowiedzi Złośliwca wynika, że każdy silnik sie nada? Hmm.. Nie sądzę.
Ale niech wypowie się juz sam zinteresowany  :)
« Ostatnia zmiana: Kwiecień 15, 2008, 22:01:57 wysłana przez bs.mechanik »