March 2007

Uwaga! Informacje na tej stronie mają ponad 3 lata. Nadal je udostępniam, ale prawdopodobnie nie odzwierciedlają one mojej aktualnej wiedzy ani przekonań.

14:07
Sat
31
Mar 2007

MeshProcessor i Parametrizer

Wrzuciłem na stronę moje dwa małe programy:

Comments (0) | Tags: productions tools | Author: Adam Sawicki | Share

10:44
Fri
30
Mar 2007

IGK 2007 - po konferencji - moje materiały

Tym razem publikuję moje materiały na temat minionej konferencji IGK:

Comments (0) | Tags: gallery productions events igk warsztat | Author: Adam Sawicki | Share

09:54
Fri
30
Mar 2007

Architektura serwera MMO

Czytając sobie różne materiały dochodzę do wniosku, że architekturę rozproszonego serwera gry MMO można podzielić na dwa rodzaje:

  1. Podział na węzły ze względu na pełnioną funkcję - na przykład osobny serwer nazw, osobny AI, osobny walki, osobny przedmiotów itd.
  2. Podział na węzły ze względu na symulowany obszar świata gry

W swoich na razie tylko teoretycznych rozważaniach skłaniałbym się obecnie ku opcji drugiej, bo wydaje mi się znacznie prostsza w implementacji i bardziej skalowalna.

Comments (0) | Tags: software engineering networking | Author: Adam Sawicki | Share

22:08
Thu
29
Mar 2007

Test

*To jest test spod i365.pl*

Jako że dzieją się z serwerem rzeczy dziwne i kompletnie dla mnie nie zrozumiałe, muszę przekonać się jak to właściwie działa. Mimo że serwer FTP/WWW jest przecież jeden i baza danych też się magicznie nie rozmnożyła, co innego widać pod adresem regedit.i365.pl, a co innego w domenie regedit.gamedev.pl. Co jeszcze dziwniejsze, pod adresem regedit.i365.pl prawidłowo widać zmiany, które wprowadzam w plikach, natomiast pod regedit.gamedev.pl te, które wprowadzam w bazie danych. Szkoda słów...

Te problemy kolejny dzień już uniemożliwiają mi opublikowanie fotek z konferencji, mojej relacji z tejże konferencji oraz pewnego ciekawego programiku, który z jej okazji napisałem :(

Comments (0) | Tags: homepage web | Author: Adam Sawicki | Share

00:23
Wed
28
Mar 2007

IGK 2007 - po konferencji #2

Byłbym zapomniał - oto nowa garść linków do materiałów z konferencji IGK 2007:

Jutro wrzucę jakieś swoje fotki, a wkrótce powstanie relacja.

Comments (0) | Tags: video gallery igk warsztat events | Author: Adam Sawicki | Share

21:18
Tue
27
Mar 2007

Dobry pomysł firmy Psiloc

Kod powinien być jak najbardziej ogólny i uniwersalny, przenośny i pozbawiony zależności. Tak uczy inżynieria oprogramowania. Wtedy nadaje się do ponownego użycia skracając czas pisania nowych produktów i stanowiąc nową cegiełkę do zasobów wiedzy programisty albo firmy. Tyle teoria. W praktyce, jak wiadomo, bywa różnie. Żadna klasa (oprócz tych najprostszych) nie możne się obejść bez odwołania do "warstw niższych" danej aplikacji, często łatwiej jest coś napisać od nowa niż przerabiać wcześniejszy kod, a pisanie wszystkiego jak najbardziej ogólnie i uniwersalnie to prosta droga do tego, żeby nigdy niczego nie skończyć.

W związku z tym ludzie radzą sobie w różny sposób. Na przykład pisząc większe moduły, które stosują w wielu swoich projektach. Ja już jakiś czas temu zorientowałem się, że często zamiast gotowej do wykorzystania klasy warto zachować kawałek kodu, który w razie potrzeby skopiuję do nowego programu dostosowując w nim co trzeba. Kody takie wraz z wszelką inną wiedzą trzymam w pliczkach tekstowych, których mam już ponad 700.

To, o czym chciałem tutaj napisać, to nowy pomysł, który usłyszałem na tegorocznej konferencji, na prezentacji firmy Psiloc. Można sobie mianowicie napisać oprogramowanie, które będzie automatycznie (nawet jakoś bardzo prosto) katalogowało nasz kod poszukując *specjalnych komentarzy*, a my będziemy zaznaczali tymi komentarzami szczególnie ciekawe fragmenty w swoim kodzie, jak na przykład wywołania potrzebne do sprawdzania numeru MAC karty sieciowej czy jakiś sprytny algorytm. Potem można będzie łatwo taki fragment odnaleźć. Zastanawiam się, czy to nie jest całkiem dobry pomysł...

Comments (0) | Tags: software engineering | Author: Adam Sawicki | Share

22:31
Mon
26
Mar 2007

IGK 2007 - po konferencji #1

IV Ogólnopolska Konferencja Inżynierii Gier Komputerowych dobiegła końca. Było super! Wygłosiłem z artpozem referat, a drużyną w składzie: ja, Krzysiek K, ayufan, gemGreg zajęliśmy I miejsce w konkursie Compo. Przede wszystkim jednak byli fantastyczni ludzie, wspaniała atmosfera, dużo wiedzy i dużo tego wszystkiego, co trudno opisać słowami. Dość powiedzieć, że dwóm szczególnie fajnym osobom zawdzięczam szczerą i ważną dla mnie rozmowę (pozdro!).

Wracając na ziemię: Wszystkim zainteresowanym podaję pierwszą garść linków z materiałami z konferencji:

Myślę o napisaniu relacji z konferencji. Na razie jednak idę spać... :)

