Shmups - Game Maker czy C++?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
skizzoo
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 10 gru 2011, 14:18
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Shmups - Game Maker czy C++?

Post autor: skizzoo »

Witam. To mój pierwszy post na tym forum, więc chciałbym się przywitać :) Wracając do rzeczy. Z zamiłowania do gier typu shmups postanowiłem stworzyć własną grę. Dopiero zaczynam się uczyć C++, ale to tylko jako hobby. W każdym razie, chodzi o to, że tworząc tą grę nawet jako podstawową wersję, a później z czasem i rozwojem moich umiejętności programistycznych dodawałbym nowe elementy i rozwijał projekt. To tylko i wyłącznie gra amatorska :) Nie planuję być wielkim developerem, ale chce stworzyć coś co lubię i do tego wyłącznie na linuxa :) Przeglądałem różne artykuły o tworzeniu tego typu gier i natrafiłem na jeden, który opisywał jak robić podstawowe rzeczy związane z tym gatunkiem, ale w programie Game Maker. Czy ambitniejszą opcją będzie jednak tworzenie w C++, tak aby potem móc to rozwijać oraz zaimplementować to w jakieś lepsze silniki graficzne? Ogólnie gra będzie na początku wykorzystywać sprite'y, więc zbyt wymagająca sprzętowo nie będzie :) Co możecie mi doradzić? Tylko proszę od razu mnie nie zniechęcać, ponieważ tak jak mówiłem to nie jest projekt, który potem przerodzi się w milionowe studio developerskie tylko tego gatunku jak Cave (A może kiedyś ^^)
Awatar użytkownika
mario_7
Administrator
Administrator
Posty: 8614
Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Shmups - Game Maker czy C++?

Post autor: mario_7 »

Jeśli chcesz w C++ tworzyć gry, to polecam zapoznać się z tą stroną: http://lazyfoo.net/SDL_tutorials/
skizzoo
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 10 gru 2011, 14:18
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: skizzoo »

Tytuł ciekawy :D Że niby dla leniwych, ale ok :) W każdym razie polecasz C++ rozumiem do tworzenia pod linuxa. A maszyna dla programisty, typu laptop, ponieważ planuję zakupić nowy? i3,4gb ramu i integra wystarczy?
Razi
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 150
Rejestracja: 20 paź 2007, 16:23
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: Razi »

Wystarczy ci i 233 MHz, zależy co chcesz pisać i jakie ma mieć docelowe wymagania, wypadałoby byś umiał odpalić własny twór na swojej maszynie.

Ale zanim będziesz w stanie napisać gierkę, która będzie ci zżerała 100% CPU i GPU i będzie jej dalej mało, to minie ładne kilka lat.

A RAM jest zawsze mile widziany, szczególnie przy samym programowaniu, gdy potrzebujesz miejsce na sam program, IDE i debugger. Tyle że akurat RAM to jedyna część laptopa którą możesz samodzielnie wymienić bez kombinowania (poza HDD oczywiście), więc gdy ci braknie, możesz dokupić. Jednak karta graficzna to już inna bajka, lepiej jednak mieć coś lepszego od razu.
skizzoo
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 10 gru 2011, 14:18
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: skizzoo »

Aż tak super wymagająca ta gra nie będzie :) Z racji, że będzie to oparte na sprite'ach to zapotrzebowanie na pamięć itp rzeczy nie będzie wielka.
Obrazek
Tak mniej więcej miałaby wyglądać grafika w tej grze, więc jak widać nie jest to szczyt techniki OpenGL, bądź DX11 :) Automat do tej gry posiada 20 Mhz raptem. W każdym razie mam małe i być może głupie pytanie, ale z racji, że nie znam się na programowaniu to być może jest względnie poprawne :P Chodzi o to, że jeżeli programuję na Linuxie tą grę, to mogę ją też na tym samym systemie, czyli Linuxie, przeprogramować ją i skompilować na w pełni działająca pod Windowsem lub Mac OSX ? Czy będzie to duży problem i wielomiesięczna praca?
P.S. Można się śmiać ^^
Awatar użytkownika
mario_7
Administrator
Administrator
Posty: 8614
Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Shmups - Game Maker czy C++?

Post autor: mario_7 »

Na GameMakerach się nie znam. Wiem za to, że prostą gierkę 2D opartą na sprite'ach nie jest trudno napisać samemu. Wspomniałeś o C++, więc poradniki dla tego języka zaproponowałem. Biblioteka SDL, o której traktuje wspomniana strona internetowa, jest przenośna, ale jak sam zobaczysz - część instrukcji ma swoje wersje zależne od systemu. W przypadku prostych programów można starać pisać się tak, żeby kod kompilował się na każdym systemie i zazwyczaj nie jest to trudne.

