Skip to main content

Prawdopodobnie wszyscy mamy dość dobre intuicyjne wyobrażenie o tym, czym jest gra. Ogólny termin „gra” obejmuje gry planszowe, takie jak szachy i monopol, gry karciane, takie jak poker i blackjack, gry kasynowe, takie jak ruletka i automaty do gry, wojskowe gry wojenne, gry komputerowe, różnego rodzaju gry wśród dzieci, i lista jest długa. W nauce czasami mówimy o teorii gier, w której wielu agentów wybiera strategie i taktyki, aby zmaksymalizować swoje wygrane na podstawie ściśle określonych zasad gry. Kiedy słowo „gra” jest używane w kontekście konsoli lub rozrywki komputerowej, zwykle wywołuje obrazy trójwymiarowego wirtualnego świata, w którym humanoid, zwierzę lub pojazd jako główny bohater jest pod kontrolą gracza. (Lub, dla starego geezera wśród nas, może to przypominać obrazy dwuwymiarowych klasyków, takich jak Pong, Pac-Man czy Donkey Kong.) W swojej doskonałej książce Teoria zabawy w projektowaniu gierRaph Koster definiuje grę jako interaktywne doświadczenie, które oferuje graczowi coraz trudniejszą sekwencję wzorców, których się uczy i ostatecznie opanowuje. Twierdzenie Kostera polega na tym, że nauka i doskonalenie są podstawą tego, co nazywamy „zabawą”, tak jak żart staje się zabawny w momencie, gdy „rozumiemy” go poprzez rozpoznanie wzorca.

Gry wideo jako miękkie symulacje w czasie rzeczywistym

Większość dwu- i trójwymiarowych gier wideo to przykłady tego, co informatycy nazwaliby miękkimi interaktywnymi symulacjami komputerowymi w czasie rzeczywistym. Podzielmy to zdanie, aby lepiej zrozumieć, co to znaczy. W większości gier wideo podzbiór świata rzeczywistego - lub świata wyobrażonego - jest modelowany matematycznie, dzięki czemu można nim manipulować za pomocą komputera. Model jest przybliżeniem do rzeczywistości i uproszczeniem rzeczywistości (nawet jeśli jest to rzeczywistość wyobrażona), ponieważ wyraźnie niepraktyczne jest zawarcie każdego szczegółu aż do poziomu atomowego lub kwarkowego. Dlatego model matematyczny jest symulacją prawdziwego lub wyobrażonego świata gry. Podejście i uproszczenie to dwa najpotężniejsze narzędzia twórców gier. Przy umiejętnym stosowaniu nawet bardzo uproszczony model może czasami być ledwo odróżnialny od rzeczywistości i zapewnia dużo więcej zabawy.

Symulacja oparta na agentach to symulacja, w której współdziała wiele różnych podmiotów zwanych „agentami”. To bardzo dobrze pasuje do opisu większości trójwymiarowych gier komputerowych, w których agentami są pojazdy, postacie, kule ognia, punkty mocy itp. Biorąc pod uwagę agresywną naturę większości gier, nie powinno dziwić, że większość dzisiejszych gier jest implementowana w zorientowanym obiektowo lub przynajmniej luźno obiektowo języku programowania.

Wszystkie interaktywne gry wideo są symulacjami czasowymi, co oznacza, że ​​model wirtualnego świata gry jest dynamiczny - stan świata gry zmienia się w czasie wraz z rozwojem wydarzeń i historii gry. Gra wideo musi także reagować na nieprzewidywalne wkłady ze strony ludzkich graczy - tj. Interaktywne symulacje czasu. Wreszcie, większość gier wideo przedstawia swoje historie i reaguje na opinie graczy w czasie rzeczywistym, dzięki czemu wykonują interaktywne symulacje w czasie rzeczywistym.

Godnym uwagi wyjątkiem jest kategoria gier turowych, takich jak szachy komputerowe lub gry strategiczne w czasie rzeczywistym. Ale nawet tego rodzaju gry zazwyczaj oferują użytkownikowi graficzny interfejs użytkownika w czasie rzeczywistym.

Co to jest silnik gry?

Termin „silnik gry” pojawił się w połowie lat 90. w odniesieniu do strzelanek FPS, takich jak niezwykle popularny Doom firmy id Software. Doom został zaprojektowany z dość wyraźnym rozróżnieniem między jego głównymi komponentami oprogramowania (takimi jak trójwymiarowy system renderowania grafiki, system wykrywania kolizji lub system audio) a obiektami sztuki, światami gry i zasadami gry gracza. Wartość tego rozdzielenia stała się oczywista, gdy programiści zaczęli licencjonować gry i przekształcać je w nowe produkty, tworząc nowe dzieła sztuki, układy świata, broń, postacie, pojazdy i zasady gry przy minimalnych zmianach w oprogramowaniu „silnika”. To narodziny „Mod Community” - grupy pojedynczych graczy i małych niezależnych studiów, które budowały nowe gry, modyfikując istniejące gry za pomocą darmowych zestawów narzędzi dostarczanych przez oryginalnych twórców. Pod koniec lat 90. opracowano niektóre gry, takie jak Quake III Arena i Unreal, z myślą o ponownym użyciu i „modyfikacji”. Silniki zostały wysoce dostosowane do potrzeb użytkownika za pomocą języków skryptowych, takich jak Quake C id, a licencjonowanie silników stało się realnym wtórnym źródłem dochodów dla twórców, którzy je stworzyli. Obecnie twórcy gier mogą licencjonować silnik gry i ponownie wykorzystywać niezbędne części swoich kluczowych komponentów oprogramowania do tworzenia gier. Chociaż ta praktyka nadal wymaga znacznych inwestycji w niestandardowe projektowanie oprogramowania, może być znacznie bardziej ekonomiczna niż wewnętrzne opracowywanie wszystkich głównych elementów silnika. Granica między grą a jej silnikiem jest często niewyraźna.

