Liczba postów: 2,387
Liczba wątków: 66
Dołączył: 08.2004
Reputacja:
0
Pamietacie ten temat o SDL?
Projekt jest juz niemal ukonczony, pobawcie się, wyraźcie swoją opinię, jak wam gra chodzi na waszych komputerach.
Wiem, że grywalność jest zerowa. Wiem, że wymaga mocnego procesora (są dwie biblioteki SDL.dll, ja pracuję na tej, która ma problemy z Open GL, z tą drugą nie chce mi się kompilować).
Poszukajcie błędów, a znajdziecie.
To jest gra zrobiona w C++, z wykorzystaniem środowiska graficznego w SDL. Jest to projekt semestralny zaliczający programowanie w c++, a osoby w to zaangażowane (koniecznie trzeba było to robić w kilka osób) nie marzą o programowaniu, więc jest jaki jest (czyt. beznadziejny). Czekam na wasze opinie i skargi.
W archiwum jest kod, niech każdy zainteresowany podejrzy sobie to cudo.
Gra: Element ukryty. Rejestracja zajmie tylko minutę!
Edit:
Dołączam dokumentację w doxygenie:
Element ukryty. Rejestracja zajmie tylko minutę!
W następnej wersji będą (chyba) poprawione 3 rzeczy:
- nawigacja w menu ma poważny błąd funkcjonowania (dużo roboty, żeby poprawić, nie wiem, czy mi się będzie chciało)
- chodzenienie z wyciągnietym mieczem, miecz ginie w dwóch scenach
- dołącze napisy końcowe, gdy ktoś już wreszcie wygra.
Liczba postów: 516
Liczba wątków: 9
Dołączył: 10.2004
Reputacja:
0
A ja mam takie pytanko - nie dałeś linka do gry więc mam sobie ściągnąć kod i samodzielnie skompilować? Bo z chęcią bym zobaczył, co to za produkcja
Liczba postów: 1,580
Liczba wątków: 118
Dołączył: 03.2003
Reputacja:
0
cleric_of_lolth - ale w Element ukryty. Rejestracja zajmie tylko minutę! archiwum jest również sama gra.
Liczba postów: 1,071
Liczba wątków: 33
Dołączył: 10.2004
Reputacja:
0
jak mi powiecie jak w tym walczyć, to może pogram bo narazie to ten miecz lata z jednej strony na drugą i nic nie robi.
Liczba postów: 516
Liczba wątków: 9
Dołączył: 10.2004
Reputacja:
0
Może to pierwszy błąd?
zx - dzięki za info bo szczerze mówiąc leniem jestem i nie sprawdziłem zawartości archiwum.
Liczba postów: 2,387
Liczba wątków: 66
Dołączył: 08.2004
Reputacja:
0
Dzięki wszystkim za zajrzenie. Owszem, w archiwum są i pliki z kodem, jak i już skompilowany program (kompilowałem w devie - DEV-CPP, wersja 4.9.9.2, czyli 5.0 beta - starsze nie poprawnie obsługują biblioteki SDL'a).
Jest już nowa wersja programu: 1.0.2
Do zassania z: Element ukryty. Rejestracja zajmie tylko minutę!
Jak i nowa dokumentacja:
Element ukryty. Rejestracja zajmie tylko minutę!
Od wersji 1.0.1 różni się:
- dodane napisy końcowe
- miecz już nie ginie, gdy chodzi się po lesie z wyciągniętym mieczem
- postacie poruszają się ciut szybciej, szybciej też porusza się sam miecz (faktycznie, miecz latał zbyt wolno, dlatego też napisałem nowy wzór wyznaczający prędkość "animacji" miecza.
Efekt walki: naciśnięcie klawisza "a" powoduje zmianę stanów miecza. Następuje to po zmianie stanów zmiennej typu int m i m2 w linijkach 1221-1230. Następnie zmiana stanów jest odnotowywana w danej scenie, np: 4 (ruch==4 - linijki 725-770) w animacji miecza: linijki 746-767. Naciśnięcie litery "w" powoduje użycie kodu w linijkach 1351-1378. I tak w przypadku sceny 4 (walka z dwoma sępami) za uderzenie przeciwnika odpowiada linijka 1363:
Boh1->Atak(cel);
Boh1 to jesteśmy my, czyli główny bohater.
Atak to funckja zawarta w klasie postać (linijki 7-76), linijki 56-62.
Z tego wszystkiego wynika wniosek, że mieczem nie trzeba celować, samo naciśnięcie przycisku "w" powoduje rozpoczęcie ataku, mimo iż miecz jest jeszcze dalego od sępa.
Zastanawiacie się może, czemu prezentuję wam już wersję 1.x.x Wersja 1.0 miała swoją premierę na uczelnii 19 stycznia, na ten dzień miała być gotowa ostateczna wersja. Ale z powodu braku dokumentacji dostałem jeszcze miesiąc na dorobienie dokumentacji jak i poprawienie błędów, a tych przez ostatni miesiąc poprawiłem ponad 50, zmniejszając zapotrzebowanie komputera na zasoby. Obecnie komputer potrzebuje tylko mocnego procesora, gdyż z powodu braku OpenGl, grafika jest generowana przez CPU a nie GPU, jak byc powinno. Jednak udało mi się tak przerobić kod, że mam teraz 6-7 razy mniejsze zużycie pamięci wirtualnej, które u mnie nie przekracza 7 MB.
Jest już dostępny projekt okładki (literówki na niej będą za godzine poprawione), z której dowiecie się, o co chodzi w grze
Element ukryty. Rejestracja zajmie tylko minutę!
Liczba postów: 3,142
Liczba wątków: 109
Dołączył: 07.2004
Reputacja:
0
A mi się uruchamia, potem są trzy napisy o Schwardzwaldzie (nienawidze niemieckiego, jak nazwe pomyliłem to przepraszam) jak dam do przodu to jest jakiś zilony las. Jedyne co moge zrobić to się cofnąć i znowu obejrzeć napis.
Liczba postów: 2,335
Liczba wątków: 254
Dołączył: 01.2004
Reputacja:
0
A ja mam pytanie - ta postać, która się pojawia to kto to jest? Ja? Bo czasem jest 3 razy na jednym ekranie :| A wróg chyba też nie, bo życia mi nie ubywa...
Poza tym chyba trochę nie czaję zasad ale kielich odnalazłem :p
Edycja: to chyba Elfy z tego co wyczytałem ale mnie nie atakują!
@ sztosz: no ruszaj strzałami na lewo i prawo, dalej prosto po prostu nie da się iść
Liczba postów: 1,071
Liczba wątków: 33
Dołączył: 10.2004
Reputacja:
0
dobra walczyć już umie da się tę gre jakoś przejść? jeśli tak to jakim sposobem? bo mi się wydaje, że życia nie starczy na załatwienie tych wszystkich potworków. a tak apropo - jak już wyskoczył mi czerowny ekran z napisem "przegrałeś" to za nic nie da się zacząć gry od nowa bo dalej on wyskakuje. dopiero trzeba uruchamiać ponownie gre.
edit. już wiem o co chodzi z okładki - pospieszyłem się
edit2.
faktycznie teraz już się o wiele lepiej gra z tym przyspieszonym mieczem. szkoda tylko, że gra na 1 minute ;p
Liczba postów: 2,387
Liczba wątków: 66
Dołączył: 08.2004
Reputacja:
0
Hmmm @luk47. Ciekawy błąd. Ogólnie jest tak zrobione, że po trzech sekundach wyświetlania napisu Przegrałeś, gra się wyłącza, myślałem, że to wystarczy.
Ta tajemnicza postać to elfica: w hierarchi klas jest jako rzecz, gdyż nie można z nią walczyć, nie ma cech ludzkich typu zycie, inteligencja czy siła.
Sposób przejścia. Jest coś takiego jak diagram przejść (nie będę podawać w któym miejscu kodu jest on, żebyście błądzili i może znajdziecie tam jakiś błąd. A przejście całej gry polega na przejściu "niewidocznego" labiryntu: jak się źle skręci, widzi się coś w stylu ślepego zaułka, nie można stamtąd wyjść póki nie cofniemy się. Dzięki temu mam realne ściany, które nie pozwalają wychodzić poza planszę.
Liczba postów: 3,142
Liczba wątków: 109
Dołączył: 07.2004
Reputacja:
0
OK. to chyba coś z moim kompem... Zacząłem jeszcze raz... zielony las... prawo... lewo... do przodu... zacząłem na oślep wciskać klawisze... po kilkunastu sekundach zaczęły się plansze zmieniać... ale ja (już?) nie mialem nad tym kontroli... jakieś elfy (sam sie domysliem), robaki na drzewach i nie tylko... zacząłem wciskać "a" i "w"... nic to nie daje... nagle kielich się powiększył i... wygrałem... Dziwna gra Ale to chyba coś z moim kompem, albo windowsem... za wolno reaguje po prostu.
Liczba postów: 2,387
Liczba wątków: 66
Dołączył: 08.2004
Reputacja:
0
sztosz, to oznacza, że możesz mieć za wolny komputer
Fakt, gra i może jest na jedną minutę, ale kilkaset razy więcej tych minut poświęciłem, żeby tą grę napisać; to mój pierwszy tak duży program, tak duży program w c++, pierwsza hierarchia klas, pierwszy raz użyłem środowiska graficznego SDL, itd... Założenie było takie: napisać projekt tak, aby zaliczał i ćw i egzamin z programowania. Udało się, a jest to 3 pod względem efektywności i złożoności projekt (pierwsze miejsce zajmuje program, w którym koleś rozpoznaje rodzaj kamery internetowej, pobiera z niej obraz i przekształca go za pomocą własnoręcznie zrobionych filtrów, zmienia nasycenie, jasność itd. zmienia czułość detektora ruchu - koleś idzie na programowanie, drugi pod względem jakości projekt to jest wierna imitacja Herosów, z animacjami, walkami ludzików itd...). Jak widzicie autorów gry, żaden z nich nie wybrał i nie wybierze się na specjalność programowania, dlatego trudniej nam było napisać.
Liczba postów: 1,301
Liczba wątków: 22
Dołączył: 07.2004
Reputacja:
0
U mnie nie było problemów, tylko ramu sporo żre (tak jak na 'opakowaniu' napisane) . Ogólnie jak na garażowy projekt jest spoko . Gratulacje !
Liczba postów: 6,062
Liczba wątków: 107
Dołączył: 09.2003
Reputacja:
0
to ja może dwa zdania dlaczego gra uruchamia się w rozdziałce 1024x768 pomimo że ja mam np 800x600 ? i nie np trybu okienkowego tylko full screen po drugie a gdzie dzwięk ? bo o ile pamięć mnie nie myli za pomocą SDL'a można jakieś dzwięki uzyskać, dlaczego ładowane są czcionku True Type ? przecież jest to nieporeczne łatwiej załadować czcionkę bitmapową i można z tym robić co się żywnie podoba , i jeszcze optymalizacja gra jest strasznie wolna u mnie to chyba z 5 fps ale program robi wrażenia jako prosta 2D jest bardzo ładna brawo pomimo paru braków gratulacje
Liczba postów: 2,387
Liczba wątków: 66
Dołączył: 08.2004
Reputacja:
0
Dzięki wielkie za komentarze. Faktycznie, jest ramożerne, gdyż każda grafika jest ładowana do ramu. A tego trochę jest. Jednak nie martwcie się, to co widzicie, to i tak zostało znacznie zooptymalizowane.
Gra uruchamia się w takiej rozdziałce, gdyż takowa została przeze mnie zadeklarowana w mainie (linijki 1383-1391):
int main(int argc, char *argv[])
Kod: {
scena engine(1024,768);
engine.init();
engine.setFullScreen();
engine.start();
engine.end();
return 0;
}
Jak sam widzisz, to właśnie tutaj deklaruję rozdzielczość, a zrobiłem to celowo: obiekty wyświetlane są jak w układzie współrzędnych, a więc deklaruję x i y. Zmieniając rozdzielczość wszystko się rozjedzie, więc main to był początek pisania tego projektu.
Faktycznie, można dać dźwięk (SDL ma możliwość obsługi dźwięków w .wav i .mp3 i pewnie jeszcze inne), ale nam zabrakło i czasu i pomysłu, żeby znaleźć jakiś dobry dźwięk.
Czcionka, może i byłoby łatwiej, ale jakoś tak zrobiłem na początku i tak jakoś pozostało, nie pomyślałem, żeby to modyfikować.
Mało fpsów Na starym lapie z Pentium 233 i 96MB ramu, 4MB na grafikę z win98 i max rozdziałką 800x600 (to co się nie zmieściło, zostało ucięte) osiągałem ok 1,5 fps, a w scenach animacji (nadlatujące sępy, i poruszający się miecz) wachało się ok. 1 fps , w wyniku czego sępy nadlatywały (a jeszcze wolniej latały) w czasie ok.2 min.
Braki są, nie powiem, ale ten projekt na obecną chwilę zamykam: obroniłem kod na 4 w dniu dzisiejszym.
Dzięki wam wszystkim za pomoc w obu tematach, a szczególnie Bittermanowi.
Liczba postów: 6,062
Liczba wątków: 107
Dołączył: 09.2003
Reputacja:
0
raczej nie leciały tylko skakały : - )
|