Gdybyś chciał stworzyć tę grę w Pythonie, to zaproponowałbym zainteresowanie się pygame. Możesz rozważyć Pythona, bo jeśli programowanie traktujesz jedynie jako hobby, to ten język na dłuższą metę jest prostszy i programuje się w nim szybciej. W dodatku jest interpretowany, czyli nie wymaga kompilacji.
skizzoo
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 10 gru 2011, 14:18
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: skizzoo »

Hmm, znaczy wiesz, potem to może się przerodzić w mój jakiś sposób zarobku :) Tworząc z grupką osób, które znam właśnie takiego typu gry i sprzedając je na Windowsa lub OSX za 10$, pozostając darmowymi na linuxa :) Najwiekszy rynek zbytu to Japonia. Tam firma Doujin programuje takie właśnie gry na Windowsa i sprzedaje je po 10$, schodzi to w dużych nakładach :) Ale hajs nie jest moim celem, chcę po prostu stworzyć swoją gierkę. Python, a C++ ? Wydaje mi się, że C++ jest bardziej wszechstronny i potem przeniesienie tego na Xbox Live będzie prostsze dzięki C++ niż Pythonowi :) Chyba, że się mylę :)
Awatar użytkownika
mario_7
Administrator
Administrator
Posty: 8614
Rejestracja: 30 sie 2006, 13:11
Płeć: Mężczyzna
Wersja Ubuntu: 20.04
Środowisko graficzne: GNOME
Architektura: x86_64

Re: Shmups - Game Maker czy C++?

Post autor: mario_7 »

Nie wiem na ile to aktualne informacje, ale z tego, co pamiętam na Xboksa można pisać tylko w oparciu o biblioteki XNA (czyli w oparciu o C# i .NET). Oznacza to tyle, że na Linuksie takiej gry nie stworzysz (XNA raczej na pewno na Mono nie ruszy). Przeniesienie na inne konsole również może pociągać za sobą różne restrykcje związane z językiem/bibliotekami - musiałbyś zapoznać się z tematem.

C++ sprawdzi się na komputerach, ale dla każdego systemu będziesz musiał grę kompilować (i być może odrobinę modyfikować). Jeśli gra ma mieć zamknięty kod źródłowy, to C++ ma przewagę, bo udostępnia się plik binarny. W dużym uproszczeniu, Python działa na zasadzie "uruchamiania" pliku tekstowego z kodem źródłowym, zatem kod chroniony byłby samą licencją (a jak ludzie szanują licencje wszyscy wiemy). Z drugiej strony Python jest o wiele prostszy i wygodniejszy. Możliwości mu też nie brakuje, bo w ostateczności można go połączyć z C/C++.
skizzoo
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 10 gru 2011, 14:18
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: skizzoo »

Zostanę jednak przy C++, największym jednak dla mnie problemem teraz to nie koncepcje na gry, czas na naukę i programowanie, a tworzenie sprite'ów :( Ludzie tutaj na forum są w stanie pomóc robiąc takie sprite'y w zamian za miejsce w credits ? :)

P.S. A co do tego Pythona i C++ to na razie tak jak napisałem, zajmę się C++, a jeżeli okaże się, że jest mi za ciężko to przejdę na Pythona :) To projekt hobbystyczny jak na razie, więc mogę zmieniać sobie upodobania :)
Awatar użytkownika
kabanek
Zakręcona Traszka
Zakręcona Traszka
Posty: 592
Rejestracja: 23 cze 2009, 20:34
Płeć: Mężczyzna
Wersja Ubuntu: 13.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: kabanek »

ja też bym polecił C++, co do biblioteki i przenośności, to jest chyba tak, że jak wybieras directX to możesz przeporotwać na XboX'a, gdy wybierasz OpenGl, to droga otwarta do PlayStation. To jest oczywiście zależne jak się pisze :)

co do sprite'ów, to pierwsze naucz się dobrze programować, zrób fajną gierkę z na razie prostą grafiką i jak komuś się spodoba, to może coś myknie :)
nikt "w ciemno" i nie mając pewności, że coś z tego wyjdzie, nie włoży w to swojej pracy
skizzoo
Piegowaty Guziec
Piegowaty Guziec
Posty: 6
Rejestracja: 10 gru 2011, 14:18
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: skizzoo »

Kabanek, masz jak najbardziej rację :) Znaczy ja w Xbox'a bym nie chciał iść z racji, że linux ma obsługę OpenGL natywnie, a nie DX, który jest na Windowsa? A co do grafiki, to myślałem o tym w pracy dzisiaj i postanowiłem po prostu przeciwników zastąpić najprostszymi obrazkami jakie jestem tylko w stanie wymyślić, czyli kolorowe kółka ^^ Potem nie będzie przecież problemem zastąpić te obrazki sprite'ami o tej samej rozdzielczości czyli jakieś 32x32 lub większe :) Zacznę teraz sobie spokojnie poznawać C++, a jak nadejdzie okres świąteczny, a więc dużo wolnego to zajmę się nauką programowania już na poważnie :) Dzięki wielkie wam wszystkim. W razie jakiegoś problemu napiszę jeszcze.

