Życie tego bloga konczy sie po rownych 1024 odwiedzinach... :)
poniedziałek, 3 grudnia 2007
Blog przeniesiony
Od kilku dni bloga mozna ogladac pod nowym adresem:
Życie tego bloga konczy sie po rownych 1024 odwiedzinach... :)
Życie tego bloga konczy sie po rownych 1024 odwiedzinach... :)
czwartek, 11 października 2007
Torishimi - postępy
Wypadało by coś napisać o postępach przy Torishimi, a więc po kolei.
W ostatnich dniach zajmowałem się głównie:
1. Mapą - wyświetlanie, wczytywanie z pliku, teksturowanie. Na obecną chwilę schemat działania wygląda tak:
- otwieramy plik mapa.txt
- interpretujemy go
- teksturujemy odpowiednimi teksturami kafelki
- wyswietlamy mape
Mapa w pliku txt wygląda przykładowo tak (mapa 5x5 kafelków):
00000
01010
00200
00200
33333
Gdzie cyfry oznaczają rodzaj pola - czy to ma być trawa, lód czy może drzewo. Wiem, sposób godny mistrza :D
Optymalizacji nie stwierdzono.
2. Bohater - a właściwie tylko klasa wyświetlająca obrazek w formacie *.tga z kanałem alfa. Możemy równierz poruszać "bohaterem" po kafelkach mapy. Bez animacji.
Do zrobienia w obecnym milestone:
- dopracowanie mapy i bohatera
- optymalizacja
W następnym kamieniu milowym pewnie zajmę się animacją - brrr, nigdy tego nie robiłem.
W ostatnich dniach zajmowałem się głównie:
1. Mapą - wyświetlanie, wczytywanie z pliku, teksturowanie. Na obecną chwilę schemat działania wygląda tak:
- otwieramy plik mapa.txt
- interpretujemy go
- teksturujemy odpowiednimi teksturami kafelki
- wyswietlamy mape
Mapa w pliku txt wygląda przykładowo tak (mapa 5x5 kafelków):
00000
01010
00200
00200
33333
Gdzie cyfry oznaczają rodzaj pola - czy to ma być trawa, lód czy może drzewo. Wiem, sposób godny mistrza :D
Optymalizacji nie stwierdzono.
2. Bohater - a właściwie tylko klasa wyświetlająca obrazek w formacie *.tga z kanałem alfa. Możemy równierz poruszać "bohaterem" po kafelkach mapy. Bez animacji.
Do zrobienia w obecnym milestone:
- dopracowanie mapy i bohatera
- optymalizacja
W następnym kamieniu milowym pewnie zajmę się animacją - brrr, nigdy tego nie robiłem.
niedziela, 7 października 2007
Milestone #1
Właśnie ukończyłem pierwszy milestone nowego projektu :) Zajęło mi to dwa tygodnie (niezbyt intensywnego kodzenia) a oto co zrobiłem:
Wydaje się mało ale trochę sie z tym zeszło :) Jak gra zacznie nabierać kształtów to może napiszę o niej coś więcej.
- napisałem coś w stylu design doca
- zaadoptowałem do projektu regeditowy framework z WARP'a
- napisałem menager stanów
- sprężyłem to jako tako z frameworkiem
- zrobiłem wyświetlanie quadów - wydaje się banał a miałem najwięcej problemów (głównie przez to, że nie wczytywałęm się za głęboko w niuanse frameworka)
- skończona jest klasa pojedynczego kafelka (łaaaał)
- uporządkowałem i okomentowałem wszystko
Wydaje się mało ale trochę sie z tym zeszło :) Jak gra zacznie nabierać kształtów to może napiszę o niej coś więcej.
czwartek, 27 września 2007
Bug #1
Od poniedziałku kodze sobie w wolnym czasie (a dużo go nie mam) mały projekcic. Od 2 dni borykam się z (jak się pewnie później okaże banalnym) błędem. Mianowicie, kompilacja przebiega bez problemu, żadnych errorów ani nawet warningów a zaraz po uruchomieniu charakterystyczne okienko z "wyślij raport o błędach/nie wysyłaj". No więc debuguje sobie projekt i... błąd jest w linijce, w której tworze bufor wierzchołków. Próbowałem różnymi sposobami się tego pozbyć ale zawszę sie tu wykrzacza - nawet przy source'ach z tutoriali albo co jeszcze dziwniejsze - z kodu tego samego projektu tylko innego pliku *.cpp też! Dziś znów czeka mnie kilkugodzinny bój...
// edit: dziaua :) Błędem było chyba to, że używałem urządzenia zanim zostało utworzone... Nie jestem pewien ale podejrzewam, że tak :) No to pozostaje mi zacząć kodzić MAPĘ :D
Człowiek jest szczęśliwszy po usunięciu buga po 5,5 godzinnym boju...
// edit: dziaua :) Błędem było chyba to, że używałem urządzenia zanim zostało utworzone... Nie jestem pewien ale podejrzewam, że tak :) No to pozostaje mi zacząć kodzić MAPĘ :D
Człowiek jest szczęśliwszy po usunięciu buga po 5,5 godzinnym boju...
piątek, 21 września 2007
Nowy projekt
Dobra to dziś w końcu coś napiszę bo daaaaawno nic tu nowego nie było.
No to napiszę w skrócie. Szkoła mi się podoba, klasa też jest ok. Z materiałem gonimy na łeb, na szyje ale da się (przynajmniej na razie) nadążyć. Jestem w klasie mat-fiz (1D) w Siedleckim "Prusie".
Pong definitywnie skończony - nie będę jednak umieszczał exe'ka bo gówniano ogólnie wyszedł. Po pierwszym projekcie czas na następny ale o tym bedzie następny akapit.
Jestem w trakcie pisania design doca nowej gierki - będzie to 2D Hack'n'slash w orientalnych klimatach. Na razie mogę zdradzić nazwę głównego bohatera (czyli nazwę gry) - Torishimi. Nie wiem czy oprócz mechaniki nie zmienie diametralnie konceptu - ten, który jest teraz nie bardzo mi pasuje (szlachetni wojownicy nie zapieprzaja z nunchaku młócić potworów) więc fabuła i świat to kwesia otwarta. Nie mniej jednak, kiedyś taką grę zrobię ;)
Do następnego razu :)
No to napiszę w skrócie. Szkoła mi się podoba, klasa też jest ok. Z materiałem gonimy na łeb, na szyje ale da się (przynajmniej na razie) nadążyć. Jestem w klasie mat-fiz (1D) w Siedleckim "Prusie".
Pong definitywnie skończony - nie będę jednak umieszczał exe'ka bo gówniano ogólnie wyszedł. Po pierwszym projekcie czas na następny ale o tym bedzie następny akapit.
Jestem w trakcie pisania design doca nowej gierki - będzie to 2D Hack'n'slash w orientalnych klimatach. Na razie mogę zdradzić nazwę głównego bohatera (czyli nazwę gry) - Torishimi. Nie wiem czy oprócz mechaniki nie zmienie diametralnie konceptu - ten, który jest teraz nie bardzo mi pasuje (szlachetni wojownicy nie zapieprzaja z nunchaku młócić potworów) więc fabuła i świat to kwesia otwarta. Nie mniej jednak, kiedyś taką grę zrobię ;)
Do następnego razu :)
sobota, 1 września 2007
Mała przerwa
Przerwa
Ostatni wpis na blogu pojawił się 14 sierpnia czyli około dwa tygodnie temu. Już spieszę się z wyjaśnieniami. Otóż zmieniłem miejsce zamieszania i aktualnie nie mam dostępu do internetu. Jeśli dobrze pójdzie to w pierwszym - drugim tygodniu września będę 'on-line' ;)
Kod
Skończyłem wersję 0.9 mojej pierwszej (ukończonej) gry czyli - Pong'a :D Do dopracowania jest sporo spraw (dlatego to nie 1.0), między innymi zmiana grafiki - obecna straszy swą prostotą oraz kilka mniejszych bugów w kodzie. Teraz piszę z komputera brata więc nie zuploaduję exe'ka ale w najbliższym czasie postaram się to nadrobić.
Szkoła
Wczoraj odbyło się spotkanie organizacyjne dla uczniów pierwszych klas "Prusa". Zostałem przydzielony do "D" (mat-fiz) i od trzeciego września zaczynam naukę.
Do zobaczenia!
Ostatni wpis na blogu pojawił się 14 sierpnia czyli około dwa tygodnie temu. Już spieszę się z wyjaśnieniami. Otóż zmieniłem miejsce zamieszania i aktualnie nie mam dostępu do internetu. Jeśli dobrze pójdzie to w pierwszym - drugim tygodniu września będę 'on-line' ;)
Kod
Skończyłem wersję 0.9 mojej pierwszej (ukończonej) gry czyli - Pong'a :D Do dopracowania jest sporo spraw (dlatego to nie 1.0), między innymi zmiana grafiki - obecna straszy swą prostotą oraz kilka mniejszych bugów w kodzie. Teraz piszę z komputera brata więc nie zuploaduję exe'ka ale w najbliższym czasie postaram się to nadrobić.
Szkoła
Wczoraj odbyło się spotkanie organizacyjne dla uczniów pierwszych klas "Prusa". Zostałem przydzielony do "D" (mat-fiz) i od trzeciego września zaczynam naukę.
Do zobaczenia!
wtorek, 14 sierpnia 2007
Kolizje ciąg dalszy
Tak jak wspominałem, kolizje napisałem od nowa (a właściwie to skopiowałem z posta regedita z Warsztatu). Jednak nie o tym będę pisał, pokażę różnicę między dwoma sposobami sprawdzania
kolizji pomiędzy dwoma prostokątami.
Mój stary sposób:
I to jest kod tylko dla kolizji lewa paletka - piłka. Niezłe co? Na początku sprawdza
współliniowość lewego boku piłki i prawego boku paletki, potem sprawdza czy punkty leżą na odcinkach itd... Podsumowując, wycudowane w chuj.
A to kod sposobu regedita (funkcja przyjmujaca 2 prostokaty dla ktorych ma byc sprawdzana kolizja):
Jest różnica, prawda?
kolizji pomiędzy dwoma prostokątami.
Mój stary sposób:
bool KolizjaPilkaLewaPaletka()
{
if(det(paletka.rozmiar.right, paletka.rozmiar.top, paletka.rozmiar.right, paletka.rozmiar.bottom, pilka.rozmiar.left, pilka.rozmiar.top) == 0)
{
if(det(paletka.rozmiar.right, paletka.rozmiar.top, paletka.rozmiar.right, paletka.rozmiar.bottom, pilka.rozmiar.left, pilka.rozmiar.bottom) == 0)
{
if(min(paletka.rozmiar.right, paletka.rozmiar.right) <= pilka.rozmiar.left &&amp;amp; pilka.rozmiar.left <= max(paletka.rozmiar.right, paletka.rozmiar.right)) { if(min(paletka.rozmiar.top, paletka.rozmiar.bottom) <= pilka.rozmiar.top && pilka.rozmiar.top <= max(paletka.rozmiar.top, paletka.rozmiar.bottom) || min(paletka.rozmiar.top, paletka.rozmiar.bottom) <= pilka.rozmiar.bottom && pilka.rozmiar.bottom <= max(paletka.rozmiar.top, paletka.rozmiar.bottom)) { return true; } } } } }
I to jest kod tylko dla kolizji lewa paletka - piłka. Niezłe co? Na początku sprawdza
współliniowość lewego boku piłki i prawego boku paletki, potem sprawdza czy punkty leżą na odcinkach itd... Podsumowując, wycudowane w chuj.
A to kod sposobu regedita (funkcja przyjmujaca 2 prostokaty dla ktorych ma byc sprawdzana kolizja):
inline bool OverlapRect(const RECT &a_rect1, const RECT &amp;a_rect2)
{
return (a_rect1.left < a_rect2.right) &&
(a_rect1.right > a_rect2.left) &&
(a_rect1.top < a_rect2.bottom) &&
(a_rect1.bottom > a_rect2.top);
}
Jest różnica, prawda?
niedziela, 12 sierpnia 2007
Ja vs kolizje runda pierwsza
wtorek, 7 sierpnia 2007
Moduł okna V1.1 gotowy
Skodzone dzisiaj:
- okno V1.1 POL + dokumentacja
- okno V1.1 ANG
Jak widać do skończenia modułu okna zostało jeszcze przepisanie dokumentacji na język angielski. Dlaczego piszę dwie wersje? Ano właśnie, jedna (po polsku) na potrzeby tworzonego silnika (nie ja to niestety ustaliłem, siła wyższa) a druga (po angielsku) dla siebie.
W najbliższym czasie do napisania:
- moduł czcionek V1.1 POL + dokumentacja
- moduł czcionek V1.1 ANG + dokumentacja
I na tym skończy się (póki co) kodzenie modułów do silnika - zrobie sobie małą przerwe (zwłaszcza, że reszta teamu sie opierdala ;)) a zacznie pisanie jakiegoś malutkiego własnego projektu - może będzie to pseudosnake, może coś innego równie prostego, zobaczymy. Jutro zedytuje tego posta i wrzuce link do ściągnięcia modułu.
Do zobaczenia!
// edycja 8 sierpnia 2007: zgodnie z zapowiedzią przetłumaczyłem (kulawą angielszczyzną, trochę na szybko) moduł i dokumentację okna. Do ściągnięcia STĄD
- okno V1.1 POL + dokumentacja
- okno V1.1 ANG
Jak widać do skończenia modułu okna zostało jeszcze przepisanie dokumentacji na język angielski. Dlaczego piszę dwie wersje? Ano właśnie, jedna (po polsku) na potrzeby tworzonego silnika (nie ja to niestety ustaliłem, siła wyższa) a druga (po angielsku) dla siebie.
W najbliższym czasie do napisania:
- moduł czcionek V1.1 POL + dokumentacja
- moduł czcionek V1.1 ANG + dokumentacja
I na tym skończy się (póki co) kodzenie modułów do silnika - zrobie sobie małą przerwe (zwłaszcza, że reszta teamu sie opierdala ;)) a zacznie pisanie jakiegoś malutkiego własnego projektu - może będzie to pseudosnake, może coś innego równie prostego, zobaczymy. Jutro zedytuje tego posta i wrzuce link do ściągnięcia modułu.
Do zobaczenia!
// edycja 8 sierpnia 2007: zgodnie z zapowiedzią przetłumaczyłem (kulawą angielszczyzną, trochę na szybko) moduł i dokumentację okna. Do ściągnięcia STĄD
niedziela, 5 sierpnia 2007
Timer v1.1
Jeszcze wczoraj udało mi się skończyć pisanie nowej wersji timera - oznaczonej 1.1. Dostępna w dwóch wersjach językowych - polskim oraz angielskim. Część kodu (metoda obliczania klatek na sekunde) jest z ogólnodostępnych tutoriali z internetu.
Krótki changelog (z wersji 1.0 na 1.1):
- poprawienie obliczania fps
- napisanie metod dostepowych
- mala reorganizacja kodu
- zmiana nazw metod i klasy
- calkowite przerobienie kodu na jezyk angielski + napisanie dokumentacji po angielsku
- czytelniejsze komentarze
Timer możesz pobrać stąd
Może się komuś przyda, prośby skargi zażalenia kierować na gamer.cpp[at]gmail[dot]com
Krótki changelog (z wersji 1.0 na 1.1):
- poprawienie obliczania fps
- napisanie metod dostepowych
- mala reorganizacja kodu
- zmiana nazw metod i klasy
- calkowite przerobienie kodu na jezyk angielski + napisanie dokumentacji po angielsku
- czytelniejsze komentarze
Timer możesz pobrać stąd
Może się komuś przyda, prośby skargi zażalenia kierować na gamer.cpp[at]gmail[dot]com
sobota, 4 sierpnia 2007
Moduły v1.0 skończone
Pare dni temu skończyłem 3 moduly do silniczka - timer, czcionki i obsluge okna. Wyszło jak wyszło ale już jestem w trakcie pisania nowych wersji (moze nie beda duzo lepsze ale na pewno mniej rozczarowujace :P). Możesz ściągnąć moduły stąd: POBIERZ
Do końca wakacji muszę przeczytać 3 lektury - iliadę, króla edypa i mitologię - póki co czytam pierwszy tom perełek programowania gier...
Następnym razem postaram się dać nowe wersje modułów.
Do końca wakacji muszę przeczytać 3 lektury - iliadę, króla edypa i mitologię - póki co czytam pierwszy tom perełek programowania gier...
Następnym razem postaram się dać nowe wersje modułów.
piątek, 27 lipca 2007
Kolejne leniwe dni
Ostatnie kilka dni, jak widać z tytułu wpisu były bardzo leniwe. Zrobiłem mało, czas zajmowało mi siedzenie na forach, msdn'ie i granie. W najbliższej przyszłości zamierzam się poprawić, oto minilista 'todo na przyszłe dni':
Nawiązując do pierwszego akapitu chciałbym wskazać sprawcę mojego koderskiego lenistwa - jest nim nowa odsłona jednej z moich ulubionych serii - Command&Conquer 3 Wojny o tyberium (c&c 3 tiberium wars). To kontynuacja takich hitów jak Red Alert 1, 2 czy Generals. Nie będę tu pisał recenzji żeby nie robić konkurencji CD-ACTION ale zapewniam, że warto zagrać. Szczególnie, jeśli grało się w poprzednie części. Grywalność 10/10 i do tego ta grafika, fabuła - mniam.
Co do bloga to zaktualizowałem linki - nowy adres strony Kuraka i dodane hiperłącze do changeloga gry Game Producer.
Do następnego razu.
Po krótkim namyśle deser - jako, że nie pisałem dłuższy czas. Oto screeny z Wojen o tyberium
- dokończenie modułów silnika (czcionki, timer, okno)
- napisanie jakiejś mini gierki, np snake
- zabawa z grafiką 3d - modele, cienie
- przerabianie Perełek tom 1 (dziś zamówione, dojdą w przeciągu najbliższych dni)
Nawiązując do pierwszego akapitu chciałbym wskazać sprawcę mojego koderskiego lenistwa - jest nim nowa odsłona jednej z moich ulubionych serii - Command&Conquer 3 Wojny o tyberium (c&c 3 tiberium wars). To kontynuacja takich hitów jak Red Alert 1, 2 czy Generals. Nie będę tu pisał recenzji żeby nie robić konkurencji CD-ACTION ale zapewniam, że warto zagrać. Szczególnie, jeśli grało się w poprzednie części. Grywalność 10/10 i do tego ta grafika, fabuła - mniam.
Co do bloga to zaktualizowałem linki - nowy adres strony Kuraka i dodane hiperłącze do changeloga gry Game Producer.
Do następnego razu.
Po krótkim namyśle deser - jako, że nie pisałem dłuższy czas. Oto screeny z Wojen o tyberium