Comments (0) | Tags: warsztat events igk gallery | Author: Adam Sawicki | Share

19:27
Thu
22
Mar 2007

Jutro konferencja!

Wiem że i wy doskonale o tym wiecie, ale i tak nie mogę tego nie napisać :) Już jutro konferencja! Wszystkim uczestnikom wypada życzyć szczęśliwej podróży, szerokiej drogi (ewentualnie prostych torów, zależnie od środka lokomocji :) miłego pobytu i sukcesów na Compo, a reszcie pozostaje czekać na nasze relacje. Będziemy w kontakcie, więc śledźcie kanał i forum :) Mam nadzieję, że tak jak poprzednio organizacja spisze się bardzo dobrze, ludzie będą fajni i miło spędzimy ten czas. Do zobaczenia w realu, w Siedlcach! :)

Comments (0) | Tags: warsztat igk events | Author: Adam Sawicki | Share

09:52
Thu
22
Mar 2007

Jakie książki

Wydawnictwo Helion na swojej stronie głównej umieściło formularz zatytułowany Brakuje Ci jakiejś komputerowej książki? Napisz nam o tym!. To bardzo dobra okazja, by pokazać, że pośród czytelników są też tacy, którym zależy nie tylko na kolejnej pozycji typu "Word dla bardzo opornych", "Wypasiona strona WWW w 24 godziny" czy "Podstawy podstaw programowania w C++" :) Dlatego wpisujmy się! Wymieńmy tytuły książek niedostępnych w Polsce, których tak bardzo nam brakuje.

Comments (0) | Tags: web literature teaching | Author: Adam Sawicki | Share

20:31
Fri
16
Mar 2007

DirectX Ops

Błędne działanie NVMeshMender

W skład pakietu DirectX SDK wchodzi m.in. ciekawe narzędzie, któremu dziś przyjrzałem się bliżej, a z którego chyba niewiele osób korzysta. Chodzi o dxops.exe. Ten napisany w C#, konsolowy programik "karmi się" skryptami zapisanymi w plikach tekstowych w prostym języku, w którym kolejne instrukcje mogę wczytywać, zapisywać oraz przetwarzać tekstury (we wszelkich obsługiwanych przez D3DX formatach) oraz siatki (w formacie X). Pośród możliwości programu warto wymienić:

Nie jest to w sumie nic ponad możliwości dostępne z poziomu funkcji D3DX, ale ich udostępnienie jako narzędzia nie wymagającego pisania kodu czyni ten program godnym uwagi.

Niestety z nieznanych mi przyczyn dxops źle generuje normalne dla moich siatek eksportowanych do formatu X z Blendera. Pozostaje więc NVMeshMender, który niestety też nie jest idealny (co pokazałem na załączonym zrzucie ekranu).

Comments (1) | Tags: rendering directx tools | Author: Adam Sawicki | Share

22:19
Tue
13
Mar 2007

Dwa Ludziki

Dwa Ludziki

W niedzielę zorganizowaliśmy sobie mały, spontaniczny konkurs programistyczny Compo. Trwał rekordowo krótko, bo tylko 2 godziny i w tym czasie trzeba było napisać grę, w której są aż 4 stopnie swobody (taki był temat). Uczestników było 4. Tutaj znajdziesz dane tej edycji konkursu i wszystkie prace do pobrania.

