Mój mini silnik

11 sierpnia 2010

Witam wszystkich

Ostatnio na blogu było strasznie cicho. Ale to nie znaczy, że ja nic nie robiłem. Było wręcz przeciwnie.
Pomyślałem sobie, że ciągle bawię się gotowymi silnikami, a nawet nie wiem dokładnie jak one działają. Dlatego postanowiłem, że spróbuję napisać swój mini silnik.
Od czegoś trzeba było zacząć. Tym czymś była grafika. Kiedyś (jakiś rok temu) zacząłem bawić się SDK DirectX-a, jednak nie skończyło się to zbyt dobrze. Postanowiłem spróbować jeszcze raz. Zacząłem od zagłębienia się w kurs autorstwa Charibo. Po krótkim czasie ‘zagłębiania się’ stwierdziłem, że zanim będę kontynuował moją naukę, muszę napisać jakiś framework do obsługi okna i input-u.
O czystym WinAPI nawet nie myślałem, ponieważ uważam, że pisanie w nim to masochizm i ponowne odkrywanie koła. Znane mi są trzy biblioteki spełniające moje wymagania: SDL, Allegro i SFML. SDL od razu odrzuciłem, bo mnie niedawno denerwował :) . Pozostały dwie. Lepsze opinie spowodowały, że wybrałem SFML.
W trakcie zastanawiania, którą z tych bibliotek wybiorę zauważyłem, że wszystkie trzy wspierają OpenGL-a. Coś mi podpowiedziało, żebym zainteresował się bliżej OpenGL-em. Zacząłem przeglądać tutoriale do niego. Najpierw jedną lekcję od SFML-a pokazującą, jak połączyć te biblioteki. Potem tutoriale NeHe, aż w końcu świetny kurs ze strony swiftless.com
Podczas przeglądania tych lekcji stwierdziłem, że nauka OpenGL-a wychodzi mi o wiele sprawniej, niż DirectX-a. To zadecydowało o tym, że postanowiłem zmienić bibliotekę graficzną.
Ostatecznie miałem w swoich rękach dwa narzędzia: OpenGL i SFML. Zacząłem je opakowywać w klasy. Klasa do tworzenia okna aplikacji, klasa do rysowania trójkątów, klasa do rysowania czworokątów, klasa do rysowania sześcianów a po krótkim czasie również oteksturowanych sześcianów, klasa do… STOP. Okazało się, że mam taki bałagan w kodzie, że sam ledwo mogę się zorientować co do czego jest. Stwierdziłem, że muszę coś z tym zrobić. Tym czymś było zaprojektowanie całej struktury silnika i przepisanie części kodu od nowa. Zaraz na początku pisania wszystkiego od nowa uświadomiłem sobie, że to co piszę nie jest zwykłym programem. Nie mogę wpakować tego do exe-ka. Szybko odświeżyłem sobie informacje o bibliotekach DLL, stworzyłem nowy projekt w Visual Studio i zacząłem pisać.
Muszę się przyznać, że w projektowaniu dobry nie jestem. Jeszcze kilkakrotnie przerabiałem strukturę silnika, gdyż nie spełniał moich wymagań. Na szczęście po niezbyt długim czasie udało mi się wrzucić wszystko co miałem napisane do biblioteki DLL.
Zacząłem zastanawiać się co takiego zawierają silniki do gier. Głównymi elementami są grafika, dźwięk i fizyka. Grafikę wstępnie już miałem (bardzo wstępnie), dźwięk postanowiłem na razie sobie odpuścić, została fizyka. Samemu nie chciało mi się pisać fizyki, więc postanowiłem skorzystać do tego celu z gotowego rozwiązania. Tu problemów z wyborem nie miałem. Od razu złapałem za Nvidia PhysX. Jest to najlepszy i zarazem darmowy silnik fizyczny jaki znam. SDK miałem już ściągnięte, więc zacząłem zagłębiać się w tutoriale.
Poszło szybciej niż myślałem. Po dwóch godzinach mój silnik potrafił już wykonywać proste symulacje na box-ach.
W tym momencie stwierdziłem, że muszę zrobić sobie przerwę w kodzeniu więc wziąłem się za pisanie tego wpisu ;)
W rozwinięciu opis możliwości silnika i zdjęcie. O nowościach dotyczących silnika będę pisał na altairgames.pl

Czytaj dalszą część wpisu »

