June 2007

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

17:47
Sat
30
Jun 2007

Warsztat FAQ

Na Warsztacie brakowało oficjalnego FAQ (Frequently Asked Questions), czyli dokumentu udzielającego odpowiedzi na najczęściej zadawane pytania. Skoro takich elementarnych i ciągle wracajacych pytań nie tolerujemy na forum, to trzeba początkującym dać coś w zamian.

Napisałem więc dzisiaj wstępną wersję Warsztat FAQ. Na wszelkie sugestie czekam w tym temacie forum.

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

13:30
Sat
30
Jun 2007

Nigdy nie ufaj optymalizacji kompilatora

Xion widząc kod mojej biblioteki CommonLib zarzucił mi dzisiaj, że niepotrzebnie przesyłam wszelkie zwracane przez funkcje obiekty większe niż pojedyncza liczba (jak wektor, macierz czy string) przez parametr wskaźnikowy nie ufając optymalizacji kompilatora (nazwał to RVO - Return Value Optimization). Zrobiłem więc na szybko prosty test na przykładzie stringów i wyniki potwierdziły mój pogląd, żeby nigdy nie ufać optymalizacjom kompilatora. Zobacz kod i wyniki: TestNieoptymalizacjiKompilatora.cpp.

Może dożyję czasów, kiedy kompilatory C++ (albo lepiej - jakiegoś nowocześniejszego języka) pozwolą napisać po prostu return wektor * macierz1 * macierz2 albo return string1 + string2, a to zostanie zamienione na taki kod maszynowy, jaki napisałby dobry programista posługujący się bezpośrednio liczbami float albo łańcuchami char*. Przykład kompilatorów HLSL i Cg pokazuje, że da się...

Comments (0) | Tags: c++ algorithms | Author: Adam Sawicki | Share

18:10
Fri
29
Jun 2007

CommonLib 6.1

Panie i panowie, tak oto mam zaszczyt zaprezentować dzieło moich ostatnich tygodni (a powstające w sumie już okrągły rok) i tym samym udostępnić wszystkim na licencji GNU LGPL 24 KLOC lub jak kto woli 716 kB mojego kodu w C++. Jest to przenośna (Windows, Linux) biblioteka pełna różnych rzeczy przydatnych w programowaniu gier i nie tylko, a na chwilę dzisiejszą moja największa i najważniejsza produkcja. Zapraszam do zapoznania się: CommonLib 6.1.

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

13:38
Thu
28
Jun 2007

Projektowanie API

Projektowanie interfejsu biblioteki jest równie ważne, jak projektowanie interfejsu użytkownika programu. O tym drugim napisano całkiem sporo. Sam mam jedną książkę właśnie na ten temat. Co z tym pierwszym? Czy ktoś widział jakikolwiek tekst poświęcony projektowaniu dobrego API? Ja znam tylko jeden mały artykuł - Designing Qt-Style C++ APIs napisany "przy okazji" przez autorów biblioteki Qt.

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

12:11
Tue
26
Jun 2007

FreeForm Engine

Adam Cichocki z Gdańska, podobnie jak ja ma przyjemność jako pracę magisterską pisać silnik graficzny. Tyle, że mnie został jeszcze rok, a on kończy studia już teraz. To niejedyna różnica. Otóż nie mając swojej strony WWW czy bloga, nie siedząc dotychczas na IRC-u i ogólnie nie będąc znany (przynajmniej nam na Warsztacie) zjawia się nagle prezentując na forum gamedev.net zrzuty ekranu i filmy ze swojego ukończonego silnika - FreeForm Engine. Silnika naprawdę niesamowitego! Warto pobrać i obejrzeć przygotowany przez niego materiał video (zajmuje 210 MB, trwa 10 minut), żeby na własne oczy przekonać się, że on zaimplementował tam chyba wszystkie najlepsze znane ludzkości efekty :)

Comments (0) | Tags: engine | Author: Adam Sawicki | Share

09:23
Sun
24
Jun 2007

Nowa teoria filozoficzna