czwartek, 12 lipca 2007
Kolejne newsy...
Dawno nic nie pisałem więc wypadałoby to zmienić. Ostatnie dni spędziłem kodząc, grając w Red Alert oraz obijając się.
Skodziłem:
- część modułu odpowiedzialnego za tekst
- część modułu odpowiedzialnego za czas (timer)
Do skodzenia zostało:
- dokończenie obu modułów
- napisanie modułu odpowiedzialnego za wyswietlanie okna
Inne newsy:
- moj pajączek - A. geniculata - przeszedł 2 dni temu wylinkę, jest teraz L5
- zacząłem czytać serię Wiedźmin, na pierwszy ogień idzie "Krew Elfów"
- wyszło nowe CD-Action, muszę załatwić 15 zł, może ktoś mi zasponsoruje?
Postaram się częsciej pisać.
Skodziłem:
- część modułu odpowiedzialnego za tekst
- część modułu odpowiedzialnego za czas (timer)
Do skodzenia zostało:
- dokończenie obu modułów
- napisanie modułu odpowiedzialnego za wyswietlanie okna
Inne newsy:
- moj pajączek - A. geniculata - przeszedł 2 dni temu wylinkę, jest teraz L5
- zacząłem czytać serię Wiedźmin, na pierwszy ogień idzie "Krew Elfów"
- wyszło nowe CD-Action, muszę załatwić 15 zł, może ktoś mi zasponsoruje?
Postaram się częsciej pisać.
czwartek, 5 lipca 2007
Kilka newsów
Dawno nic nie pisałem więc napisze pokrótce co się u mnie ostatnio działo.
Przez ostatnie dni sporo kodziłem głupot i grałem w Gothic'a 3. Czas się wziąć za poważną robotę więc kończe :)
- dostałem się do I LO w Siedlcach ("Prus") do klasy matematyczno-fizycznej
- dostałem zadania do napisania - okno, tekst i timer
- jutro zostane przydzielony do klasy
Przez ostatnie dni sporo kodziłem głupot i grałem w Gothic'a 3. Czas się wziąć za poważną robotę więc kończe :)
niedziela, 24 czerwca 2007
A jednak się udało :)
Operacja poprawianie projektu accomplished! Zajęło mi to ponad 3h a rozwiązanie mogłem napisać w 5 minut - najprostsze pomysły są najlepsze ale to już mój problem :) Udało mi się skończyć pisanie kodu 20 minut przed deadline'm czyli o 23.40... Wszystko spakowane i wysłane - czekam na opinię szefa. Jak będzie źle to mam jeszcze jedną koncepcję...
Chciałem napisać o ostatnim znalezisku - grze Dune 2. Można powiedzieć, że jest to ojciec Red Alert'a - pierwszej gry, w której się zakochałem :) Klasyczny RTS - rozgrywka toczy się między trzema nacjami, zbieramy coś a'la złoto, w grze jest to nazwane creditsami. Budujemy infrastrukturę, piechotę i maszyny bojowe po czym złomujemy wroga. Gra jest darmowa ale działa tylko pod DOS'em więc konieczne jest też ściągnięcie DOSbox'a.
Link do gry: KLIK
Oraz kilka screenów - grafika nie powala ale grywalność owszem
Gameplay

Mapa podbojów :)

Trzy frakcje

Aha, jakby ktoś chciał grać to po pierwszej misji musimy odpowiedzieć na pytanie - odpowiedź można znaleźć w manualu (do ściągnięcia na stronie).
Chciałem napisać o ostatnim znalezisku - grze Dune 2. Można powiedzieć, że jest to ojciec Red Alert'a - pierwszej gry, w której się zakochałem :) Klasyczny RTS - rozgrywka toczy się między trzema nacjami, zbieramy coś a'la złoto, w grze jest to nazwane creditsami. Budujemy infrastrukturę, piechotę i maszyny bojowe po czym złomujemy wroga. Gra jest darmowa ale działa tylko pod DOS'em więc konieczne jest też ściągnięcie DOSbox'a.
Link do gry: KLIK
Oraz kilka screenów - grafika nie powala ale grywalność owszem

Mapa podbojów :)

Trzy frakcje

Aha, jakby ktoś chciał grać to po pierwszej misji musimy odpowiedzieć na pytanie - odpowiedź można znaleźć w manualu (do ściągnięcia na stronie).
sobota, 23 czerwca 2007
Koniec roku szkolnego
Wczoraj oficjalnie zakończył się rok szkolny. Na owym zakończeni było troche nudnawo ale dotrwałem do odebrania świadectwa i książki (Syzyfowe prace -łaaaaaau). Czekałem na to 3 lata :) Papiery złożone (ILO im. Bolesława Prusa w Siedlcach). Można powiedzieć, że zaczęły się wakacje. Co to oznacza? Więcej czasu na kodzenie i odpoczynek :)
Nawiązując do kodzenia muszę połączyć jeszcze mój kodem ze szkieletem aplikacji - biorę się więc do pracy bo deadline już dziś ;). Jak skończe to w końcu reaktywuje mój projekt, którego nazwę i design doc zamieszcze jak skończe przynajmniej w połowie.
Nawiązując do kodzenia muszę połączyć jeszcze mój kodem ze szkieletem aplikacji - biorę się więc do pracy bo deadline już dziś ;). Jak skończe to w końcu reaktywuje mój projekt, którego nazwę i design doc zamieszcze jak skończe przynajmniej w połowie.
wtorek, 19 czerwca 2007
Maszyna stanów i menu do pobrania
sobota, 16 czerwca 2007
Mały zastój
Dawno nie pisałem nic na blogu - ostatnie kilka dni to poprawianie ocen a potem ciągłe opierdalanie się.
Stwierdziłem, że artykułu jednak nie będę publikował - nie jestem jeszcze na takim poziomie, żeby uczyć innych :)
Aktualnie przepisuje obsługę stanów i może dziś zacznę jakiś niewielki projekt...
Dodam jeszcze, że kilka dni temu moja Brachypelma miała wylinke :)
Stwierdziłem, że artykułu jednak nie będę publikował - nie jestem jeszcze na takim poziomie, żeby uczyć innych :)
Aktualnie przepisuje obsługę stanów i może dziś zacznę jakiś niewielki projekt...
Dodam jeszcze, że kilka dni temu moja Brachypelma miała wylinke :)
wtorek, 12 czerwca 2007
Powrót :)
Ku mojemu zdziwieniu udało mi się ukończyć projekt. Nie obyło się bez pomocy ale wysłałem 2h przed deadline'm :) Zrobiłem maszynę stanów, coś na styl wprowadzenia - jpeg z logo grupy i oczywiście menu (na białym tle, z 4 przyciskami... aktywny tylko jeden - koniec :D). Ogólnie sporo się nauczyłem, dlatego chciałbym tę wiedzę przekazać innym - może jeszcze dziś pojawi się na blogu artykuł o tym, jak skodzić maszynę stanów krok po kroku. Może komuś się przyda.
To coś co widać po lewej - tak, tak właśnie wygląda menu :D Ale ja mialem zrobić mechanike a nie wygląd, dlatego też nie ma żadnego tła. Dąbek (znajomy grafik :P) tylko buttony zrobił.
wtorek, 5 czerwca 2007
Maszyna stanów skończona :)
Dzisiaj w końcu, dzięki nieocenionej pomocy Kuraka skończyłem obsługę stanów. Jak wszystko doprowadze do porządku to może wrzucę kod.
Dowiedziałem się też, że rysowaniem menu nie zajmie się render tylko... ja :) No cóż, trzeba to będzie skodzić, deadline już w tę niedzielę. Wracam do pracy.
Dowiedziałem się też, że rysowaniem menu nie zajmie się render tylko... ja :) No cóż, trzeba to będzie skodzić, deadline już w tę niedzielę. Wracam do pracy.
czwartek, 31 maja 2007
Postępy w kodzie ;)
Dziś zakodziłem już szkielet mechanizmu stanów - wielkie dzięki Kurak za wytłumaczenie i zobrazowanie jak to ma wyglądać, masz piwo u mnie :P Upomnij się na IGK. Jak będzie coś więcej to na pewno napiszę.
Szczęśliwą wiadomością jest to, że trzy dni temu moja A. geniculata przeszła trzecią wylinkę. Teraz powoli dochodzi do siebie i twardnieje :)
Pozatym, jutro dzień dziecka, nie idę z tej racji do szkoły tylko czekam na gościa (:*). I będzie oczywiście więcej czasu na kodzenie.
Szczęśliwą wiadomością jest to, że trzy dni temu moja A. geniculata przeszła trzecią wylinkę. Teraz powoli dochodzi do siebie i twardnieje :)
Pozatym, jutro dzień dziecka, nie idę z tej racji do szkoły tylko czekam na gościa (:*). I będzie oczywiście więcej czasu na kodzenie.
niedziela, 27 maja 2007
Zadanie do zakodzenia i festyn 2007
Już drugi dzień istnienia bloga, czy działo się coś ciekawego? A owszem, nawet dużo.
Dzis bylo spotkanie programistow teamu, koordynator Wachu rozdzielil zadania. Oto co musze zrobic:
System menu:
- ogólne założenia są takie: mamy klasę jakąą abstrakcyjną stan, z tej klasy dziedziczymy inne stany ( stany gry/programu ) i tak mamy stan: intro, menu, gra, autorzy
- zadaniem programisty jest stworzenie systemu który umożliwia przełączanie się między tymi stanami
- renderuje jakis ekran tytułowy po którym przechodzi się do menu
- obsługę menu: nowa gra, wyjęcie, autorzy
- i stan gry: sucha klasa, w której będzie się pisało grę wlasciwą
- oczekuje dużej samodzielności przy tworzeniu tego i inwencji własnej
ogólnie mam na myśli coś na kształt tego:
przelacznik_stanow.przelacz_na(menu) if any key w intro
{
stan = new Menu();
}
...
przelacznik_stanow.przelacz_na(gra) if new game w menu
{
stan = new Game();
}
...
w klasie przełącznik:
obsluz_stan()
{
stan->obsluz();
}
Dodam, że gra to Arkadoid. Jeszcze nie wiem jak się za to zabrać ale postaram się wszystko wykonać na czas.
Zaraz odpalam więc kompilator i siadam do kodzenia.
Kolejną ciekawą sprawą o jakiej chciałbym napisać jest to, co właśnie odbywa się pod moim oknem - Święto kuźwa jego mać ludowe. Jest to wiejski event na którym od 9 rano pod samym oknem puszczają muzykę na full, potem są występy Koła Gospodyń Wiejskich a na końcu impreza Disco Polo. Plan przeciętnego festynowicza wygląda mniej więcej tak:
1. Przyjść o 14 i zacząć pić
2. Pić do 19
3. Iść pobawić się przy disco polo
4. W półprzytomnym stanie zaliczyć dziewczynę której się nawet nie zna (która oczywiście też jest nachlana w trzy dupy)
5. Spowrotem pić
6. Na zmianę tańczyć, śpiewać, pić
7. O 5 rano (lub wcześniej, zależy od twardości głowy) położyć się z uśmiechem na przepitej twarzy spać na trawniku/placu/piwnicy/pod sceną - każdy według upodobań.
Teraz większość jest między 3 a 6 punktem. Ja siedzę i piszę, racząc się tymi upajającymi dźwiękami i przejmującymi tekstami grupy SKALAR. Zazdrościcie? Wiem.
Po głębszym zastanowieniu postanowiłem, że jednak będe stawiał ogonki - wygląda profesjonalniej i łatwiej się czyta.
Dzis bylo spotkanie programistow teamu, koordynator Wachu rozdzielil zadania. Oto co musze zrobic:
System menu:
- ogólne założenia są takie: mamy klasę jakąą abstrakcyjną stan, z tej klasy dziedziczymy inne stany ( stany gry/programu ) i tak mamy stan: intro, menu, gra, autorzy
- zadaniem programisty jest stworzenie systemu który umożliwia przełączanie się między tymi stanami
- renderuje jakis ekran tytułowy po którym przechodzi się do menu
- obsługę menu: nowa gra, wyjęcie, autorzy
- i stan gry: sucha klasa, w której będzie się pisało grę wlasciwą
- oczekuje dużej samodzielności przy tworzeniu tego i inwencji własnej
ogólnie mam na myśli coś na kształt tego:
przelacznik_stanow.przelacz_na(menu) if any key w intro
{
stan = new Menu();
}
...
przelacznik_stanow.przelacz_na(gra) if new game w menu
{
stan = new Game();
}
...
w klasie przełącznik:
obsluz_stan()
{
stan->obsluz();
}
Dodam, że gra to Arkadoid. Jeszcze nie wiem jak się za to zabrać ale postaram się wszystko wykonać na czas.
Zaraz odpalam więc kompilator i siadam do kodzenia.
Kolejną ciekawą sprawą o jakiej chciałbym napisać jest to, co właśnie odbywa się pod moim oknem - Święto kuźwa jego mać ludowe. Jest to wiejski event na którym od 9 rano pod samym oknem puszczają muzykę na full, potem są występy Koła Gospodyń Wiejskich a na końcu impreza Disco Polo. Plan przeciętnego festynowicza wygląda mniej więcej tak:
1. Przyjść o 14 i zacząć pić
2. Pić do 19
3. Iść pobawić się przy disco polo
4. W półprzytomnym stanie zaliczyć dziewczynę której się nawet nie zna (która oczywiście też jest nachlana w trzy dupy)
5. Spowrotem pić
6. Na zmianę tańczyć, śpiewać, pić
7. O 5 rano (lub wcześniej, zależy od twardości głowy) położyć się z uśmiechem na przepitej twarzy spać na trawniku/placu/piwnicy/pod sceną - każdy według upodobań.
Teraz większość jest między 3 a 6 punktem. Ja siedzę i piszę, racząc się tymi upajającymi dźwiękami i przejmującymi tekstami grupy SKALAR. Zazdrościcie? Wiem.
Po głębszym zastanowieniu postanowiłem, że jednak będe stawiał ogonki - wygląda profesjonalniej i łatwiej się czyta.
Poczatek bloga
Dzis (27.05.2007) zaczal dzialac moj blog - bede pisal przewaznie o postepach w programowaniu i projektach ale nie zabraknie tez zupelnie off-topic'owych tematow. Mam nadzieje ze nie bedzie nudno.
Troche goraco jest wiec ciezko sie mysli ale czytam o mieszaniu kolorow w dx (nie powiem, ciekawe :P). Jutro Wielki Wiejski Event czyli swieto ludowe 2007 Skorzec. Opisze wrazenia z tej wiesniackiej imprezy.
Sory, ze tak bez 'ogonkow' ale rzeszom czytelnikow zza oceanu moze sie krzaczyc (czytaj: jestem zbyt leniwy zeby nacisnac naraz 2 klawisze).
Troche goraco jest wiec ciezko sie mysli ale czytam o mieszaniu kolorow w dx (nie powiem, ciekawe :P). Jutro Wielki Wiejski Event czyli swieto ludowe 2007 Skorzec. Opisze wrazenia z tej wiesniackiej imprezy.
Sory, ze tak bez 'ogonkow' ale rzeszom czytelnikow zza oceanu moze sie krzaczyc (czytaj: jestem zbyt leniwy zeby nacisnac naraz 2 klawisze).
Subskrybuj:
Posty (Atom)