기본 콘텐츠로 건너뛰기

닌텐도가 게임을 제작하는 특별한 방법 (2)

    목차

▲이 글의 대부분은 Game Maker's Toolkit의 Nintendo - Putting Play First 영상에서 인용하였습니다.

닌텐도는 'Form follows function' 즉 '기능은 형태를 따른다'는 법칙을 잘 따릅니다.
어떻게 생겼는지가 어떻게 행동하는지를 결정한다는 것 입니다.

부끄부끄가 마리오가 쳐다보면 부끄러워하는 것과

슈퍼 마리오에서 쿼터백 처럼 생긴 적이 마리오를 향해 달려오는 것이 그러한 이유입니다.


이런 기능은 형태를 따른다는 것은 게임의 일부분이 아니라 게임의 전반적인 중심 컨셉을 만들기도 했습니다.

스플래툰은 프로토타입 단계에서 그저 네모난 흰 상자가 물총을 쏘는 게임이었습니다.
잉크를 쏘고 잉크 속으로 들어가는 등의 컨셉을 가장 잘 나타낼 수 있는 캐릭터가 지금 스플래툰의 오징어 캐릭터인 것입니다.

2010년 발매한 털실 커비 이야기에서는 털실로 된 커비가 등장하기 때문에 기존의 별의 커비 시리즈에서는 볼 수 없었던 털실을 이용한 새로운 컨셉들이 만들어지기도 했습니다.

게임의 중심 컨셉을 그 게임의 세계에서 유기적으로 작용하게 만드는 것이 닌텐도가 게임을 재미있게 만드는 힘입니다.

털실 커비 이야기의 특별한 게임 플레이
또한 스프래툰의 잉크 발사는 마치 스프레이를 뿌리는 것과 비슷하다고 여겼기 때문에, 게임에 펑키한 음악과 세계관을 만들었고,
비슷하게 슈퍼 마리오 션샤인에서는 물총을 이용한 게임 플레이가 여름을 생각하게 만들었기 때문에 게임의 배경이 해변과 열대 섬이 되기도 했습니다.

이처럼 게임의 중심적인 기믹을 만들고 그에 알맞는 배경과 음악, 세계관 등을 만들고 반대로 배경에 맞는 중심 컨셉을 만들 수도 있는 이 닌텐도의 '형태는 기능을 따른다'라는 말의 핵심입니다.

펑키한 스타일의 스플래툰
젤다의 전설 시리즈는 닌텐도의 게임 중 가장 다양하고 완성도 높은 시리즈로 여겨집니다.
젤다의 전설은 닌텐도의 게임 중 비교적 복잡한 스토리와 세계관이 등장하는 게임이지만, 이 스토리는 내러티브의 일부가 아니고 '이와타 사토루'의 말을 인용하면 "최고의 즐거움과 재미있는 게임 플레이 요소를 끌어내기 위한 역할을 합니다."라고 합니다.

그만큼 닌텐도는 게임 플레이 외적인 요소 보다는 게임 플레이에 있어서 어떻게 재밌고 새로운 게임을 만들 수 있을 것인지에 대해 고민하고 있다는 것입니다.

젤다의 전설 : 신들의 트라이포스2에서 미친 화가가 악당으로 등장하는 이유도 주인공 링크가 그림으로 변한다는 컨셉에 맞추기 위해서였고,
'미야모토 시게루'가 어린 링크과 어른 링크를 함께 게임에 넣고 싶어서 만들어 진 것이 시간 여행을 한다는 컨셉의 젤다의 전설 : 시간의 오카리나가 된 것입니다.

이런 방식으로 게임의 스토리를 만든다는 것이 이상하게 보일 수도 있지만 '시간의 오카리나'라는 메인 플롯으로 스토리를 진행하고 그것이 이 게임의 중심 컨셉이 된다면 그 컨셉과 게임의 스토리가 유기적으로 작용하고 서로 연관성이 있다고 느끼게 만들 수 있습니다.


닌텐도 게임들의 스토리, 음악, 배경, 적, 주인공, 그래픽, 레벨 디자인 등 모든 요소들은 모두 게임을 어떻게 플레이 하느냐에 따릅니다.
그저 좋아진 그래픽의 새로운 게임, 달라진 스토리의 새로운 게임 등이 아니라 새로운 재미를 가진 게임을 만드는 것입니다.

그렇기 때문에 플레이어들은 닌텐도의 게임이 항상 새롭게 다가오고 또 다른 새로운 플레이를 기대하고, 닌텐도의 새로운 게임을 기대하게 만듭니다.

댓글

이 글도 관심 있으실 것 같아요!

놀이의 4대 요소 (Agon(아곤), Mimicry(미미크리), Ilinx(일링크스), Alea(알레아))

