목차
1 .어드벤쳐(Adventure) 게임
2. 아케이드(Arcade) 게임
3. 롤플레잉(RPG-Role Playing Game) 게임
4. 시뮬레이션(Simulation) 게임
5. 전략(Strategy) 게임
6. 온라인(Online) / 네트워크 게임
7. 기타-에듀테인먼트(Edutainment) 게임
2. 아케이드(Arcade) 게임
3. 롤플레잉(RPG-Role Playing Game) 게임
4. 시뮬레이션(Simulation) 게임
5. 전략(Strategy) 게임
6. 온라인(Online) / 네트워크 게임
7. 기타-에듀테인먼트(Edutainment) 게임
본문내용
객체는 곡선을 그리면서 부드럽게 움직일 수 있다. 필요하다면 B-Spline의 공식을 적용하는 것도 고려해 볼만하다. Bezier는 곡선의 궤적이 컨트롤 포인트를 통과하지 않기 때문에 문제가 있지만, B-Spline은 곡선이 양쪽 끝단 한쌍을 제외한 모든 컨트롤 포인트를 통과하기 때문에 이런 용도로 충분히 사용할 수 있다. 시작한 점을 하나의 컨트롤 포인트로 보고, DR이 발생한 지점을 역시 하나의 컨트롤 포인트로, 그리고 최종 목적위치를 마지막 컨트롤 포인트로 생각하면 세 점을 갖는 B-Spline을 그릴 수 있다. 실제 적용시는 끝점과 중간점의 다시 그 중간, 중간점과 마지막 점의 중간을 컨트롤 포인트로 잡아 그리면, 선은 우리가 선택한 세 점을 부드럽게 지나는 궤적을 만들 것이다. 이 궤적의 공식을 객체의 움직임에 주면 객체는 DR이 발생했더라도 전혀 부자연스럽지 않은 움직임을 보여줄 수 있다.
다음 공식을 보라. 도달해야 할 위치를 xf로 보고 동기화패킷이 전달된 시점의 ghost의 위치는 x0으로 정의하자. 마찬가지로 간격을 p번으로 나누어 현재 어떤 위치에 있는가를 결정하는 값을 i로 한다. 이때 위와 같은 식을 사용하면 xi는 i에 대한 3차 방정식 곡선을 그리게 된다. 따라서 원래의 1차식보다 좀더 부드러운 곡선을 보여줄 수 있다. 이 공식은 하나의 예일 뿐이며 절대적인 신뢰도를 갖는 것은 아니다. 필요에의해 2차식이나 더 높은 차수의 방정식을 얼마든지 사용할 수 있다. 그러나 필요한 정도로 차수를 조절하는 것이 전체 성능 향상에 기여할 것이다.
☆ 비표준적인 DIS 공식
표준 DIS에서는 동기화시 객체의 위치와 각 좌표계에 대한 속도와 가속도를 전달하도록 되어 있다. 보통 가속도까지 전달하지 않더라도 위치와 속도 정도는 전달한다. 상황에 따라 이런 값들이 전달되지 않거나 네트워크의 부하를 극도로 줄이려는 목적에서 위치만을 전달하는 경우가 있다. 이때는 가속도-속도에 의존한 DIS 표준공식을 사용할 수 없고 전달된 위치만으로 앞으로의 위치를 예측해야 한다. 이 경우 사용할 수 있는 비표준 DIS 공식을 살펴보자.
첫 번째 공식은 동기화 이전의 이동궤적중 한 구간만을 측정하여 그 기울기를 속도로 보고 이동시키는 t에 대한 1차식이다. 객체의 궤적은 직선이 될 것이다.
두 번째 공식은 이동구간 하나를 더 선택해 각 구간의 속도증감을 측정하여 속도와 가속도를 결정하고 이동궤적을 결정하는 방법으로, t에 대한 2차식이므로 곡선궤적을 보여준다. 이런 방법은 항공기나 미사일처럼 빠르며 동시에 속도 변환이 급격하지 않고 일정한 방향성을 갖는 객체의 위치를 시뮬레이션하거나 추적하는데 알맞다.
★ 온라인 게임과 네트워크 게임의 종류
☆ 일대일 게임(Head-To-Head)
▷ Round Based type : 한 사람이 자신의 행동을 취하고, 이어서 다른 사람이 움직이는 방식으로 턴(turn)제라고도 한다. 이 방식은 게임 진행이 실시간이지 않아도 되는 게임에서 이용된다.
▷ Action Based type : 턴(turn)제와는 달리 리얼타임 방식으로 이루어 지는 것으로 양자 중 어떤 사람도 자신의 행동을 취할 수 있다.
☆ 다수 사용자 게임(Multiplayer Game)
▷ Peer Server type : 이는 게임이 클라이언트로 접속하는 기능과 서버로 동작하 는 기능 두가지를 모두 갖도록 설계되는 방식으로 랜에서 적은 숫자의 사람들이 빠르게 게임을 즐기기에 알맞다.
▷ Remote Server type : 이는 하나의 서버를 만들어서, 이 서버는 플레이에 참여하지 않고 플레이어들간의 메시지 전달과 조정을 담당하게 하는 것이 좋다. 이 형태는 시스템 성능이 아주 좋고 넓은 대역폭의 라인을 가지고 있어야 한다.
★ 네트워크 게임제작 방법
☆ Peer to Peer Network Game
이는 윈속(Winsock)을 사용하거나 또는 Direct Play를 이용해서 한 사람을 호스트로 만들고, 다른 사람들은 여기에 연결해서 게임을 플레이한다. 호스트가 된 사람에게 다소 부하가 집중되는 경향은 있지만 이때는 플레이어의 숫자가 많지 않으므로 별로 상관없다. 또한, 이때 어떤 프로토콜을 사용해서 접속하게 되는지를 잘 생각해야 한다.
☆ Client to Server Game
이는 게임 프로그래밍이라고 특징 짓지 않고 전형적인 클라이언트-서버 프로그래밍이라고 생각해도 된다.
▷ 클라이언트 사이드 프로그래밍 : 이는 보통의 윈도우 게임을 제작하는 것과 별 차이가 없다. 단, DX SDK를 써서 만들지만, Direct Play를 사용하지 않고 TCP/IP를 직접 쓰는 윈속 프로그래밍을 한다.
▷ 서버 사이드 프로그래밍 : 이 부분에선 소켓을 만드는 것과 많은 자료를 기록하고 읽어들이는 것과 실시간으로 변경하는 알고리즘 부분으로 나뉜다. 이 부분은 특성상 데이터를 정기적으로 파일에 쓰여지므로 오라클등의 프로그램을 사용하기도 하고 유닉스나 리눅스에서는 gcc등의 공개 컴파일러를 사용해서 서버측 프로그램을 처리한다.
실제 게임에 사용되는 기술적인 내용과 프로그래밍들은 Direct Play 부분을 참고하세요
기타-에듀테인먼트(Edutainment) 게임
교육용 게임
교육용 게임에는 퍼즐게임, 학습게임, 음악게임, 기타 교육적 목적을 가지고 제작한 게임등으로 게임제작에 있어서 게어머에게 흥미를 유발할 수 있어야 하며, 또한 너무 딱딱한 내용으로 일관하여 지루함을 준다면 더 이상 게이머 에게 큰 호흥을 주지 못할 것이다.
즉, 자연스럽게 게임을 하면서 교육적인 효과를 볼 수 있는 게임이야말로 국내와 같은 교육열 속에서 크게 성장할 잠재력을 가지고 있다고 할 수 있다.
통신용 게임
통신용 게임이란 인터넷을 통해 상대방과 게임을 통해 승부를 가릴수 있는 방식의 게임이 아닐까 ?
최근에는 즉석 미팅게임, 음악 연주 게임등 새로운 장르로 자리를 잡아가고 있는 게임 방식중의 하나이다.
▶ 출처 및 참고사이트
▷ http://www.gameis.com/Korean/Game_Intro/About_Game.htm
▷ http://ylsi2000.com.ne.kr/
다음 공식을 보라. 도달해야 할 위치를 xf로 보고 동기화패킷이 전달된 시점의 ghost의 위치는 x0으로 정의하자. 마찬가지로 간격을 p번으로 나누어 현재 어떤 위치에 있는가를 결정하는 값을 i로 한다. 이때 위와 같은 식을 사용하면 xi는 i에 대한 3차 방정식 곡선을 그리게 된다. 따라서 원래의 1차식보다 좀더 부드러운 곡선을 보여줄 수 있다. 이 공식은 하나의 예일 뿐이며 절대적인 신뢰도를 갖는 것은 아니다. 필요에의해 2차식이나 더 높은 차수의 방정식을 얼마든지 사용할 수 있다. 그러나 필요한 정도로 차수를 조절하는 것이 전체 성능 향상에 기여할 것이다.
☆ 비표준적인 DIS 공식
표준 DIS에서는 동기화시 객체의 위치와 각 좌표계에 대한 속도와 가속도를 전달하도록 되어 있다. 보통 가속도까지 전달하지 않더라도 위치와 속도 정도는 전달한다. 상황에 따라 이런 값들이 전달되지 않거나 네트워크의 부하를 극도로 줄이려는 목적에서 위치만을 전달하는 경우가 있다. 이때는 가속도-속도에 의존한 DIS 표준공식을 사용할 수 없고 전달된 위치만으로 앞으로의 위치를 예측해야 한다. 이 경우 사용할 수 있는 비표준 DIS 공식을 살펴보자.
첫 번째 공식은 동기화 이전의 이동궤적중 한 구간만을 측정하여 그 기울기를 속도로 보고 이동시키는 t에 대한 1차식이다. 객체의 궤적은 직선이 될 것이다.
두 번째 공식은 이동구간 하나를 더 선택해 각 구간의 속도증감을 측정하여 속도와 가속도를 결정하고 이동궤적을 결정하는 방법으로, t에 대한 2차식이므로 곡선궤적을 보여준다. 이런 방법은 항공기나 미사일처럼 빠르며 동시에 속도 변환이 급격하지 않고 일정한 방향성을 갖는 객체의 위치를 시뮬레이션하거나 추적하는데 알맞다.
★ 온라인 게임과 네트워크 게임의 종류
☆ 일대일 게임(Head-To-Head)
▷ Round Based type : 한 사람이 자신의 행동을 취하고, 이어서 다른 사람이 움직이는 방식으로 턴(turn)제라고도 한다. 이 방식은 게임 진행이 실시간이지 않아도 되는 게임에서 이용된다.
▷ Action Based type : 턴(turn)제와는 달리 리얼타임 방식으로 이루어 지는 것으로 양자 중 어떤 사람도 자신의 행동을 취할 수 있다.
☆ 다수 사용자 게임(Multiplayer Game)
▷ Peer Server type : 이는 게임이 클라이언트로 접속하는 기능과 서버로 동작하 는 기능 두가지를 모두 갖도록 설계되는 방식으로 랜에서 적은 숫자의 사람들이 빠르게 게임을 즐기기에 알맞다.
▷ Remote Server type : 이는 하나의 서버를 만들어서, 이 서버는 플레이에 참여하지 않고 플레이어들간의 메시지 전달과 조정을 담당하게 하는 것이 좋다. 이 형태는 시스템 성능이 아주 좋고 넓은 대역폭의 라인을 가지고 있어야 한다.
★ 네트워크 게임제작 방법
☆ Peer to Peer Network Game
이는 윈속(Winsock)을 사용하거나 또는 Direct Play를 이용해서 한 사람을 호스트로 만들고, 다른 사람들은 여기에 연결해서 게임을 플레이한다. 호스트가 된 사람에게 다소 부하가 집중되는 경향은 있지만 이때는 플레이어의 숫자가 많지 않으므로 별로 상관없다. 또한, 이때 어떤 프로토콜을 사용해서 접속하게 되는지를 잘 생각해야 한다.
☆ Client to Server Game
이는 게임 프로그래밍이라고 특징 짓지 않고 전형적인 클라이언트-서버 프로그래밍이라고 생각해도 된다.
▷ 클라이언트 사이드 프로그래밍 : 이는 보통의 윈도우 게임을 제작하는 것과 별 차이가 없다. 단, DX SDK를 써서 만들지만, Direct Play를 사용하지 않고 TCP/IP를 직접 쓰는 윈속 프로그래밍을 한다.
▷ 서버 사이드 프로그래밍 : 이 부분에선 소켓을 만드는 것과 많은 자료를 기록하고 읽어들이는 것과 실시간으로 변경하는 알고리즘 부분으로 나뉜다. 이 부분은 특성상 데이터를 정기적으로 파일에 쓰여지므로 오라클등의 프로그램을 사용하기도 하고 유닉스나 리눅스에서는 gcc등의 공개 컴파일러를 사용해서 서버측 프로그램을 처리한다.
실제 게임에 사용되는 기술적인 내용과 프로그래밍들은 Direct Play 부분을 참고하세요
기타-에듀테인먼트(Edutainment) 게임
교육용 게임
교육용 게임에는 퍼즐게임, 학습게임, 음악게임, 기타 교육적 목적을 가지고 제작한 게임등으로 게임제작에 있어서 게어머에게 흥미를 유발할 수 있어야 하며, 또한 너무 딱딱한 내용으로 일관하여 지루함을 준다면 더 이상 게이머 에게 큰 호흥을 주지 못할 것이다.
즉, 자연스럽게 게임을 하면서 교육적인 효과를 볼 수 있는 게임이야말로 국내와 같은 교육열 속에서 크게 성장할 잠재력을 가지고 있다고 할 수 있다.
통신용 게임
통신용 게임이란 인터넷을 통해 상대방과 게임을 통해 승부를 가릴수 있는 방식의 게임이 아닐까 ?
최근에는 즉석 미팅게임, 음악 연주 게임등 새로운 장르로 자리를 잡아가고 있는 게임 방식중의 하나이다.
▶ 출처 및 참고사이트
▷ http://www.gameis.com/Korean/Game_Intro/About_Game.htm
▷ http://ylsi2000.com.ne.kr/