-- 13 gru 2011, o 18:03 --

No nie realna ta strona jest od mario_7 ;/ Starałem się dodać SDL do każdego z tych programów, które tam były. Udało mi się w końcu dodać SDL do Anjuta i chciałem stworzyć pierwszy program, który autor strony podawał czyli wyświetlenie pliku hello.bmp. Oczywiście kompilowanie bez problemu, ale ani nic się nie wyświetliło, a jak naciskam run to tylko błąd binary. O co chodzi?
_Michal_

Re: Shmups - Game Maker czy C++?

Post autor: _Michal_ »

W dużym uproszczeniu, Python działa na zasadzie "uruchamiania" pliku tekstowego z kodem źródłowym, zatem kod chroniony byłby samą licencją (a jak ludzie szanują licencje wszyscy wiemy).
Mylisz się. Uruchamianie bezpośrednio plików .py to tylko jedna z możliwości, są też pliki .pyc , .pyd i inne, dzięki czemu kod pozostaje zamknięty.

Zaraz pewnie wyskoczy mi ktoś że odkopuje tematy, ale ludzie takie tematy czytają i teraz, a nie chce aby wprowadzano czytelników w błąd.
Awatar użytkownika
Yuri20
Sędziwy Jeż
Sędziwy Jeż
Posty: 49
Rejestracja: 31 maja 2009, 13:35
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Re: Shmups - Game Maker czy C++?

Post autor: Yuri20 »

_Michal_ pisze:
W dużym uproszczeniu, Python działa na zasadzie "uruchamiania" pliku tekstowego z kodem źródłowym, zatem kod chroniony byłby samą licencją (a jak ludzie szanują licencje wszyscy wiemy).
Mylisz się. Uruchamianie bezpośrednio plików .py to tylko jedna z możliwości, są też pliki .pyc , .pyd i inne, dzięki czemu kod pozostaje zamknięty.

Zaraz pewnie wyskoczy mi ktoś że odkopuje tematy, ale ludzie takie tematy czytają i teraz, a nie chce aby wprowadzano czytelników w błąd.
Pliki .pyc to po prostu kod bajtowy pythona, tak samo jak .class to kod bajtowy Javy. Na kod bajtowy Javy istnieje od groma dekompilatorów, które sam testowałem i działają idealnie. Jedynym zabezpieczeniem (i to raczej połowicznym) jest tutaj skorzystanie z jakichś "zaciemniaczy" kodu, które maksymalnie jak się tylko da tworzą z kodu jakiś bełkot (zmienne są jakoś zamieniana na abczcvasdf, a nazwy plików np. na (1,2,3,4,5,6).rozszerzenie) co powoduje, że znalezenie sensu w kodzie jest niezwykle utrudnione, ale skompilowany w ten sposób program działa. Nie sprawdzałem, ale na kod bajtowy Pythona mogą istnieć również owe dekompilatory. Jeśli chodzi o zamykanie kodu Pythona to można zamrozić interpreter oraz kod w jedną całość, w ten sposób użytkownik bez interpretera zainstalowanego osobno może uruchomić taki program. Drugą możliwością jest skorzystanie z programów tłumaczących Pythona na C lub C++, ale to działa tylko dla bardzo prostych projektów, Py2exe do tego służy.
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: ethanak »

To zdekompiluj sobie np. kod w C skompilowany z -O3
Ludzie kochani, jak nie macie pojęcia o czym mówicie to idźcie sobie do baru pogadać przy piwie...
Awatar użytkownika
Yuri20
Sędziwy Jeż
Sędziwy Jeż
Posty: 49
Rejestracja: 31 maja 2009, 13:35
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Re: Shmups - Game Maker czy C++?

Post autor: Yuri20 »

ethanak pisze:To zdekompiluj sobie np. kod w C skompilowany z -O3
Ludzie kochani, jak nie macie pojęcia o czym mówicie to idźcie sobie do baru pogadać przy piwie...
Mówiłem o Pythonie i Javie, a nie C...
Awatar użytkownika
ethanak
Wygnańcy
Posty: 3054
Rejestracja: 04 gru 2007, 13:19
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: GNOME
Architektura: x86
Lokalizacja: Bielsko-Biała
Kontakt:

Re: Shmups - Game Maker czy C++?

Post autor: ethanak »

Dyć to 1H
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości