Atraktory

5, czerwiec 2008

W ostatnim czasie trochę się zaniedbałem jeśli chodzi o prowadzenie bloga. Wpływ na to miało kilka czynników. Po pierwsze, wiadomo koniec roku, oceny, poprawy i tak dalej. Tak naprawdę jednak dosyć mocno zastanawiam się nad sensem istnienia bloga w takiej formie jakiej jest teraz. Chciałbym prowadzić raczej coś na kształt xion.org.pl ale na takie częste publikowanie miniartykułów to jestem jeszcze za cienki ;)

W każym razie postanowiłem, że będę pisa rzadziej a treściwiej, przedstawiając konkretne prace i projekty. Dzisiaj na pierwszy ogień pójdą atraktory.

Pierwszy raz zetknąłem się z nimi na warsztacie oglądając prace Zbyszka i Kwazara. Pomyślałem, że ładne i wogóle ale takie coś to na pewno wyższa szkoła jazdy. Jakoś niedługo potem zobaczyłem, że wyżej wymieniony już Zbyszek napisał artykuł co i jak z tymi atraktorami. Swierdziłem, że fajnie byłoby coś takiego napisać, szczególnie, że już niedługo koniec roku i przydałoby się zakręcić za szóstką z infy.

Moje prace:
Pickover
Clifford
Trig 1
Trig 2
Lorenz

Pisane w C++, rendering DirectX.

No i przy okazji zrobiłem elegancką prezentację na informatykę, wpadła dobra ocena dzięki czemu podniosę sobie tragiczną średnią :D

Pozatym napisałem loader plików *.obj. Toporny jak Pudzian ale działa :) . Podstawowa funkcjonalność jest (wierzcholki, normalne, coordy tekstur + teksturowanie), troche nie chciało mi się bawić w obsługę materiałów i tak dalej ale już dziś zabieram się za nową, porządną wersję w której to wszystko zaimplementuję. Główny problem polega na tym, że muszę to wszystko wsadzić do interfejsu LPD3DXMESH (dla wygody sprawdzania kolizji promień-model). Przypomniałem sobię o tym dopiero jak zmieniłem całą klasę CMesh i CMeshInstance na obsługę VertexBuffer’ów… Taka mała wpadka.

Jeśli będę zadowolony z ostatecznej wersji loadera to z pewnością udostępnie.

Dawno nie pisałem nic o głównym projekcie w któym uczestnicze. Szczerze to nie wiem w jakim stopniu zaawansowania aktualnie jest sama gra ale w grywalne minidemo już miałem okazję zagrać jakieś dwa miesiące temu. Ja do edytora dorobiłem kilka przydatnych opcji, między innymi:

- podświetlanie modelu
- obramowanie wybranego modelu boundingbox-em
- wstępna obsługa warstw
- zlikwidowane kilka bugów

Podłoże będzie składało się z trzech warstw
- pierwsza – czyli ulice, chodniki i tego typu elementy
- druga – czyli półprzezroczyste dodatki w stylu dziury w jezdni, zakratowane wejścia do studzienek ściekowych etc.
- trzecia – pozostałe elementy czyli drzewa i cała reszta

Warstwy ułożone będą następująco:
- trzecia (będzie nieco “wyżej” niż pozostałe, przysłania modele i inne warstwy)
- modele
- druga
- pierwsza

Po skończeniu zabaw z przesuwaniem obiektów (które i tak jest do poprawy :/) w planie mam obsługa dodawania nowych elementów na mapę a potem zacznę kombinować z formatem i zapisem/odczytem mapek.

Chyba mogę już powiedzieć, że jestem bliżej końca niż początku :) Bo tak wogóle to marzy mi się totalny refaktoring kodu ale z moim lenistwem…

Burdel, burdel, burdel.

14, marzec 2008

Wbrew tytułowi wpisu nie będzie tu słowa o zamtuzach, domach publicznych czy jak to sie tam inaczej nazywa. “Burdel” to słowo obrazujące stan mojego kodu.

Musze się przyznać, że nie doceniałem wartości dobrego projektu. Teraz, po dwóch i pół miesiącach kodzenia do bólu na żywca, bez żadnego przygotowania mam taki pierdolnik w kodzie że sam tego nie moge ogarnąć… Jest kilka uporządkowanych plików (klasy zaimportowane z silnika) a reszta to po prostu anarchia, samowola i wogóle cała reszta zua. Główny plik main.cpp ma ponad 600 linijek :D (dobrze przynajmniej, że można “pozwijać” funkcje do jednej linijki). Czas na zmianę taktyki.

W weekend zrobie sobie ładną listę todo wraz z terminami wykonania a na oddzielnej kartce postaram się przynajmniej prowizorycznie opisać działanie tego co będę próbował implementować. Na dłuższą metę muszę nadrobić zaległości – poczytać o architekturze/projektowaniu oprogramowania.

Btw, znalazłem fajną strone z rozbudowanym kursem WinAPI i C++: LINK