Wymyśliłem wczoraj nową teorię filozoficzną :) Przypomniał mi się temat forum Jeśli nie kodzić... to co? i uświadomiłem sobie, że ludzi programujących można podzielić na 3 grupy zależnie od tego, kim byliby, gdyby nie było komputerów:

Może gdyby ludzie to rozumieli i każdy znał swoje miejsce na tym schemacie, skończyłyby się spory na temat tego, czym tak naprawdę jest informatyka i programowanie? :)

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

23:12
Fri
22
Jun 2007

Newerwinter Nights 2

Gram ostatnio w Newerwinter Nights 2 i chciałbym wam polecić tą grę. To naprawdę kawał dobrego erpega. Parę drobiazgów wkurza, ale to nieuniknione przy produkcji tak rozbudowanej. Wiadomo też, że to nie MMORPG - tu grę się po prostu przechodzi, a nieliniowość polega głównie na wyborze kwestii dialogowych. Tym nie mniej gra jest naprawdę ładna, ciekawa, wciągająca, długa i ogólnie fajna. Każdy, kto gra w coś więcej niż strzelanki ma szasnę uznać ją za bardzo udaną i opanować jej zasady mimo, że nie są banalne - bo oparte na D&D.

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

00:01
Mon
11
Jun 2007

MalborkRaider

Chciałem sobie wziąć udział w "pomaturalnej", tygodniowej edycji konkursu Compo. Do napisania była gra "na podstawie lektury szkolnej". W planach miałem platformówkę 2D. Z powodów projektowych (kod się po prostu zamotał...) nie dokończyłem jej, ale to co udało się napisać znajdziecie w archiwum z pracami konkursowymi - Compo_2007-06-10.rar (4.2 MB).

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

14:52
Sun
10
Jun 2007

Game Programmer - Drzewko Umiejętności

Zrobiłem coś śmiesznego, co jednak może mieć jakiś sens. Nazwałem to Game Programmer Skill Tree. Jest to dostępne online, stylizowane przedstawienie drogi nauki, którą moim zdaniem przebywa każdy kto uczy się programowania gier. Zwięźle i krótko prezentuje poszczególne umiejętności, a także najważniejszą literaturę przydatną do ich nauki.

Następnym razem, kiedy ktoś przyjdzie z pytaniem "od czego zacząć", "nauczyłem się C++ i co dalej" albo "z czego się uczyć", możecie go tam odesłać. Będę też wdzięczny za wszelkie komentarze na forum. W planach mam następne zakręcone rzeczy :)

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

10:21
Fri
08
Jun 2007

EduAkcja - tani Microsoft Office

EduAkcja - Microsoft przygotował ciekawą ofertę dla uczniów, studentów i wszelkich pracowników sektora edukacyjnego. Można w niej kupić po przystępnej cenie pakiet Office 2003 lub 2007 (Standard - niecałe 200 zł, Professional - niecałe 280 zł brutto). To dobra wiadomość zważywszy, że w przeciwieństwie do Windows czy Visual Studio, pakiet biurowy nie jest dostępny dla studentów za darmo w ramach MSDN AA. Przejrzałem dokładnie zasady i oto moje wnioski:

Zalety:

Wady:

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

08:58
Sat
02
Jun 2007

Dobra biblioteka, zła biblioteka

Chcę teraz napisać moduł do obsługi daty i czasu. Poszukując czegoś, na czym mógłbym się wzorować szczególnie dokładnie przejrzałem dokumentację i kod dwóch bibliotek - Boost.Date_Time oraz wxWidgets wxDateTime. Was też zachęcam do poświęcenia kilku chwil na próbę zrozumienia, jak te biblioteki wyglądają i ich porównania. Można tu naprawdę klarownie zobaczyć, jak powinien wyglądać, a przede wszystkim jak NIE powinien wyglądać interfejs dobrej biblioteki. Jedni głoszą, że "Mądrość i piękno bardzo rzadko idą w parze" (ten cytat jest mottem całego dzieła Meyersa "Effective C++"), inni znają takie pojęcie jak elegancja...

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

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