Ja też wziąłem udział i napisałem małą grę zatytułowaną Dwa Ludziki. Polega na odbijaniu (kwadratowej) piłki przez stojące po dwóch stronach boiska drużyny (kwadratów) - to taka jakby odmiana Ponga. Powstała w języku C# i za bibliotekę graficzną robią w niej przesuwane po formatce panele :) Zamiast powalającej grafiki ma dopracowaną sztuczną inteligencję, której napisanie zajęło całą drugą godzinę. Nauka logiki rozmytej i wielokryterialności nie poszła w las. Przydał się nawet tangens hiperboliczny :) Mimo tego gra napisana jest maksymalnie prosto. Na przykład wszelkie odległości, prędkości i kolizje liczyłem w metryce miejskiej.

Zachęcam do pobrania i zagrania: DwaLudziki.rar (18.2 KB). Plik udostępniam dopiero dzisiaj, bo wcześniej miałem problemy z wysyłaniem na serwer.

Comments (0) | Tags: productions warsztat | Author: Adam Sawicki | Share

21:07
Tue
13
Mar 2007

Do oblukania - nowy Blender i PIX

Dowiedziałem się ostatnio o dwóch programach, które warte są bliższego przyjrzenia się im w wolnej chwili. Pierwszy to Blender w nowej wersji. Każdego, kto już go zna lub jest gotów opanować obsługę jego udziwnionego interfejsu zainteresować może cały zbiór nowych, ciekawych funkcji.

Drugi natomiast to PIX, który wchodzi w skład pakietu DirectX SDK. Ten program jest w stanie zbierać statystyki z pracy aplikacji pisanych w Direct3D, a w przeciwieństwie do NVPerHUD nie wymaga chyba od programisty zmian w kodzie ani, co ważniejsze, instalowania specjalnego, podobno niezupełnie stabilnego sterownika do karty graficznej.

Comments (1) | Tags: rendering graphics software | Author: Adam Sawicki | Share

22:28
Sun
11
Mar 2007

Wielbłądy

Spędziłem wczoraj pół dnia na walce z dwoma wyjątkowo wrednymi błędami. Jednym z nich był błędny odblask specular - latał po powierzchni bez ładu i składu mimo że siatka była dobra i wzory na obliczenia też. Okazało się, że wektorów przekazywanych do pixel shadera, takich jak wektor kierunku do światła czy wektor połówkowy, nie należy w vertex shaderze normalizować. Heh, kto by na to wpadł nie wiedząc o tym wcześniej?

Drugi błąd sprawiał, że w pewnych bliżej nieokreślonych warunkach (ustawienia trybu graficznego, ilość renderowanej geometrii) niektóre obiekty znikały albo straszliwie migały pokazując się lub nie pokazując w poszczególnych klatkach. Najwidoczniej sterownik/karta nie czekała na opróżnienie kolejki przed zaprezentowniem danej klatki. Pomogło użycie IDirect3DQuery9 typu D3DQUERYTYPE_EVENT lub też - bardziej radykalnie - blokowanie i odblokowanie back buffera przed wywołaniem Present.

Tego rodzaju problemy i ich pokonywania (samemu czy z czyjąś pomocą - pozdro Krzysiek K.!) sprawiają, że takie programowanie wzbudza szeroki wachlarz skrajnych emocji. Podłoże matematyczne okazuje się być tylko podstawą i jego zrozumienie nie gwarantuje, że wszystko zadziała dobrze. A przecież na tym nie koniec - na jeszcze wyższym poziomie czeka problem sensownego zorganizowania całego programu, żeby to z czego się składa było jakoś poukładane, a nie tworzyło wielkiej kuli błota.

Comments (1) | Tags: rendering directx | Author: Adam Sawicki | Share

21:59
Sun
11
Mar 2007

Rozważania nad prezentacjami

Prezentacja - forma dydaktyczna, która znacznie przyspiesza przekazywanie wiedzy. Dzięki niej wykładowca nie musi brudzić się kredą i żmudnie pisać na tablicy wszystkiego, co chce pokazać. Niektórych rzeczy z resztą nie sposób nakreślić ręcznie - jak choćby długie listingi czy złożone diagramy, że nie wspomnę o zdjęciach i zrzutach ekranu. Prezentacja bardzo pomaga w nauczaniu, ale tak jak strona WWW czy inny sposób redagowania tekstu i obrazu może być ładna albo brzydka, profesjonalna albo lamerska, ciekawa albo nudna. Jak zrobić dobrą prezentację?

