All Blog Entries

All blog entries, ordered from most recent. Entry count: 1198.

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

Pages: > 1 ... 100 101 102 103 104 ... 150 >

# Newerwinter Nights 2

Fri
22
Jun 2007

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 | #games Share

# MalborkRaider

Mon
11
Jun 2007

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 | #games #productions Share

# Game Programmer - Drzewko Umiejętności

Sun
10
Jun 2007

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 | #teaching #philosophy #warsztat Share

# EduAkcja - tani Microsoft Office

Fri
08
Jun 2007

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 | #shopping #software Share

# Dobra biblioteka, zła biblioteka

Sat
02
Jun 2007

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 | #libraries #software engineering Share

# Napisałem FreeList

Thu
31
May 2007

Napisałem na podstawie artykułów z "Game Programming Gems" (oraz swoich pomysłów) własne alokatory pamięci do obiektów konkretnego typu, czyli tzw. FreeList. Powinny działać szybciej niż standardowe, podobno wolne operatory new i delete. Znajdą się oczywiście w nowej wersji mojej biblioteki CommonLib. Testy (przeprowadzone dla 10240 operacji alokacji lub zwalniania) są bardzo optymistyczne:

DEBUG:
Element typu int:
  FreeList : 68.0636 ms
  DynamicFreeList : 184.441 ms
  new i delete : 78.8142 ms
Element typu zajmujacego 1024 bajty:
  FreeList : 69.3896 ms
  DynamicFreeList : 203.506 ms
  new i delete : 93.2942 ms
RELEASE:
Element typu int:
  FreeList : 7.87224 ms
  DynamicFreeList : 11.4786 ms
  new i delete : 17.0348 ms
Element typu zajmujacego 1024 bajty:
  FreeList : 9.18059 ms
  DynamicFreeList : 18.0729 ms
  new i delete : 24.0537 ms

Comments | #c++ #algorithms Share

# int1, int2, int4, int8

Thu
31
May 2007

Ilekroć koledzy widzą mój kod, dziwią się, dlaczego swoje typedef-y nazwałem int1, int2, int4, int8, uint1 itd., zamiast int8, int16, int32, int64, uint8 itd. Ja wtedy pytam: Po co miałbym liczyć rozmiar w bitach, zamiast w bajtach? Wiem, że tak się najczęściej robi, ale to i tak są zawsze wielkrotności ósemki. Może w grach komputerowych za zebranie kryształka warto naliczyć graczowi całe 100 punktów zamiast jednego, bo to ma jakiś efekt psychologiczny, ale programiści powinni podchodzić do życia praktycznie. Dlatego dla mnie liczenie w bitach jest po prostu bez sensu. Operator sizeof też zwraca rozmiar w bajtach :P

Comments | #c++ #philosophy Share

# Policy-Based Design

Wed
30
May 2007

class DeletePolicy {
public:
  template <typename T>
  static void Destroy(T *p) { delete p; }
};
class ReleasePolicy {
public:
  template <typename T>
  static void Destroy(T *p) { if (p) p->Release(); }
};

class scoped_ptr<typename T, typename PolicyT = DeletePolicy>
{
public:
  explicit scoped_ptr(T *p = NULL) : m_Ptr(p) { }
  ~scoped_ptr() { PolicyT::template Destroy<T>(m_Ptr); }
  // ...
};

scoped_ptr<int, DeletePolicy> p1;
scoped_ptr<IDirect3DTexture9, ReleasePolicy> t1;

To przykład techniki zwanej Policy-Based Design, którą wynalazł Andrei Alexandrescu. Wszystkich zainteresowanych zabawami z językiem C++ zachęcam do zgłębiania tematu. Szablony to nie jest lekarstwo na wszystkie (jakże liczne) problemy rodzące się podczas programowania w tym języku, ale to jedna z potężnych i zaawansowanych technik. Znałem ją już wcześniej, ale teraz doceniłem i użyłem. Jak to się mówi w komentarzach na Allegro: Polecam! :)

Comments | #c++ #algorithms Share

Pages: > 1 ... 100 101 102 103 104 ... 150 >

[Download] [Dropbox] [pub] [Mirror] [Privacy policy]
Copyright © 2004-2026