Niektóre silniki dokonują dość wyraźnego rozróżnienia, podczas gdy inne prawie nie próbują rozdzielić tych dwóch. W grze kod renderujący może „dokładnie wiedzieć”, jak narysować orka. W innej grze silnik renderujący może oferować uniwersalne funkcje materiałów i cieniowania, a „Ork-Ness” można w pełni zdefiniować w danych. Żadne studio nie czyni całkowicie wyraźnego rozdziału między grą a silnikiem, co jest zrozumiałe, gdy weźmie się pod uwagę, że definicje tych dwóch elementów często się zmieniają, gdy konstrukcja gry się zestala.

Architektura oparta na danych odróżnia silnik gry od oprogramowania, które jest grą, ale nie silnikiem. Jeśli gra zawiera zakodowaną logikę lub reguły gry lub używa specjalnego kodu sprawy do renderowania niektórych rodzajów obiektów gry, ponowne użycie tego oprogramowania do stworzenia innej gry staje się trudne lub niemożliwe. Prawdopodobnie powinniśmy zarezerwować termin „silnik gry” dla oprogramowania, które jest rozszerzalne i może być używane jako podstawa dla wielu różnych gier bez większych zmian.

Wyraźnie nie jest to czarno-białe rozróżnienie. Możemy sobie wyobrazić zakres wielokrotnego użytku, na który wpada każdy silnik. Można by pomyśleć, że silnik gry może być porównywalny z Apple QuickTime lub Microsoft Windows Media Player - uniwersalnym oprogramowaniem, które może odtwarzać praktycznie każdą możliwą zawartość gry. Jednak ten ideał nie został osiągnięty (i może nigdy nie będzie). Większość silników gier została starannie zaprojektowana i zoptymalizowana pod kątem uruchamiania określonej gry na określonej platformie sprzętowej. Nawet najbardziej uniwersalne silniki wieloplatformowe nadają się tylko do tworzenia gier z określonego gatunku, np. B. strzelanki lub gry wyścigowe. Można śmiało powiedzieć, że im bardziej uniwersalny jest silnik gry lub komponent oprogramowania pośredniego, tym mniej uniwersalne jest uruchamianie określonej gry na określonej platformie.

Zjawisko to występuje, ponieważ projektowanie wydajnego oprogramowania niezmiennie wiąże się z kompromisami, a kompromisy te oparte są na założeniach dotyczących sposobu użytkowania oprogramowania i / lub docelowego sprzętu, na którym jest uruchamiany. Na przykład silnik renderujący zaprojektowany do intymnych wnętrz nie jest w stanie bardzo dobrze renderować dużych środowisk zewnętrznych. Silnik wewnętrzny może korzystać z drzewa lub portalu systemu partycjonowania przestrzeni binarnej (BSP), aby zapewnić, że nie zostanie narysowana geometria zasłonięta ścianami lub przedmiotami znajdującymi się bliżej kamery. Silnik zewnętrzny może wykorzystywać mniej dokładny lub żaden mechanizm okluzji, ale najprawdopodobniej zastosuje techniki szczegółowości (LOD), aby zapewnić, że odległe obiekty są renderowane przy minimalnej liczbie trójkątów, podczas gdy siatki trójkątów o wysokiej rozdzielczości są używane do testów geomeetycznych, które są w pobliżu aparatu.

Pojawienie się coraz szybszego sprzętu komputerowego i specjalistycznych kart graficznych, a także coraz wydajniejszych algorytmów renderowania i struktur danych, zaczyna zmniejszać różnice między silnikami graficznymi różnych gatunków. Można teraz użyć silnika FPS, na przykład do stworzenia gry strategicznej w czasie rzeczywistym. Jednak kompromis między ogólnością a optymalnością nadal istnieje. Gra może być coraz bardziej imponująca poprzez dostosowanie silnika do określonych wymagań i ograniczeń konkretnej gry i / lub platformy sprzętowej.

Różnice w silnikach między gatunkami

Silniki gier są zazwyczaj nieco specyficzne dla gatunku. Silnik opracowany dla dwuosobowej gry walki na ringu bokserskim bardzo różni się od silnika MMOG (Massively Multiplayer Online Game), silnika FPS (Ego Ego Shooter) lub silnika RTS (strategia czasu rzeczywistego) ). Istnieje jednak wiele nakładek - wszystkie gry 3D, niezależnie od gatunku, wymagają pewnej formy niskiego poziomu wkładu użytkownika za pomocą joypada, klawiatury i / lub myszy, jakiejś formy renderowania sieci 3D, jakiejś formy głowic. wyświetlacz do góry (HUD) z reprodukcją tekstu w różnych czcionkach, potężny system audio i lista jest długa. Na przykład, podczas gdy silnik Unreal Engine został opracowany do strzelanek FPS, z powodzeniem został wykorzystany do tworzenia gier z wielu innych gatunków, w tym gier symulacyjnych, takich jak Farming Simulator 15 (FS 15 Mods) i The Popular Third Person Shooter- Franczyza Gears of War od Epic Games i hity Batman: Arkham Asylum i Batman: Arkham City od Rocksteady Studios.

[ff id="5"]