Wstęp
Tworzenie gier w praktyce -kody źródłowe
Saper Snake Mario Bros Tworzenie gier to umiejętne połączenie grafiki, muzyki i sprawnego programu. Programowanie gier jest bardzo wciągające i ciekawe, wymaga też dużej wytrwałości. Ten rozdział omówi kilka praktycznych rad w jaki sposób tworzyć gry komputerowe.
Zasady programowania są praktycznie takie same w każdym języku, dlatego poznając techniki programowania w pascalu, będziesz umiał zastosować je w innych językach.
Co potrzebne
Potrzebna jest dobra znajomość zasad programowania, bez tych umiejętności zakończysz pojekt przy pierwszym poważniejszym napotkanym problemie. Równie ważną cechą jest wytrwałość. Często zdarza się, że programista tworzy tysiące pomysłów, zaczyna od intra, tworzy pierwsze szczegóły gry... program osiąga ponad tysiąc linii, zaczynają się schody i pomysł upada (sam mam takich projektów ponad 20). Tworząc grę nastaw się na raczej ciężką, matematyczną pracę, niż rysowanie plansz, ustawianie przeszkód, itp...
Przyda się Tobie też dobry grafik, bo zazwyczaj dobry programista jest kiepskim grafikiem. Poza tym na stworzenie lepszej gry nie wystarczy tydzień. Często zajmuje to minimum miesiąc.
Czego się nauczyć
Gra związana jest ściśle z grafiką, potrzebna jest więc znajomość obsługi szybkiej grafiki. Polecam zapoznać się ze standardem VESA. By przyśpieszyć grafikę -bo są to najbardziej czasochłonne operacje musisz znać podstawy asemblera. Do tego pisanie programów w pascalu, korzystanie z modułów (dzięki nim unikniesz kilku tysięcy linijek kodu), pisanie własnych funkcji, wszelkie rodzaje pętli, typy (byładnie pogrupować elementy), wskaźniki (bez nich też się da ale to utrudni programowanie)
Schemat każdej gry
Wszystkie gry działają na tej samej bazie. Ogólna struktura to:
INICJALIZACJA - wczytywanie danych, tworzenie planszy w pamięci, ustawianie parametrów
PĘTLA GŁÓWNA - to co w środku pętli jest wykonywane nieustannie. Składa się z kilku części:
WCZYTANIE DANYCH WCIŚNIĘTYCH KLAWISZY
OBLICZANIE POZYCJI LUDZIKÓW
CZYSZCZENIE BUFORA EKRANU
RYSOWANIE PLANSZY W PAMIĘCI - NIE NA EKRANIE
RYSOWANIE LUDZIKÓW W PAMIĘCI
RYSOWANIE EFEKTÓW SPECJALNYCH (wybuchy, itp.) W PAMIĘCI
OCZEKIWANIE NA POWRÓT PIONOWY MONITORA
PRZERYSOWANIE BUFORA PAMIĘCI NA EKRAN
ZWOLNIENIE PAMIĘCI - zwolnienie bitmap z pamięci
i to wszystko. Każdy z tych punktów wymaga dobrego zaprojektowania, ale na ogół kod źródłowy głównego programu wygląda tak:
Init;
Start_Game;
Free_Memowy;
Zanim zaczniesz pisać grę weź kartkę papieru i spróbuj wszystko dokładnie zaprojektować. Napisz co się będzie działo, jakich elementów potrzebujesz.
Jak zbudowana jest plansza?
Może zastanawiałeś się jak budowana jest ogólna struktura planszy. Jest na to kilka sposobów.
1 - Struktura kostkowa - plansza podzielona jest na kwadraciki, w których w każdym rysujesz jakiś element. Np. w mario bros cegłówkę, w strategii kawałek ziemi, itp... Wtedy potrzebujesz dużej tablicy w której komórki będą zawierały liczbę -jaki element się akurat tu znajduje.
2 - Struktura bitmapowa - Wczytujesz bitmapę i sprawdzasz np. po kolorach lub w grafice wektorowej, gdzie ludzik może chodzić. Np. czarny kolor może chodzić lub jeździć samochodem, inny nie
3 - Grafika wektorowa - Tworzysz w pamięci strukturę i na jej bazie sprawdzasz gdzie powinna być ziemia, gdzie niebo, gdzie wolno chodzić, gdzie nie.
4 - Gra napisowa - Prosta wersja, w grafice statycznej. Można wyświetlać bitmapy, na nich napisy, nie potrzebne jest ciągłe rysowanie planszy