Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Umiem C++, ale co dalej do stworzenia gry?
Forum PHP.pl > Inne > Komputery i oprogramowanie
Ayrox
Chciałbym stworzyć prostą grę, umiem wmiarę C++, słyszałem że trzeba się nauczyć Visual C++, ale to tylko da ładniejszy wygląd ale w efekcie zwróci to samo co okno systemowe. Jak zrobić system graficzny, tak by okno wyświetlało obrazki?
tommy4
Na początek skorzystać z gotowego engine'u, np.

http://www.microsoft.com/express/samples/GameCreators/

tego. Później jak już ogarniesz tworzenie gier możesz się wziąć za pisanie własnego engine'u, wtedy ściągasz DirectX SDK, czytasz dokumentację, tutki, książki, studiujesz i w ten sposób się uczysz. winksmiley.jpg

W dokumentacji DirectX SDK znajdziesz tutki, które pomogą ci stworzyć okno z obiektem DirectX i zrozumieć podstawy składni WinAPI i system działania okienek (oczywiście wszystko musisz sam wyszukać, gdyż technika idzie cały czas naprzód i nawet Microsoft chyba nie daje sobie z tym rady, więc ciężko czasem cokolwiek znaleźć na ich stronach).

Możesz jeszcze skorzystać z alternatywy np. OpenGL, lecz tego jak działa, to akurat nie wiem. winksmiley.jpg
l0ud
http://www.gamedev.pl/tutorials.php

Zacznij od SDL'a jeżeli chcesz pisać gry. Ja jednak rozpocząłbym naukę od WinAPI. Pamiętaj, że umieć "w miarę" C++ to do pisania gier niestety za mało.
gam3r
jeżeli chcesz pisać poważne gry 3d w directx to poza doskonałą znajomością bibliotek i narzędzi powinieneś posiadać nieprzeciętną wiedzę nt. fizyki i matematyki ( w szczególności analizy matematycznej i elementów algebry ), także w dłuższej perspektywie czeka Cię ciężka praca. Jest kilka uczelni które posiadają odpowiednie specjalizacje aby pójść w tym kierunku więc w przyszłości możesz się tym zainteresować.

Jeżeli zaś zaczynasz to ze znajomością C/C++ możesz zacząć od allegro.
michalkjp
Cytat(l0ud @ 4.10.2008, 15:04:46 ) *
Zacznij od SDL'a jeżeli chcesz pisać gry.


Dlaczego od SDL? Wydaje mi się, że SDL to raczej strata czasu. Może jakby chciał portować gry na Linuksa. Blisko 100% graczy używa Windows i konsol – uczenie się czegoś co jest przydatne na systemie mającym poniżej 1% udziału w rynku i blisko 0% udział w rynku gier można chyba nazwać czystą stratą czasu? Prawda?
l0ud
A co wg. Ciebie sprawia, że SDL staje się nieprzydatny na windows? Multiplatformowość uznajesz za wadę?
Wg. mnie wybór jest prosty: do gier 2D albo SDL, albo wyżej wspomniane Allegro.
michalkjp
Cytat(l0ud @ 4.10.2008, 21:55:40 ) *
Multiplatformowość uznajesz za wadę?


Nie, nie uważam multiplatformowości za wadę.

SDL w porównaniu do DirectX ma małe możliwości a jej rozwój został praktycznie wstrzymany (kiedy Loki Games upadło? – firma, która wydawała gry na Linuksa). Biblioteka może i dobrze działa na wielu systemach operacyjnych, ale kogo to tak naprawdę interesuje? Gracze nie używają Linuksa. Jeśli ktoś chce się poświęcić pisaniu gier, to chyba najlepiej by było robić to dla środowiska na którym można zarobić pieniądze. Prawda?

Pewnie za 10 lat nadejdzie wreszcie ten wyczekiwany rok Linuksa na desktopach i zdobędzie on 2% rynku. Ale do tego czasu nie przejmowałbym się tak małym rynkiem. (Oczywiście serwer dla gry najlepiej jest stworzyć pod Linuksa lub FreeBSD ze względu na oszczędności oraz dużą niezawodność tych systemów)
yalus
Cytat(l0ud)
http://www.gamedev.pl/tutorials.php

Zacznij od SDL'a jeżeli chcesz pisać gry. Ja jednak rozpocząłbym naukę od WinAPI. Pamiętaj, że umieć "w miarę" C++ to do pisania gier niestety za mało.



Cytat(tommy4)
Na początek skorzystać z gotowego engine'u, np.

http://www.microsoft.com/express/samples/GameCreators/

tego. Później jak już ogarniesz tworzenie gier możesz się wziąć za pisanie własnego engine'u, wtedy ściągasz DirectX SDK, czytasz dokumentację, tutki, książki, studiujesz i w ten sposób się uczysz. winksmiley.jpg


i wszyscy pozostali ktorych tutaj nie cytuje, szacunek dla kazdego


sorki za moja prostote ale wg tego co mowisz:

Cytat
Chciałbym stworzyć prostą grę, umiem wmiarę C++, słyszałem że trzeba się nauczyć Visual C++, ale to tylko da ładniejszy wygląd ale w efekcie zwróci to samo co okno systemowe. Jak zrobić system graficzny, tak by okno wyświetlało obrazki?


