우리는아마게임이무엇인지에대한직관적인좋은개념을가지고있을것입니다."게임"이라는용어는체스및독점과같은보드게임, 포커및블랙잭과같은카드게임, 룰렛및슬롯머신과같은카지노게임, 군사전쟁게임, 컴퓨터게임, 어린이들사이의다양한종류의게임을포함하며목록이계속됩니다.학계에서우리는때때로게임이론에대해이야기합니다.여기서여러에이전트가잘정의된게임규칙세트의틀안에서이익을극대화하기위해전략과전술을선택합니다.콘솔또는컴퓨터기반엔터테인먼트의맥락에서사용될때, "게임"이라는단어는일반적으로플레이어제어하의주인공으로서인간형, 동물또는차량을특징으로하는 3 차원가상세계의이미지를연상시킨다.(또는우리사이의오래된간헐천의경우아마도 Pong, Pac-Man 또는 Donkey Kong과같은 2 차원고전의이미지를떠올리게할것입니다.)그의훌륭한저서인게임디자인에대한재미이론에서RaphKoster는게임을정의합니다.플레이어가배우고궁극적으로마스터하는점점더도전적인패턴시퀀스를플레이어에게제공하는대화식경험이될것입니다.Koster의주장은학습과마스터링의활동이패턴을인식함으로써우리가 "얻는"순간에농담이재미있어지는것처럼우리가 "재미"라고부르는것의핵심에있다는것입니다 안심바둑이.
소프트실시간시뮬레이션으로서의비디오게임
대부분의 2 차원및 3 차원비디오게임은컴퓨터과학자들이부드러운실시간대화형에이전트기반컴퓨터시뮬레이션이라고부르는예입니다.의미를더잘이해하기위해이문구를세분화하겠습니다.대부분의비디오게임에서실제세계의일부또는가상세계는컴퓨터로조작할수있도록수학적으로모델링됩니다.이모델은원자또는쿼크수준까지모든세부사항을포함시키는것이명확하지않기때문에현실에대한근사및단순화입니다 (상상현실일지라도).따라서수학적모델은실제또는상상된게임세계의시뮬레이션입니다.근사와단순화는게임개발자의가장강력한도구중하나입니다.능숙하게사용하면크게단순화된모델조차도현실과거의구별되지않고훨씬더재미있을수있습니다.
에이전트기반시뮬레이션은 "에이전트"라고하는많은개별엔티티가상호작용하는시뮬레이션입니다.이것은에이전트가차량, 캐릭터, 불덩어리, 파워도트등대부분의 3 차원컴퓨터게임에매우적합합니다.대부분의게임의에이전트기반특성을고려할때오늘날대부분의게임이객체지향또는적어도느슨하게객체기반의프로그래밍언어로구현되는것은놀라운일이아닙니다.
모든대화형비디오게임은시간시뮬레이션입니다.즉, 가상게임월드모델은동적이므로게임의이벤트와스토리가전개됨에따라게임월드의상태가시간이지남에따라변경됩니다.비디오게임은또한인간플레이어의예측불가능한입력에반응해야합니다.따라서대화식시간시뮬레이션입니다.마지막으로, 대부분의비디오게임은스토리를발표하고실시간으로플레이어입력에응답하여대화형실시간시뮬레이션을만듭니다.
주목할만한예외중하나는전산화체스또는비실시간전략게임과같은턴기반게임범주입니다.그러나이러한유형의게임조차도사용자에게실시간그래픽사용자인터페이스의형태를제공합니다 바둑이pc.
게임엔진이란무엇입니까?
"게임엔진"이라는용어는 1990 년대중반에 id Software의미친인기Doom과같은 1 인칭슈팅게임 (FPS) 게임과관련하여발생했습니다.Doom은핵심소프트웨어구성요소 (예 : 3 차원그래픽렌더링시스템, 충돌감지시스템또는오디오시스템)와플레이어를구성하는예술자산, 게임세계및게임규칙사이를합리적으로명확하게구분하여설계되었습니다. 게임경험.개발자가 "엔진"소프트웨어를최소한으로변경하여새로운예술, 월드레이아웃, 무기, 캐릭터, 차량및게임규칙을만들어게임라이센스를부여하고새로운제품으로재구성함으로써이분리의가치가분명해졌습니다.이는 "개발자 (mod community)"-원래개발자가제공한무료툴킷을사용하여기존게임을수정하여새로운게임을만든개별게이머및소규모독립스튜디오그룹의탄생을의미했습니다.1990 년대말까지, Quake III Arena 및Unreal과같은일부게임은재사용및 "모딩"을염두에두고설계되었습니다.id의 Quake C와같은스크립팅언어를통해엔진을사용자정의할수있게되었으며, 엔진라이센싱은이를개발한개발자에게실행가능한보조수익원이되었습니다. 오늘날게임개발자는게임엔진을라이센스하고주요소프트웨어구성요소의상당부분을재사용하여게임을구축할수있습니다.이관행은여전히 커스텀소프트웨어엔지니어링에상당한투자를필요로하지만사내의모든핵심엔진구성요소를개발하는것보다훨씬경제적일수있습니다.게임과엔진사이의경계선이종종모호합니다.
일부엔진은상당히명확한구별을하는반면, 다른엔진은이둘을분리하려는시도를거의하지않습니다.한게임에서렌더링코드는오크를그리는방법을구체적으로 "알수있습니다".다른게임에서, 렌더링엔진은범용머티리얼및쉐이딩기능을제공할수있으며 "orcness"는전적으로데이터로정의될수있습니다.어떤스튜디오도게임과엔진을완벽하게구분하지않으며,이두구성요소의정의가게임디자인이강화됨에따라종종바뀌는것을고려하면이해할수있습니다.
아마도데이터중심아키텍처는게임엔진이아닌게임소프트웨어와게임엔진을차별화하는것입니다.게임에하드코딩된논리또는게임규칙이포함되어있거나특수한코드를사용하여특정유형의게임객체를렌더링하는경우해당소프트웨어를재사용하여다른게임을만드는것은어렵거나불가능합니다.확장가능하고많은수정없이많은다른게임의기초로사용될수있는소프트웨어에대해서는 "게임엔진"이라는용어를사용해야합니다.
분명히이것은흑백구분이아닙니다.우리는모든엔진이떨어지는재사용성의범위를생각할수있습니다.게임엔진은상상할수있는거의모든게임콘텐츠를재생할수있는범용소프트웨어인 Apple QuickTime 또는 Microsoft Windows Media Player와유사하다고생각할수있습니다.그러나이이상은아직달성되지않았으며결코달성되지않을수도있습니다.대부분의게임엔진은특정하드웨어플랫폼에서특정게임을실행하도록정교하게제작되고미세조정됩니다.그리고가장범용적인멀티플랫폼엔진조차도 1 인칭슈팅게임이나레이싱게임과같은특정장르의게임제작에만적합합니다.게임엔진또는미들웨어구성요소가범용일수록특정플랫폼에서특정게임을실행하는데덜적합하다고말할수있습니다.
이현상은효율적인소프트웨어를설계하는데있어항상절충이수반되므로이러한절충은소프트웨어사용방법및 / 또는실행할대상하드웨어에대한가정을기반으로하기때문에발생합니다.예를들어, 친밀한실내환경을처리하도록설계된렌더링엔진은광대한실외환경을렌더링하는데적합하지않을수있습니다.실내엔진은 BSP (Binary Space Partitioning) 트리또는포털시스템을사용하여카메라에더가까운벽이나물체에의해가려지는지오메트리가그려지지않도록합니다.반면실외엔진은덜정확한오클루전메커니즘을사용하거나전혀사용하지않을수있지만원격객체를최소수로렌더링하기위해 LOD (Level-of-Detail) 기술을적극적으로사용합니다.카메라에가까운형상시도를위해고해상도삼각형메쉬를사용하는동안
보다효율적인렌더링알고리즘및데이터구조와함께더욱빠른컴퓨터하드웨어및특수그래픽카드의출현으로다양한장르의그래픽엔진간의차이점이완화되었습니다.예를들어 1 인칭슈팅엔진을사용하여실시간전략게임을만들수있습니다.그러나일반성과최적사이의상충관계는여전히존재합니다.엔진을특정게임및 / 또는하드웨어게임의특정요구사항및제약조건으로미세조정하여게임을항상더욱인상적으로만들수있습니다.
Comments