Skocz do zawartości


Pisanie gry 2D pod Win - typu Supaplex/Boulder Dash


2 odpowiedzi w tym temacie

#1 Piter

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano sob, 14 sty 2012 - 11:10

Witam,

Ładnych parę lat temu programowałem sporo w Turbo Pascalu i Turbo C++, jeszcze w środowisku DOS-owym. Delphi minimalnie liznąłem, ale właściwie nie mam żadnego większego doświadczenia w programowaniu pod Windows. Niedawno odgrzebałem mój stary DOS-owy projekt - właściwie ukończony - była to moja konwersja gry Boulder Dash z małego Atari / C-64. Pomyślałem, że chciałbym przenieść to pod Windows. I tutaj zaczynają się schody, bo nie bardzo wiem jak zacząć i w czym pisać.

Mój DOS-owy projekt był oparty o tryb 13h, który jest dziś totalnym anachronizmem, zresztą z racji tego, że chcę pisać pod Win - odpada. Ci z Was, którzy kojarzą tego typu gry wiedzą z pewnością, że technicznie jest to banalne do bólu. Plansza to nic innego jak tablica dwuwymiarowa typu byte, gdzie każda wartość odpowiada jednemu elementowi (np. 1-kamień, 2-diament, 3-etc.). Całość działa w pętli, gdzie sprawdzane są wartości poszczególnych pól tablicy i wykonywane są odpowiednie procedury dla danego elementu. W tej samej pętli jest odświeżany ekran wyświetlający obrazki reprezentujące poszczególne pola. Na raz na ekranie wyświetlana jest plansza 20x12 pól, gdzie pola są reprezentowane przez bitmapy w stałym rozmiarze. Proste.

Nie wiem jednak jak się za to zabrać w Windows i tutaj zwracam się do bardziej doświadczonych osób z prośbą o sugestie. Co będzie lepsze DelphiX czy Omega? A może lepiej robić to pod VC? Ewentualnie może ktoś zna jakiś prosty przykład, który mógłbym sobie przeanalizować. Zaznaczam, że nie mam żadnego doświadczenia jeśli chodzi o programowanie grafiki pod Win - moja wiedza skończyła się dawno temu na TP, TC++ i trybie 13h. Będę wdzięczny za pomoc i wskazanie drogi - od czego zacząć.

pozdrawiam, Piotrek

#2 Jason

    Avatar

  • Super użytkownicy
  • 1118 Postów:

Napisano sob, 14 sty 2012 - 14:24

http://forum.warszta...p?topic=23554.0 - jakiś czas temu natknąłem się na takie video tutoriale i nawet tematyka podobna do tego co chcesz osiągnąć :), od tego możesz zacząć, żeby zobaczyć jak coś takiego się pisze w środowisku polecanym przez autora tutoriali. Polecam też projekt Rocks and Diamonds - http://www.artsoft.o...s/download.html - chociaż to raczej za duży projekt, żeby uczyć się z jego źródeł ;)

Co do technologii to mi najszybciej się programowało gry 2D w Pythonie z użyciem pygame+pyopengl (jako że wcześniej robiłem w konfiguracji C++ z SDL+OpenGL+SDL_mixer). Najwięcej robiłem w OpenGL, więc nie chciało mi się uczyć np. robić gier 2D w samym pygame, czy tam SDL, allegro itp. Aczkolwiek dużo ludzi się na to decyduje, jak nie znają OpenGL, więc polecam przejrzeć tutoriale. Programowanie gry w języku Python ma ten plus, że pomijasz wiele pułapek czyhających na początkującego, który chce napisać swoją grę w C++, a mianowicie nie musisz nic linkować ;) Dajesz sobie folder z pygame i pyopengl do katalogu site-packages Twojej wersji wersji Python'a i już jesteś gotów by za pomocą interpretera uruchomić sobie nawet jakiś przykładowy skrypt - nie trzeba tworzyć żadnych plików projektu, w których określasz linkowanie itp., te rzeczy są już zrobione za Ciebie.

#3 Piter

    Nowy na forum

  • Użytkownicy
  • 2 Postów:

Napisano sob, 14 sty 2012 - 15:33

Ok, dzięki za podpowiedź. RnD znam oczywiście - świetny projekt, ale masz rację - jest faktycznie bardzo rozbudowany.