모바일 메뉴 닫기
 
  • home
  • 연구실/실험실
  • 게임물리실험실

게임물리실험실

게임물리학 트랙(Game Physics Track)

개요

게임물리학은 Game Physics를 글자 그대로 옮긴 용어로 처음 듣는 사람에게는 다소 생소하게 들릴 수 있다. 게임 개발에 필요한 물리학을 줄인 말로 주로 컴퓨터 그래픽스 분야에서 사용되고 있다. 최근 개인용 컴퓨터의 성능이 급속도로 좋아지고 3차원 영상을 실시간으로 처리할 수 있게 되면서 컴퓨터 게임에 등장하는 캐릭터와 물체들의 움직임이 자연스러워지고 있다. 고전역학의 다양한 물리법칙들을 컴퓨터 게임이라는 가상공간에 적용한 결과이다.

확대

위 그림은 국내에서 아주 유행했던 온라인 레이싱 게임의 하나인 카트라이더를 소개한 웹 페이지의 일부분을 발췌한 것이다. 마지막 문장인 "카트의 움직임 또한 최신의 물리엔진을 사용해 생동감 있고 짜릿한 느낌을 만끽하실 수 있습니다."에서 물리엔진(Physics Engine)이란 단어는 게임물리학을 구현하는 컴퓨터 프로그램을 뜻하는 것으로 물리 시뮬레이션이 컴퓨터 게임에서 매우 중요한 위치를 차지하고 있음을 시사하고 있다. 레이싱 게임뿐만 아니라 슈팅게임 그리고 골프와 같은 스포츠 게임에서 물리학은 이제 게임의 성패를 좌우하는 결정적인 요소가 되었고 그 비중은 점점 더 커질 것이다.

물리학과컴퓨터 및 게임물리학교과목

물리학과컴퓨터 교과목에서 입자의 포물선 운동 예제 : VPython 프로그래밍

게임물리학 교과목에서는 앞서 배운 기초지식들을 기반으로 게임을 직접 만들어가면서 게임에 필요한 물리학과 알고리즘을 학습하게 된다. 학생들에게는 총 3개의 게임 또는 시뮬레이션이 주어진다.

  • (1) 슈팅(Shooting)게임
  • (2) 알까기 게임
  • (3) 유산탄(Shrapnel) 시뮬레이션

유산탄 시뮬레이션의 경우는 게임은 아니며 고전역학의 입자계를 포탄이 폭발하는 시뮬레이션에 적용하는 문제로 난이도가 가장 높은 문제이다. 마지막 그림은 한 학부생이 만든 당구게임의 Screen Shot이다.

Python과 VPython

게임물리학을 학습하는데 물리학과 학생들에게 가장 큰 걸림돌은 3차원 가상공간을 구현하는 일이다. 물리학을 전공하는 학생들에게 컴퓨터 공학의 윈도우 프로그래밍과 DirectX나 OpenGL과 같은 컴퓨터 그래픽스 지식을 요구할 수 없기 때문이다. 문제는 BASIC컴퓨터 프로그래밍 언어와 같이 초보자에게 아주 쉬우면서도 실시간으로 3차원 그래픽스를 제공하는 컴퓨터 프로그래밍 언어를 학생들에게 제공하는 것이다. 이에 적합한 언어로 본 트랙에서는 VPython을 택하였다. VPython은 Python 컴퓨터 프로그래밍 언어에 Visual 모듈(Module)을 합친 것으로 2000년에 David Scherer에 의해서 개발되었다. 1990년에 Guido van Rossum에 의해서 창안된 객체지향언어인 Pyhon을 근간으로 하고 있기 때문에 누구나 자유롭게 사용할 수 있는 장접이 있다. Python은 배우기가 매우 쉬우며 다양한 플랫폼(Windows, Mac, Linux)에서 실행이 가능하다.

표준 수강 교과목 로드맵
  • 1학년 : 일반물리학및실험I,II
  • 2학년 : 물리학과컴퓨터, 역학I,II, 응용해석I,II, 전산물리학I
  • 3학년 : 게임물리학, 전산물리학II
  • 4학년 : 물리학특강I,II(Maya), 연구프로젝트I,II
  • 대학원 : 물리기반모델링I,II
취업 가능 분야

게임 또는 디지털 콘텐츠 산업의 물리학 프로그래밍 분야

게임물리연구실

이종완 교수님(1241호, jwlee@hallym.ac.kr), 실험실(1252호)