Powrót do spisu serii

Gamedev

W kolejności chronologicznej.

Podseria Odcinek Opis
Wstęp #1 Konfiguracja środowiska Coś dla bardzo początkujących - wyjaśnienie z jakiej konfiguracji środowiska korzystam w dalszych odcinkach, a także szybki kurs instalacji MinGW GCC oraz potrzebnych bibliotek.
Wstęp #2 Mini framework Opis mojego mini-framworku od środka, czyli na poziomie kodu.
Sokoban #1 Wstęp, grafika, mapa Przygotowanie grafiki, mapy opartej na tile'ach (kafelkach) oraz Makefile.
Sokoban #2 Wczytanie i rysowanie mapy Zdefiniowanie struktury mapy, napisanie prostego parsera oraz renderingu tile-mapy.
Sokoban #3 Gracz i kamienie Zdefiniowanie struktury gracza i kamieni + napisanie renderingu.
Sokoban #4 Sterowanie i logika Implementacja sterowania oraz podstawowej logiki gry.
Magus Magus Ex Machina Krótkie demo gry Magus Ex Machina, stworzonej przeze mnie i Mateusza "j00ru" Jurczyka.
Magus Wasze pytania do podcastu o Magus... Prośba o pytania do planowanego nagrania o Magus Ex Machina.
Sokoban #5 Ukończenie levelu i gry Doimplementowanie brakującej logiki - warunek przejścia planszy oraz gry + ładowanie kolejnych plansz.
Sokoban Problemy #1 Jak skompilować Sokoban pod Visual C++? Jak zrobić, żeby exek stworzony przez najnowszego MinGW GCC nie wymagał libgcc_s.dll do działania? Etc.
Sokoban #6 Płynny ruch Zmiana modelu ruchu gracza ze skokowego na płynny poprzez dodanie ultra-prostej animacji ruchu na key-frame'ach.

Materiały dodatkowe

Mini-framework z którego korzystam + linki do potrzebnych bilbliotek:

Sokoban:

Instalacja nagłówków/libów do OpenGL i innych libów pod systemami z rodziny Debian/Ubuntu:

  • GL/gl.h i GL/glu.h (jeśli ich nie ma): sudo apt-get install mesa-common-dev libglu1-mesa-dev
  • SDL, SDL_image, SDL_mixer: sudo apt-get install libsdl1.2-dev libsdl-mixer1.2-dev libsdl-image1.2-dev

Zachęcam również do rzucenia okiem na odcinek o Maszynach Wirtualnych z serii FAQ.

Powrót do spisu serii

Comments:

2012-04-12 15:12:17 = VGT
{
Na początek dzięki za stworzenie tych podcast'ów. Właśnie trafiłem na te materiały i cały dzisiejszy dzień siedzę i eksperymentuję. ;) Główny mój cel w tych eksperymentach, to było sprawdzenie, na ile łatwo uda się z tej gry zrobić wersję 3D. Co prawda w C++ koduję bardzo niewiele, z OpenGL jeszcze w ogóle nie miałem styczności, ale temat zaciekawił i dzięki Twoim materiałom okazał się całkiem prosty.

Przerobiony kod pod tym adresem: http://pastebin.com/7sp8LGUV
Dodane możliwości przybliżenia i oddalenia kamery (klawisze -, +), oraz zmiany kąta (PG_UP, PG_DOWN).

Od razu przepraszam za chaos, ale kod nie doczekał się oczyszczenia. Były to eksperymenty, więc gdy tylko coś zaczęło działać, był to satysfakcjonujący stan rzeczy :) Jest też jeszcze 1 bug, którego nie namierzyłem. Kamera potrafi czasem "odpłynąć" poza obszar gry, ale po kilku sekundach wraca na miejsce.

Teraz pojawia się pytanie, które bym miał względem tego kodu. Jak w takiej sytuacji zazwyczaj realizuje się interface gry typu wyświetlenie informacji o tym, który to poziom, ilość kamieni do ustawienia, może np. wyświetlanie mierzonego czasu, w którym gracz ukończy poziom. Czy należy to robić jako elementy 3D tyle, że powiązane pozycją z kamerą (aby cały czas były w tym samym miejscu ekranu), czy też da się na taki obraz 3D nałożyć dwuwymiarowe sprite'y w konkretnej pozycji na ekranie?

Wiem, że temat ma już parę miesięcy, ale jeśli znajdziesz chwilę na odpowiedź, będę wdzięczny.
}
2012-04-12 21:03:23 = Gynvael Coldwind
{
@VGT
Dobra robota z wersją 3D :)
(na buga z "uciekaniem" kamery faktycznie trafiłem ;>)

Ad pytanie:
HUD/interfejs rysuje się (zazwyczaj) na oddzielnej "warstwie". Tzn po narysowaniu wszystkiego dot. gry robisz np. glLoadIdentity() (czyli resetujesz "ustawienia kamery", a w zasadzie macierz obrotu/translacji/etc), ustawiasz odpowiednią translacje lub włączasz "tryb ortho", i rysujesz UI.
Dwuwymiarowe sprite'y to zazwyczaj quady oteksturowane odpowiednio. Rzadziej jeden quad z całym GUI wyrysowanym na jednym sprite'cie / jednej teksturze.

Daj znać jeśli będziesz jeszcze coś grzebał przy wersji 3D tego sokobana.
}
2012-05-13 23:46:55 = Bartek
{
cześć Gynvael, aż się prosi o napisanie kiedy można się spodziewać Twoich nowych odcinków tej serii? :>

Pozdrawiam.
}
2012-08-15 09:00:49 = krzysiek
{
cześć
mistrzostwo jeśli chodzi o tutoriale, robisz kawał dobrej roboty. Nieśmiało tylko zapytam czy obiecane :) video tworzenia shooter'a jest w trakcie produkcji :/
ps.
idę walczyć z kodem Magusa ... dzięki za udostępnienie

wszystkiego dobrego
}

Add a comment:

Nick:
URL (optional):
Math captcha: 9 ∗ 9 + 5 =