to Ty znasz c++ na poziomie, daje glowe sobie uciac na 99% , dodawanie i odejmowanie w zakresie od zera do stu;)


a jezeli chcesz pisac gry w c++ to jest Ci potrzebna tylko jedna rzecz (oczywiscie oprocz framework'a) - jest to wyobraznia smile.gif


btw.
daje stowe ze panowie ktorzy wczesniej odpowiedzieli na Twojego posta nie napisali zadnej gry. stowa ale moge przegrac. zaryzykujecie?



pozdrawiam


Cytat(gam3r @ 4.10.2008, 14:35:06 ) *
jeżeli chcesz pisać poważne gry 3d w directx to poza doskonałą znajomością bibliotek i narzędzi powinieneś posiadać nieprzeciętną wiedzę nt. fizyki i matematyki ( w szczególności analizy matematycznej i elementów algebry ), także w dłuższej perspektywie czeka Cię ciężka praca. Jest kilka uczelni które posiadają odpowiednie specjalizacje aby pójść w tym kierunku więc w przyszłości możesz się tym zainteresować.

Jeżeli zaś zaczynasz to ze znajomością C/C++ możesz zacząć od allegro.



kurcze, no sory, ale aby zgodzic sie z tym trzeba by byc masochista. zbyt daleko idaca teoria



a tak wogole to co masz na mysli mowiac 'allegro'
tommy4
Jak zwykle mylisz się chłopcze. smile.gif

Cytat
a jezeli chcesz pisac gry w c++ to jest Ci potrzebna tylko jedna rzecz (oczywiscie oprocz framework'a) - jest to wyobraznia smile.gif


Widać Pan chyba korzystał z programików typu kliknij i odpal. Link, który mu dałem, kieruje do framework'a, w którym tworzenie gier opiera się na podstawach programowania i właśnie tak, jak wspominasz - wyobraźni.

Napisałem także, co ma zrobić, jeśli to już ogarnie, a idąc twoim tropem, nigdy nie stanie się profesjonalnym twórcą gier komputerowych.

Cytat
kurcze, no sory, ale aby zgodzic sie z tym trzeba by byc masochista. zbyt daleko idaca teoria

Hahaha. smile.gif Teraz to mnie rozbawiłeś. Powodzenia w tworzeniu gier bez znajomości macierzy, czy też algorytmów. Wszystko oczywiście zależy czy kształcisz się w kierunku tworzenia gier, czy tworzenia narzędzi do tworzenia gier, czy też w kierunku tworzenia gier bez narzędzi do tworzenia gier. Zresztą po twoim stylu wypowiedzi, widzę już pełen profesjonalizm i optymalne wykonanie przyszłych twych prac.
michalkjp
Cytat(yalus @ 5.10.2008, 01:05:00 ) *
btw.
daje stowe ze panowie ktorzy wczesniej odpowiedzieli na Twojego posta nie napisali zadnej gry. stowa ale moge przegrac. zaryzykujecie?


Czy gry roguelike się liczą czy nie bierzemy ich pod uwagę? Jeśli nie, to symulator bezzałogowego gryfa szpiegowskiego (napisany w PyGame – SDL) zostanie wzięty pod uwagę? winksmiley.jpg
.radex
Cytat(l0ud @ 4.10.2008, 15:04:46 ) *
Ja jednak rozpocząłbym naukę od WinAPI.


Nie! nie! nie! Nie zaczynaj w żadnym wypadku od WinAPI. To strasznie ogranicza... Jak chcesz pisać gry to ucz się SDL na początek (ew. allegro), a potem zainteresuj się openGL/directx. a do aplikacji okienkowych Qt tongue.gif

PS. A... allegro masz tu: http://www.allegro.cc/files/
lord_t
Qt - wieloplatformowe i przystępne:) Polecam.
.radex
Cytat(lord_t @ 5.10.2008, 12:38:13 ) *
Qt - wieloplatformowe i przystępne:) Polecam.


I dlatego dobre. Po za tym bardzo prosto się programuje aplikacje w Qt - winapi jest straszne aaevil.gif (choć to może kwestia przyzwyczajenia tongue.gif )
l0ud
Licencja QT pozwala na jego darmowy użytek tylko w niekomercyjnych programach, a cena jest wysoka. Zresztą, wystarczy się rozejrzeć: jakoś mało tych programów w QT pod Windows...
lord_t
Ale kolega chce napisać "prostą grę", więc szkoda czasu na zabawę np. z SDLem.
Riklaunim
Qt pod Windows to ostatnio masz KDE4 smile.gif

Co do tworzenia gier... Jedna osoba, do tego początkujący programista dobrej gry nie zrobi - na pewno nie w przeciągu tygodni. Co do C/C++ i reszty - silniki gier owszem są zazwyczaj napisane w tych językach, lecz dość często samą logikę gry tworzy się w języku skryptowym udostępniającym API do tej biblioteki, np. w Pythonie PyGame, Pyrr (irrlicht) itd smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.