네덜란드의 고전 학자인 '요한 하위징아'의 저서인 「호모 루덴스 」에서 인간을 '유희의 인간'이라고 칭했습니다. 프랑스의 '로제 카유아'라는 학자는 「호모 루덴스 」의 이론을 발전시켜 그의 저서인 「놀이와 인간」 (원제 「 Man, plays and games 」) 에서 ‘놀이의 4대 요소’를 말했습니다. 저자는 그것을 아곤, 미미크리, 알레아, 일링크스로 소개했습니다. 이 네 가지 놀이의 요소는 인간의 모든 유희, 놀이에서 발전되어 현대의 비디오 게임에서도 매우 중요한 이론으로 알려져있습니다. 먼저, 아곤(Agon), 경쟁 아곤은 놀이의 주체와 객체간의 경쟁을 의미합니다. 사람들은 경쟁에서 승리함으로써 성취감을 얻고, 우월감을 느끼게 합니다. 이 아곤을 현대의 게임에 대입 시켜보면 경쟁은 최근 가장 많이 플레이 하는 게임 중 하나인 ‘배틀 그라운드’나 ‘리그 오브 레전드’같은 게임들도 경쟁에 기반이 되어있고, 혼자 플레이 하는 게임에서도 자기 자신과의 경쟁, AI와의 경쟁 등이 포함되어있습니다. 예를 들어, 슈퍼 마리오 같은 게임에서도 플레이어들은 어떻게 이 게임을 더 빨리 클리어하기 위해 경쟁하고, 더 많은 점수를 받기 위해 노력합니다. 또한 비교적 MMR시스템이 잘 짜여져있는 '리그 오브 레전드'같은 AOS게임에서도 플레이어의 등급을 결정하는 랭크 게임 시스템이 중점적으로 돌아가고 있고, '오버워치'의 경쟁전 등 많은 게임에서 이런 경쟁을 유도하는 시스템을 만들어 놓았습니다. 게임을 계속 플레이하게 만드는 가장 큰 요소가 아곤입니다. 많은 게임에서 플레이어의 경쟁을 어떻게 잘 이끌어 나갔느냐에 따라서 그 게임의 성공이 나뉠 수도 있습니다. 미미크리(Mimicry), 역할 미미크리는 역할을 의미합니다. 사람들은 실제 세계에서 하지 못하는 일들을 놀이에서 느끼면서 큰 기쁨을 느낄 수 있습니다. 이 역할은 롤플레...

FastAPI 실시간 영상 스트리밍 OpenCV

  FastAPI와 OpenCV를 활용한 실시간 영상 스트리밍 Permalink 실시간 영상을 스트리밍 하는 방법을 찾던 중 파이썬 FastAPI를 활용한 방법을 시도 해보았다. 필수 라이브러리 Permalink 필요한 것은 Python3.9버전 (애플 M1칩셋 맥북에어에서 3.8 버전으로 시도 해보니 OpenCV라이브러리 설치에서 문제가 발생했었다) FastAPI uvicorn OpenCV 정도면 될 것 같다. 라이브러리들은 모두 설치 되었다고 가정 하고, 예제 코드 Permalink # main.py # 라이브러리 import # StreamingResponse를 가져와야함 from fastapi import FastAPI from fastapi.responses import StreamingResponse # cv2 모듈 import from cv2 import get_stream_video # FastAPI객체 생성 app = FastAPI () # openCV에서 이미지 불러오는 함수 def video_streaming (): return get_stream_video () # 스트리밍 경로를 /video 경로로 설정. @ app . get ( "/video" ) def main (): # StringResponse함수를 return하고, # 인자로 OpenCV에서 가져온 "바이트"이미지와 type을 명시 return StreamingResponse ( video_streaming (), media_type = "multipart/x-mixed-replace; boundary=frame" ) # cv2.py import cv2 def get_stream_video (): # camera 정의 cam = cv2 . VideoCapture ( 0 ) while True : ...

Python FastAPI 알아보고 설치하고 초기 설정 해보기

  Python FastAPI, 설치하고 초기 설정 해보기 Permalink 파이썬 웹 서버를 만들어야 하는 일이 생겼늗데, 최대한 빠르고 안정적인 서버를 선택 해야했다. 그래서 기존에 사용하던 Flask보다 훨씬 빠르다고 하는 FastAP를 사용해보기로 했다. ❓ FastAPI란? Permalink 👉 FastAPI 공식 한국어 페이지  https://fastapi.tiangolo.com/ko/ FastAPI는 현대적이고, 빠르며(고성능), 파이썬 표준 타입 힌트에 기초한 Python3.6+의 API를 빌드하기 위한 웹 프레임워크입니다. FastAPI는 파이썬에서 사용 가능한 웹 프레임워크 중 하나인데, Flask나 Django보가 훨씬 빠른 속도를 보여준다고 하고, 확인 해봐야 하겠지만 Go언어와도 비슷한 속도를 보여준다고 한다. 또, 쉽고 간결한 코드, 200% ~ 300% 까지 증가하는 개발 속도를 기대할 수 있다고 하는데, 시작 해보자! 👏 Permalink FastAPI 설치 Permalink 먼저 공식 사이트에선 pip를 이용해 설치 하라고 나와있는데, 나는 anaconda를 이용해서 설치를 했다. bash $ pip install fastapi anaconda 사용 시 $ conda install fastapi 그리고 ASGI서버도 필요해서 같이 설치하라고 하는데, Univorn을 설치 해보자. bash $ pip install uvicorn[standard] anaconda 사용 시 $ conda install uvicorn FastAPI 예제 Permalink 설치가 완료되면 이렇게 vscode에서 FastAPI() 클래스가 자동 완성 되는걸 확인할 수 있다. 그리고 정말 간단히 API를 만들 수 있는데, main.py 파일을 만든 후에 from typing import Optional from fastapi import FastAPI app = FastAPI () @ app . get ( "/"...