Programowanie gier, analizowanie gier

Oryginalny post: Programming Games, Analyzing Games

Autor: Jeff Atwood

Dla wielu programistów wstępem do programowania był ich ojciec zmuszający do pisania własnych gier. Zamiast nowej, lśniącej konsoli Atari 2600, którą chciałem, dostałem komputer Texas Instruments TI-99/4a. Oczywiście nie o to mi wtedy chodziło, ale ta nieodwracalna decyzja zapoczątkowała karierę, która trwa już trzydzieści lat.

Najwyraźniej nie jestem sam. Mike Lee miał podobne przeżycia:

Urodziłem się w 1976, w tym samym roku co Apple, tak więć mój ojciec był w odpowiednim wieku, aby zainteresować się wczesnymi wynikami sceny homebrew. Jednym z moich wspomnień z wczesnego dzieciństwa jest on wracający do domu z Sinclairem 2000 i książką o grach. Godzinami przesiadywał wklepując kod od Space Invaders, a następnie graliśmy w nią może przez 30 minut przed wyłączeniem maszyny i anulowaniem całej jego pracy.

Tak jak Shawn Oster:

Tworzę oprogramowanie od 25 lat, poczynając od ósmego roku życia, zaczynałem z książką o nazwie "Twój pierwszy program w BASICu", którą kupił mi mój ojciec, ponieważ posiadaliśmy PC wtedy, gdy wszyscy moi znajomi grali w StarBlazers na ich Apple II. Mówił mi, że jeśli chcę grać w gry, to mógłbym je sobie sam napisać. W tamtej chwili byłem trochę rozczarowany (OK, załamany), ale teraz.. cóż, tato, dziękuję.

Dlatego własnie fascynujące jest powracanie do najwcześniejszych gier komputerowych. Przemysł komputerów osobistych dorastał razem z nami. Uczyliśmy się jak programować poprzez wpisywanie tych prostych gier z magazynów i książek. Przyjrzyj się uważnie, a zauważysz, że te stare gry są prymitywnymi początkami większości programistów, są niczym pień mózgu, który istnieje w głowie każdego z nas.

Nawet skromna, prosta, mała gierka jak Saper ma głębokie korzenie sięgające czasów kart perforowanych:

Początki Sapera sięgają najwcześniejszych gier mainframe'owych w latach 60 i 70. Wikipedia podaje Kostkę Davida Ahl'a za najwcześniejszego przodka Sapera. Ale mimo iż Kostka zawiera "miny", ciężko przyjąć ją za poprzednika Sapera. W Kostce miny są rozłożone losowo i jedynym sposobem na ich odkrycie jest zakończenie gry. Wchodzisz na minę i umierasz; nie możesz uniknąć miny bądź odgadnąć gdzie ona jest bez uprzedniej próby wejścia na nią.

W każdym bądź razie, istnieje bardzo dużo wczesnych gier typu "ukryj i szukaj", w których zadaniem jest znalezienie ukrytych miejsc na siatce. Na przykład w Hurkle Boba Albrechta musisz znaleźć potwora kryjącego się na siatce dziesięć na dziesięć. Po każdej próbie odgadnięcia dostajesz podpowiedź, w którym ogólnie kierunku znajduje się Hurkle. Depth Charge Dany Noftle'a jest tym samym tylko w trzech wymiarach. Mugwump Buda Valentiego ma wiele ukrytych celów, a po każdej próbie odgadnięcia otrzymujesz przybliżoną odległość do każdego z nich. W przeciwieństwie do Kostki, te gry bardziej przypominają Sapera: zrób losowy ruch by rozpocząć, potem używaj dostarczonych informacji, aby odkryć ukryte elementy. Oczywiście inaczej niż w Saperze (czy Kostce), nie było niebezpieczeństwa "wybuchu", jedynym ograniczeniem było odnalezienie ukrytych lokalizacji w skończonej liczbe ruchów.

Najbliższym przodkiem Sapera jest prawdopodobnie Hunt the Wumpus Gregorego Yoba.

Mimo iż Wumpus bazował na niekonwencjonalnej siatce (oryginalna gra używała wierzchołków dwunastościannu foremnego, a późniejsza wersja używała Wstęgi Möbiusa i innych nieprawdopodobnych kształtów), to ewoluował od swoich poprzedników w wielu różnych kierunkach.

Byłem zaintrygowany nowo odkrytym połączeniem między Saperem a Hunt the Wumpus, ponieważ Wumpus jest moim wewnętrznym zwierzęciem.

Większość wczesnych gier nie była nawet tak zabawna. Analizowanie kodu gry było prawie tak samo przyjemne jak granie w nią; sama czynność wpisywania i zrozumienia programu była wystarczającą "grą" dla wielu z nas. Ale niektóre z tych wczesnych gier ewoluowały i przetrwały po dziś dzień, tak jak Saper -- który stał się tak zakorzeniony w społecznej świadomości, że jest teraz przedmiotem zabawnych filmów parodiujących. Pomimo prostoty Sapera (i jego popularności), jest to zaskakująco głęboka gra logiczna, tak jak jest to opisane na Wikipedii:

Saper jest wciąż popularny wśród programistów; Automine, na przykład, jest programem napisanym w Javie, który automatycznie gra w Sapera czytając z ekranu i manipulując myszką.

Artykuł o Saperze jest częścią niesamowitej serii Beyond Tetris na GameSetWatch, w której klasyczne gry łamigłówkowe są analizowane z punktu widzenia projektanta i programisty gier. Gorąco polecam. Uczciwe ostrzeżenie: nie przeklikuj się przez to, dopóki nie masz mnóstwa wolnego czasu. Dla programisty, analizowanie gier jest prawie taką samą zabawą jak granie w nie.

Data publikacji oryginału: sierpień 22, 2007

1 komentarze:

d.evil pisze...

Heh, dzięki temu, że do Was trafiłem (no i dzięki autorowi oryginału) uświadomiłem sobie jedną ważną rzecz...;)

Prześlij komentarz

Related Posts with Thumbnails