Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

MacMercury

Moja gra w C++'ie - Trigonium

Polecane posty

Hej! Jestem Mac Mercury. Chciałbym zaprezentować swoją pierwszą opublikowaną światu grę - Trigonium (łac. Trójkąt).

 

 

miotao.png

 

Co tu dużo mówić... Jesteś czarnym trójkątem i musisz dotrzeć do portalu. Obracasz się dość nieporadnie (patrz: gameplay), a w dodatku nie możesz dotknąć żadnej ściany, bo spowodujesz efektowną eksplozję.

 

Z map są na razie tylko trzy tutoriale, ale napisałem już automatyczny loader własnych (ta na zdjęciu jest właśnie wczytana). Kształt ścian zupełnie nie ma znaczenia, a koordy obiektów są umieszczone w config'u. Problem w tym, że nawet nie zacząłem jeszcze prac nad graficznym edytorem (będzie w GTK+, którego też nie zacząłem się uczyć...).

 

Gra jest ukończona w 50% i bazuje na (niestety) SFML'u i będzie wydana zarówno na Linux'a, jak i na OS, Którego Nazwy Nie Wolno Wymawiać. Na razie jest w wersji milestone 0 (datę wydania pierwszego snapshota planuję na 5 lutego).

 

Mam nadzieję, że się spodoba :)

 

 

Blog (ang.)

 

>>Download<<

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Fajnie

Dzięki ;)

 

jakbyś jakiś download zrobił gdzie można zassać coś to bym sobie na chwilę włączył :)

Download będzie w granicach 5 lutego (nie obiecuję), ale na razie pewnie tylko na Linuksa, bo nie chce mi się instalować maszyny wirtualnej.

 

Obejrzałem film z yt i wydaje mi się, że gdyby trójkąt miał bezwładność byłoby fajniej :)

Akurat dodałem bezwładność kilka godzin temu :D

Teraz pracuję nad różnymi rodzajami przeciwników.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Aj... obejrzałem tez chwilę na YT i naszło mnie by zrobić coś takiego ale w 3d w OGL-u z jakimiś podstawowymi shaderami oświetlenia + ew. jakieś inne drobne albo w klimatyce cell shading i wszystko czarno białe. Tylko jakiś fajny kadr kamery trzeba by zrobić a całośc byłaby w jakiś mrocznych tunelach gdzie jest ciemno i widać tylko niedaleki obszar. Szkoda tylko, że człowiek nie ma czasu :( kurde.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Aj... obejrzałem tez chwilę na YT i naszło mnie by zrobić coś takiego ale w 3d w OGL-u z jakimiś podstawowymi shaderami oświetlenia + ew. jakieś inne drobne albo w klimatyce cell shading i wszystko czarno białe. Tylko jakiś fajny kadr kamery trzeba by zrobić a całośc byłaby w jakiś mrocznych tunelach gdzie jest ciemno i widać tylko niedaleki obszar.

Heh, akurat większość z tych konceptów też mi się obijała po myślach ;) Z tym czarno-białym to raczej kiepski pomysł, bo inne trójkąty są kolorowe.

Zacząłem się już uczyć Ogre'a i może jak już skończę, zacznę przepisywać wszystko w 3D.

Ale trochę potrwa :D

Szkoda tylko, że człowiek nie ma czasu :( kurde.

Szkoda :/ Przykro mi.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gra jest ukończona w 50% i bazuje na (niestety) SFML'u

Dlaczego niestety? Co jest takiego złego w SFML?

 

Jak robiłeś kolizje w tej mapie na screenie? Jakieś bounding shape'y, per pixel? BTW. zamiast dawać podpowiedzi w osobnych okienkach zadowol się tylko głównym oknem gry ;) Możesz sobie sam zaprogramować jakieś przyciski, triggery itp. bezpośrednio...

 

Tak poza tym całkiem niezła gierka ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dlaczego niestety? Co jest takiego złego w SFML?

Zwykłe okno "Hello world" 800x600 w SFML 1.6 zżera (u mnie) 50% procesora...

 

Jak robiłeś kolizje w tej mapie na screenie? Jakieś bounding shape'y, per pixel

Per pixel. Dlatego też kształt mapy jest całkowicie dowolny.

 

BTW. zamiast dawać podpowiedzi w osobnych okienkach zadowol się tylko głównym oknem gry ;) Możesz sobie sam zaprogramować jakieś przyciski, triggery itp. bezpośrednio...

Próbowałem ;), ale estetycznie wyglądało to nie najlepiej (fakt, że pop-up też wygląda źle, ale ciiii... :P).

API przycisków już napisałem (działają bardzo dobrze w menu), ale w tym przypadku enter jest wygodniejszy ;)

 

Tak poza tym całkiem niezła gierka ;)

Dzięki :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Zwykłe okno "Hello world" 800x600 w SFML 1.6 zżera (u mnie) 50% procesora...

Czy w tym Hello world ustawiłeś limit klatek na sekundę? Jak będę w domu, to napiszę ile "pożera" menu mojej gry ;)

 

App.SetFramerateLimit(30);

 

 

edit: menu mojej gry bierze w porywach 4% procka, Python + SFML. Okienko ma rozmiar trochę większy niż 800x600.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie ogranicza sie liczby FPSow, a to ze gra pozera 100% jeden rdzen jest jak najbardziej ok.

Im więcej klatek tym wieksza plynnosc.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie ogranicza sie liczby FPSow, a to ze gra pozera 100% jeden rdzen jest jak najbardziej ok.