Kurs C++, część III – zmienne

5 sierpnia 2010

Witam wszystkich

Wreszcie znalazłem czas na ukończenie trzeciej części kursu C++. Nauczycie się z niego wykonywania podstawowych operacji na zmiennych. Zapraszam do czytania! Mam nadzieję, że wam się spodoba ;)

Pozdrawiam
Altair

Rewolucje

4 sierpnia 2010

Witam wszystkich

Na blogu było ostatnio cicho. Była to cisza przed burzą. Nastał czas rewolucji. Postanowiłem całkowicie zmienić koncepcję tej strony.
Przede wszystkim nie będzie tu już wpisów o wszystkim i o niczym (te które były chyba zostawię). Teraz na blogu będą pojawiać się jedynie ważne informacje (zaliczają się o nich również te, które dotyczą dodania nowych artykułów na stronę, itp.).
Kurs C++ będzie się dalej rozwijał. Ostatnio nie miałem czasu, aby ukończyć kolejną lekcję, ale postaram się to szybko nadrobić.

Zastanawiałem się co zrobić z projektami nad którymi pracuję lub przy których współpracuję. Zbyt dużo informacji o nich nie było ale pomyślałem, że gdy w przyszłości się rozrosną, zbytnio zaśmiecą mi tę stronę. W związku z tym postanowiłem otworzyć drugą stronę, poświęconą tylko i wyłącznie tym projektom. Znajduje się ona pod adresem altairgames.pl.

Podsumowując:
Na tej stronie pojawiać się będą kolejne części kursu + jakieś artykuły, natomiast wszelkie informacje i nowości o projektach znajdziecie na altairgames.pl.

Pozdrawiam
Altair

Hymn Polski w nietypowym wykonaniu

19 lipca 2010

W życiu słyszałem już różne wykonania hymnu ale gdy zobaczyłem ten filmik stwierdziłem, że to jest najoryginalniejsze.
Oglądajcie (zaczyna się w 0:43) i podziwiajcie co (oprócz ścigania się) potrafią bolidy Formuły 1.

Slincer: Preludium zmienił nazwę

13 lipca 2010

Projekt Slincer: Preludium oficjalnie zmienił nazwę. Od teraz nosi on nazwę Lights Out. Dodatkowo zostały udostępnione nowe materiały dotyczące gry.
Zostało również ujawnione logo projektu. Oto ono:

Więcej przeczytać możecie na oficjalnej stronie projektu.

Płacenie za siedzenie

13 lipca 2010

Fabian Brunsing, artysta z berlina, postanowił zarobić na tym co ludzie bardzo lubią, czyli.. na siedzeniu!
Zaprojektował on ławkę, której trzeba zapłacić 0,50 Euro, aby na niej usiąść. Mam nadzieję, że pomysł ten się nigdzie nie przyjmie.
A oto ta ławka:

SDK dla uTorrent

13 lipca 2010

uTorrent jest znanym programem do pobierania torrent-ów z internetu. Jego twórcy, firma BitTorrent, postanowili udostępnić zestaw narzędzi dla programistów pozwalający każdemu tworzyć dodatki do tego programu. Aby zachęcić ludzi do tworzenia własnych dodatków, firma postanowiła zorganizować konkurs na najlepszą wtyczkę. Więcej możecie dowiedzieć się tutaj.

Bardzo panoramiczny monitor

11 lipca 2010

Kiedyś ludzie cieszyli się z 15 calowych monitorów. Dziś standardem są monitory od 19 do 24 cali. Dodatkowo są one panoramiczne.
A co gdyby mieć bardzo szeroki i bardzo panoramiczny monitor? Jak by się na nim grało?
Odpowiedź znajdziecie na tym filmiku:

Super łatwy poziom trudności w grach

9 lipca 2010

Dlaczego gry nigdy nie mają super łatwego poziomu trudności? Oto odpowiedź:

iHand – koniec z problemami w nowym iPhone

7 lipca 2010

Jakiś czas temu pisałem o problemach w iPhone 4. Największym problemem było zanikanie sygnału w telefonie. Teraz jednak pojawiło się ciekawe rozwiązanie tego problemu – iHand. Jest ot sztuczna ręka, w której możemy umieścić naszego iPhone-a, a następnie… wziąć ją w swoją rękę. Może i śmiesznie to wygląda, ale likwiduje problem z zasięgiem ;)