Na dobry wykład składa się wiele rzeczy. Celem jest, żeby był zrozumiały, ciekawy, efektowny itd. Na pewno liczy się mówiona i pokazywana treść, ale też i sposób wygłaszania, wygląd prezentacji i inne czynniki. Nieustannie zastanawia mnie, skąd czerpać inspirację do doskonalenia tych czynników? Co do samych prezentacji natomiast, nigdy nie rozumiałem po co publikować je w Sieci - sądziłem, że nie sposób się z nich czegokolwiek nauczyć bez usłyszenia danego wykładu. Ostatnio zmieniłem zdanie - szczególnie oglądając prezentacje firmy nVidia.

Comments (0) | Tags: philosophy teaching | Author: Adam Sawicki | Share

12:48
Sun
11
Mar 2007

Trochę statystyki

Według badań przeprowadzonych przez firmę Nielsen, konsole do gier zagościły już w 41% domowych gospodarstw w Stanach Zjednoczonych. (...) Średni czas jaki Amerykanie poświęcają na granie w ciągu doby to 2 godziny i 15 minut.

Źródło: CHIP Newsroom

Od komentarza się powstrzymam, bo opinia zależy od tego czy preferujemy peceta czy konsole, ale fakt jest godny odnotowania, bo wskazuje pewne trendy, przynajmniej te zza oceanu.

Comments (0) | Tags: web games politics | Author: Adam Sawicki | Share

16:21
Sun
04
Mar 2007

FX Batch Compiler 1.0

FX Batch Compiler

FX Batch Compiler - mój nowy, mały program w C#. Miał powstać na moje własne potrzeby, ale pomyślałem że może się też przydać innym, więc podszedłem do sprawy poważnie. Dlatego program jest napisany po angielsku, solidnie, wielowątkowo, jest prosty ale przez to elastyczny, posiada dokumentację i udostępniam do na licencji GNU GPL.

Do czego służy? Do wsadowego kompilowania efektów FX i shaderów HLSL z użyciem kompilatora fxc dołączanego do DirectX SDK. To nie jest całe IDE, a jedynie graficzna nakładka na to konsolowe narzędzie. Pozwala kompilować wiele plików na raz i z różnymi ustawieniami.

Comments (0) | Tags: productions tools rendering | Author: Adam Sawicki | Share

11:28
Sun
04
Mar 2007

W krainie kangurów

Drogi Graczu, czy kiedykolwiek zastanawiałeś się skąd się biorą gry? Jak i jak długo powstają? Kim są ludzie zarabiający w ten sposób na chleb? Co trzeba zrobić by samemu zacząć tworzyć gry? Otóż gry nie biorą się z magicznej krainy Torrent, ani też nie pisze ich Bill Gates, zaś powstają w pocie czoła znacznie dłużej, niż Ty w nie grasz.

To cytat z wywiadu z pracownikami polskiego studia Tate Interactive. Warto go przeczytać, bo to jeden z nielicznym przypadków kiedy media ogólnotematyczne piszą o grach komputerowych trochę inaczej niż tylko... sami wiecie jak :)

Comments (0) | Tags: web games politics | Author: Adam Sawicki | Share

10:28
Sun
04
Mar 2007

Taphoo - nowa gra Xiona

Taphoo to nowa gra autorstwa Xiona. Nie ma może powalającej grafiki 3D ani zaawansowanego technicznie silnika, nie ma też dynamicznej akcji czy interesującej fabuły, a na dotatek wymaga logicznego myślenia, ale mimo tego warto zwrócić na nią uwagę, bo jest bardzo oryginalna :)

Comments (0) | Tags: games warsztat | Author: Adam Sawicki | Share

11:51
Thu
01
Mar 2007

Szybkie, heurystyczne przeszukiwanie dysku

Na stronie portalu CodeGuru.pl poświęconemu programowaniu w technologii .NET ukazał się mój nowy, drobny artykuł zatytułowany Szybkie, heurystyczne przeszukiwanie dysku. Opisałem w nim algorytm, który przeszukując katalogi dysku twardego użytkownika pozwala odnaleźć potrzebny plik w czasie wielokrotnie krótszym, niż podczas tradycyjnego, rekurencyjnego przeszukiwania dysków dzięki zastosowaniu prostej heurystyki i wiedzy o konkretnym problemie.

Comments (0) | Tags: productions teaching .net algorithms | Author: Adam Sawicki | Share

STAT NO AD [Stat] [Admin] [STAT NO AD] [pub] [Mirror] Copyright © 2004-2017 Adam Sawicki
Copyright © 2004-2017 Adam Sawicki