Niekoniecznie. Ja osobiście nie nawidzę słuchać swojego systemu chłodzenia w notebooku -.-

 

Im więcej klatek tym wieksza plynnosc.

Wybacz, ale aż takim idiotą nie jestem, żeby tego nie wiedzieć.

 

Kontynuując dyskusję... jeśli nie chcesz ograniczać FPS, to możesz kontrolować szybkość animacji mnożąc przemieszczenie przez współczynnik App.GetFrameTime()

Już dodałem limit FPS'ów, a potencjalny gracz może go zmienić w menu.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kontynuując dyskusję... jeśli nie chcesz ograniczać FPS, to możesz kontrolować szybkość animacji mnożąc przemieszczenie przez współczynnik App.GetFrameTime():

 

http://www.sfml-dev....window-time.php

 

 

Ja osobiście dotychczas zawsze szedłem na łatwiznę i tylko ograniczałem FPS, żeby uzyskać w miarę stałą liczbę klatek ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przez ostatni tydzień udało mi się wprowadzić trochę porządku - i teraz gra jest grywalna.

Problem w tym, że podczas tworzenia portu na Winshita natrafiłem na problem.

 

Linkuje się fajnie (MinGW z Code::Blocks), ale od razu po uruchomieniu gdb wywala sygnał "sigtrap" w ntdll.

Mam ograniczony dostęp do maszyny z Winshitem, a więc odnalezienie źródła na takim etapie tworzenia może trochę potrwać o.o

 

Przynajmniej wiem, że problem na 100% leży w jakimś konstruktorze.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Minęły dokładnie dwa tygodnie (no dobra, tydzień, 6 dni i 22,5 godziny...).

 

Przez ten czas (pewnie, że z przerwami ;)) męczyłem się ze zbudowaniem tego na windozę, cholera jasna. Na dwóch fizycznych maszynach, dwóch wirtualnych, dwóch wersjach systemów, trzech kompilatorach... Za każdym razem wywalał inny error o.o

Ostatecznie górował M$ (niestety...) ze swoim VC++ 2008 na wirtualnym windoze 7.

 

Linki na devblogu.

Jutro dodam wersję na 32-bitowe Linuksy (a przynajmniej mam taką nadzieję -.-).

Wersja na win32 może nie działać (nie sprawdzałem) na kartach ATI/AMD.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1. Te ślizaganie się jest straszne :) albo za szybko ten pojazd wyhamowuje albo kompletnie nie da się go w pewnym momencie wyhamować. Postaraj się to jakoś zbalansować.

 

2. W kampani pierwsza misja ten pojazd jest za blisko krawędzi ponieważ wystarczy obrócić się minimalnie w lewo i buum od razu przegrywamy. Takie akcje odstraszają momentalnie od gry. Pograłem 2min. bo nawet nie udało mi się przejść 1planszy do połowy bo miałem problemy ze sterowaniem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

1. Te ślizaganie się jest straszne :) albo za szybko ten pojazd wyhamowuje albo kompletnie nie da się go w pewnym momencie wyhamować. Postaraj się to jakoś zbalansować.

Zauważyłem to, postaram się to poprawić.

 

2. W kampani pierwsza misja ten pojazd jest za blisko krawędzi ponieważ wystarczy obrócić się minimalnie w lewo i buum od razu przegrywamy. Takie akcje odstraszają momentalnie od gry. Pograłem 2min. bo nawet nie udało mi się przejść 1planszy do połowy bo miałem problemy ze sterowaniem.

Na początku pierwszej misji jak byk jest napisane, że trzeba się obracać w prawo :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No jasne, że jest napisane że trzeba się w prawo obracać. Ale ile graczy zawsze wykonuje dokładnie w 100% to co jest nakazane :P ?

 

Edit: obracanie statku też jest coś do kitu. Bo jeszcze raz teraz odpaliłem rano. Lekko nacisnę w prawo/w lewo i statek bum od razu przynajmniej o 45* mi się obraca przez co na zakrętach nie sposób w ogóle dostosować się. Trzeba stanąć i próbować 10razy dobrze dobrać obrót.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wszystko poprawione, ale natrafiłem na inny problem.

 

W wersji na windozę checkpointy raz się pojawiają, a raz nie.

Kod jest taki sam (i wszystkie zmienne są na początku zerowane).

 

Oczywiście, na Linuksie wszystko działa bez problemu...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ok. Ale teraz w ogóle wyeliminowałeś element ślizgu ;) idąc na łatwiznę.

 

Jak tam masz prędkość i w ogóle ruch w kodzie? Bo najprościej zrobić, że wciskając W/S zwiększasz/zmniejszasz prędkość a co update fizyki dodajesz wektor prędkości do pozycji. Oczywiście pamiętając o jakimś pseudo-oporze, który wytrąci w czasie tą prędkość.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ok. Ale teraz w ogóle wyeliminowałeś element ślizgu ;) idąc na łatwiznę.

Niezupełnie ;) Wejdź w ustawienia.

 

Jak tam masz prędkość i w ogóle ruch w kodzie? Bo najprościej zrobić, że wciskając W/S zwiększasz/zmniejszasz prędkość <min;max> a co update fizyki dodajesz wektor prędkości do pozycji. Oczywiście pamiętając o jakimś pseudo-oporze, który wytrąci w czasie tą prędkość.

Mniej więcej tak to właśnie wygląda. Ale na pewno coś tam jest źle...

Przejrzę ten kod jeszcze raz, gdy będę miał wolny czas ;) Na razie chcę się jednak zająć AI i grafikami (te placeholdery są okropne -.-).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

×