본 논문은 Visual C#을 이용한 프로그램 기법인 XNA 게임 개발에 관한 것이다. 게임에 필요한 화면 설계, 게임 구현 및 실험 부분에서 게임의 실행화면과 기존의 게임의 차별성과 알고리즘을 제시하였으며, XNA기반의 슈팅게임을 구현하였다. XNA기반 게임 개발환경에서 게임개발의 이펙트 효과 알고리즘 설계 및 구현에 대한 내용을 제안하였다. 게임개발에서 기존의 Directx C++를 사용하여 게임개발을 하는 것은 게임개발자 입장에서 소스코드가 많이 필요하며, 특히 이펙트 효과부분의 처리에서 많은 어려움이 있었다. 그러나 제안한 논문에서는 이러한 어려움을 해소하고, XNA기반에서 게임개발의 가능성을 보였다. 제안한 논문의 우수성을 위해 기존의 게임과의 성능분석을 하였으며, 게임개발을 위한 설계를 하였고, 게임구현 환경 및 게임 실행 화면을 보였다. 향후 XNA기반 게임 개발에 대한 발전에 기여 할 것으로 기대한다.
본 논문은 Visual C#을 이용한 프로그램 기법인 XNA 게임 개발에 관한 것이다. 게임에 필요한 화면 설계, 게임 구현 및 실험 부분에서 게임의 실행화면과 기존의 게임의 차별성과 알고리즘을 제시하였으며, XNA기반의 슈팅게임을 구현하였다. XNA기반 게임 개발환경에서 게임개발의 이펙트 효과 알고리즘 설계 및 구현에 대한 내용을 제안하였다. 게임개발에서 기존의 Directx C++를 사용하여 게임개발을 하는 것은 게임개발자 입장에서 소스코드가 많이 필요하며, 특히 이펙트 효과부분의 처리에서 많은 어려움이 있었다. 그러나 제안한 논문에서는 이러한 어려움을 해소하고, XNA기반에서 게임개발의 가능성을 보였다. 제안한 논문의 우수성을 위해 기존의 게임과의 성능분석을 하였으며, 게임개발을 위한 설계를 하였고, 게임구현 환경 및 게임 실행 화면을 보였다. 향후 XNA기반 게임 개발에 대한 발전에 기여 할 것으로 기대한다.
In this paper, by using Visual C # XNA game development application relates to a technique. This paper proposes the design and an implement effective algorithms Effect Based on XNA Game Development Environment. Existing in the development of the game using Directx C++ game developers, game developme...
In this paper, by using Visual C # XNA game development application relates to a technique. This paper proposes the design and an implement effective algorithms Effect Based on XNA Game Development Environment. Existing in the development of the game using Directx C++ game developers, game development, it is necessary to position a lot of the source code. Particularly effective effect was much difficulty in the processing section. However, to eliminate this difficulty was proposed in the paper. The possibility of developing the game in XNA-based group. For the superiority of the proposed paper and the comparative analysis of existing games were designed for the development of the game was. The future study will be the design of various effects and events which give more immersive game implementation.
In this paper, by using Visual C # XNA game development application relates to a technique. This paper proposes the design and an implement effective algorithms Effect Based on XNA Game Development Environment. Existing in the development of the game using Directx C++ game developers, game development, it is necessary to position a lot of the source code. Particularly effective effect was much difficulty in the processing section. However, to eliminate this difficulty was proposed in the paper. The possibility of developing the game in XNA-based group. For the superiority of the proposed paper and the comparative analysis of existing games were designed for the development of the game was. The future study will be the design of various effects and events which give more immersive game implementation.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
많은 함수나 기능을 익혀야 하고, 특히 그래픽 처리나, 사운드 처리, 파일 입출력 처리 등에 많은 어려움을 겪게 된다. 이와 같은 어려움을 극복하고, 보다 쉬운 게임개발을 하기 위하여 XNA를 사용하여 게임개발을 제안하고자 한다.
제안 방법
게임 개발을 위하여, NET Framework와 XNA Framework를 기반으로 설계하였다. 그래픽, 오디오, 입력과 출력 등과 같은 프로그램 구현은 XNA Framework을 통하여 처리하였고, C#언어를 사용하여 구현하였다.
게임 실행 화면에서 아군기를 전투기, 또한 적기 1대의 전투기와 적기의 보스로서 디자인 배치하고, 점수와 HP가 출력되도록 하여 [그림 7]에서처럼 설계한다. 또한 유도탄이 발사 되면 유도탄의 구름이미지도 나타나도록 설계한다.
게임실행화면에서 처음에 시작하면 [그림 11]에서처럼 스크롤 기법을 이용하여 그림의 배경이 스크롤 되는 것으로 구현하였으며, 이펙트 효과 처리에서도 알고리즘을 사용하여 여러 가지의 기능을 구현하였으며, 아군기와 적기의 등장, 구름 효과 등을 볼 수 있다.
게임을 시작할 때 이미지를 로드하는 시간 동안 ‘Loading’이라고 글자가 출력되도록 하여 게임 시작화면을 나타내도록 하여 사용자로 하여금 기다리는 지루함을 없앨 수 있도록 설계한다.
아울러 사용자의 메뉴 버튼과 단축키를 제공하여 사용자가 선택하여 사용자의 선호하는 메뉴 방식을 선택하도록 설계하였다. 게임의 흥미를 높이기 위해 배경음악과 이벤트 음악을 설정하였다.
게임 개발을 위하여, NET Framework와 XNA Framework를 기반으로 설계하였다. 그래픽, 오디오, 입력과 출력 등과 같은 프로그램 구현은 XNA Framework을 통하여 처리하였고, C#언어를 사용하여 구현하였다. 게임을 실행하면, 게임에 필요한 오프닝화면과 게임 로딩하는 화면을 보여준다.
슈팅게임을 구현하는데 어려가지의 구현방법이 있고, 다양한 언어를 사용하게 된다. 그러나 본 논문에서는Visual C#을 이용하여 구현하는 방식의 프로그램 기법인 XNA 게임 개발 설명과, 이펙트효과, 게임의 몰입현상과 게임요소를 기술하였고, C++를 이용한 게임개발의 어려움, 게임에 필요한 화면 설계, 게임 구현 및 실험 부분에서 게임의 실행화면과 기존의 게임의 차별성과 알고리즘을 제시하였으며, XNA기반의 슈팅게임의 구현과 구현에서 필요한 이펙트 효과와 알고리즘을 제시하였다. 기존의 게임개발에서 C++를 사용하여 개발한 슈팅게임과 XNA를 사용하여 개발한 슈팅게임과의 비교 분석에서 XNA를 사용하여 개발한 프로그램의 기법에서 프로그램의 효율성이 높다는 것을 보였고, 이펙트 효과의 기법의 실행화면을 제시하였으며, 이미지 설계나 화면 설계에서 보다 자연스러움과 사용자들에게 보다 친숙하면서 지루하지 않는 내용의 이펙트나 이벤트 처리를 강화하여 설계 구현하여 게임실행 화면을 보였다.
비행 슈팅 게임에서 속도감을 느낄 수 있도록 하기 위하여 다중스크롤 기법을 이용하여 구현하였다. 배경 이미지를 이동하여 스크롤 되도록 하였다.
배너로 사용할 텍스쳐(이미지)를 로딩하여 특정 시점에 서서히 나타나고, 서서히 사라지도록 하였다.
실행화면에서 적기 2개와 보스1개, 아군기 1개를 배치하여 실행되도록 하며, 적기를 명중할 때 마다 점수가 가산되어 출력되도록 하였다.
게임 개발자가 게임을 개발할 때에 여러 가지 컴퓨터 언어를 사용하고, 도구를 사용하지만, 많은 게임개발자들은 Visual Studio C++언어를 사용하여 게임을 개발한다. 아울러 DirectX의 라이브러리를 사용하여 여러 가지 기능과 그래픽 처리, 입출력 처리, 충돌처리, 이펙트 효과 등을 처리한다. 그러나 경험이 많은 게임개발자는 게임을 개발하는데 익숙하여 문제가 없겠으나, 대학에서 공부하고 있는 학생들 중에 전공이 게임 관련학과 학생들이나 초기의 게임개발자들에게는 DirectX 라이브러리를 사용하여 개발하는 데는 많은 시간과 구현하는데 어려움이 따른다.
메뉴는 사용자의 편리성을 높이기 위하여 화면에서 사용자의 버튼을 만들고, 아울러 윈도우 메뉴도구에 메뉴를 만들어서 사용자의 편리성을 제공하도록 한다. 아울러 사용자의 메뉴 버튼과 단축키를 제공하여 사용자가 선택하여 사용자의 선호하는 메뉴 방식을 선택하도록 설계하였다. 게임의 흥미를 높이기 위해 배경음악과 이벤트 음악을 설정하였다.
이펙트 효과로 사용할 이미지인 유도탄 이미지와 게임 실행 도중 게임의 현재 사용하는 파워를 나타내는 HP 이미지를 디자인 한다. 아울러 실행도중 유도탄 연기 이미지가 필요하여, 이에 필요한 이미지를 디자인 한다. [그림 1]과 [그림 2]는 유도탄 이미지, [그림 3]은 파워이미지, [그림 4]는 게임에서 사용되어 질 유도탄 연기이미지를 설계하였다.
종료화면에 대한 객체 디자인은 [표 5]에서처럼 object 1개, 텍스트 2개로서, “Game Over" 라는 글자가 출력되도록 설계하였다.
대상 데이터
게임 시작 또는 종료 시 현재 스테이지를 알리거나 게임 종료를 알려주는 텍스트 배너는 윈도우 폰트를 사용하지 않고 포토샵 등에서 생성한 이미지를 사용하였다.
이펙트 효과로 사용할 이미지인 유도탄 이미지와 게임 실행 도중 게임의 현재 사용하는 파워를 나타내는 HP 이미지를 디자인 한다. 아울러 실행도중 유도탄 연기 이미지가 필요하여, 이에 필요한 이미지를 디자인 한다.
이론/모형
비행 슈팅 게임에서 속도감을 느낄 수 있도록 하기 위하여 다중스크롤 기법을 이용하여 구현하였다. 배경 이미지를 이동하여 스크롤 되도록 하였다.
성능/효과
그러나 본 논문에서는Visual C#을 이용하여 구현하는 방식의 프로그램 기법인 XNA 게임 개발 설명과, 이펙트효과, 게임의 몰입현상과 게임요소를 기술하였고, C++를 이용한 게임개발의 어려움, 게임에 필요한 화면 설계, 게임 구현 및 실험 부분에서 게임의 실행화면과 기존의 게임의 차별성과 알고리즘을 제시하였으며, XNA기반의 슈팅게임의 구현과 구현에서 필요한 이펙트 효과와 알고리즘을 제시하였다. 기존의 게임개발에서 C++를 사용하여 개발한 슈팅게임과 XNA를 사용하여 개발한 슈팅게임과의 비교 분석에서 XNA를 사용하여 개발한 프로그램의 기법에서 프로그램의 효율성이 높다는 것을 보였고, 이펙트 효과의 기법의 실행화면을 제시하였으며, 이미지 설계나 화면 설계에서 보다 자연스러움과 사용자들에게 보다 친숙하면서 지루하지 않는 내용의 이펙트나 이벤트 처리를 강화하여 설계 구현하여 게임실행 화면을 보였다. 제안한 알고리즘에서 효과음처리 또는 배경음악을 처리할 때 문제점은 기존의 배경음악이 출력되고 있는 도중 이벤트 효과음을 처리하고자 할 때 기존의 배경음악을 중복적으로 출력되는 문제점이 있었는데 알고리즘에서 해결방안을 제시하였다.
기존의 게임들은 DirectX를 이용하여 visual c++로 구현하였을 경우, 비슷한 기능의 게임을 제작할 때 프로그램의 코드의 양이 상당히 많이 필요하지만, C#을 이용한 XNA 기반의 게임 구현에서는 코드의 양이 70% 정도 감소하였으며, 하드웨어 접근의 용이성 부분에서 XNA를 사용하면 입력장치나 오디오, 그래픽 장치의 접근이 단 소스 몇 줄로 접근을 쉽게 할 수 있다. 애니메이션 기법에서도 제안한 게임이 더 좋은 점수를 부여 받았음을 보여 주고 있다.
아울러 프로그램 개발자의 입장에서 본 게임개발의 어려움은 상대적으로 C#을 이용하여 게임개발이 더 쉽게 접근할 수 있음을 보였고, 게임 개발에서 이미지를 로드하는 부분의 코드처리에서도 기존의 Directx를 사용한 게임소스코드는 많은 부분이 필요하지만 제안한 게임에서는 단지 리소스부분에 필요한 이미지를 로드하여 줌으로써 게임개발을 쉽게 접근 할 수 있다는 것을 보여주었다. 본 논문에서 구현한 게임은 기존의 게임 제작에서보다 효율적인 차별성을 [표 10]에서 보여주고 있다. 아울러 알고리즘에서 효과음처리 또는 배경음악을 처리할 때 문제점은 기존의 배경음악이 출력되고 있는 도중 이벤트 효과음을 처리하고자 할 때 기존의 배경음악을 중복적으로 출력되는 문제점이 있었다.
애니메이션 기법에서도 제안한 게임이 더 좋은 점수를 부여 받았음을 보여 주고 있다. 아울러 프로그램 개발자의 입장에서 본 게임개발의 어려움은 상대적으로 C#을 이용하여 게임개발이 더 쉽게 접근할 수 있음을 보였고, 게임 개발에서 이미지를 로드하는 부분의 코드처리에서도 기존의 Directx를 사용한 게임소스코드는 많은 부분이 필요하지만 제안한 게임에서는 단지 리소스부분에 필요한 이미지를 로드하여 줌으로써 게임개발을 쉽게 접근 할 수 있다는 것을 보여주었다. 본 논문에서 구현한 게임은 기존의 게임 제작에서보다 효율적인 차별성을 [표 10]에서 보여주고 있다.
기존의 게임개발에서 C++를 사용하여 개발한 슈팅게임과 XNA를 사용하여 개발한 슈팅게임과의 비교 분석에서 XNA를 사용하여 개발한 프로그램의 기법에서 프로그램의 효율성이 높다는 것을 보였고, 이펙트 효과의 기법의 실행화면을 제시하였으며, 이미지 설계나 화면 설계에서 보다 자연스러움과 사용자들에게 보다 친숙하면서 지루하지 않는 내용의 이펙트나 이벤트 처리를 강화하여 설계 구현하여 게임실행 화면을 보였다. 제안한 알고리즘에서 효과음처리 또는 배경음악을 처리할 때 문제점은 기존의 배경음악이 출력되고 있는 도중 이벤트 효과음을 처리하고자 할 때 기존의 배경음악을 중복적으로 출력되는 문제점이 있었는데 알고리즘에서 해결방안을 제시하였다. XNA기반 게임 개발의 가능성을 보였다.
첫째, 컴퓨터 게임이 가진 재미와 몰입의 요소를 학습에 결합함으로써 놀라운 교육적 효과를 기대할 수 있다. 학습에 게임의 요소를 결합하면서 지루하지 않고 즐겁고 재미있게 학습 할 수 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
리얼리티 이펙트의 보편적 유형은 어떻게 나눌 수 있는가?
모든 것을 인위적으로 창조해 내야 하는 애니메이션은 무엇보다 우선 시각적으로 사실감, 현실감을 창출해 내야하고, 이를 통해 관객들에게 앞으로 벌어질 이야기에 대해 공감대를 이끌어 내는 것이 중요한데, 이를 성취하기 위한 표현 기법을 리얼리티 이펙트(reality effect)라고 정의할 수 있을 것 같다. 관점에 따라서 그 유형을 달리 분류할 수도 있겠지만, 애니메이션 작품들에서 일반적으로 드러난 리얼리티 이펙트의 보편적 유형은 첫째 사실감, 둘째 현실감, 셋째 혼성모방, 넷째 상호 텍스트성 그리고 다섯째 향수감으로 나눌 수 있다[7]
게임의 어원은 무엇인가?
게임이라는 용어는 “흥겨웁게 뛰다”라는 인도 유러피안 계통의 “ghem”에서 파생된 단어로 “흥겹다”는 정신적으로 재미 또는 즐거움을 느낀다는 뜻과 “뛰다”라는 동작을 나타내는 동사적 의미의 단어가 합성된 용어이다[1][2][3][13]. 문화콘텐츠의 중요성이 증대되면서 영상, 음반, 애니메이션, 게임 등 문화콘텐츠산업은 전 세계적으로 급속하게 성장하고 있다.
XNA에서 게임개발을 위해 지원하는 기능은?
XNA에서는 게임개발을 위한 각종 기능을 제공한다. 그래픽 부분은 Direct3D 기반으로 만들었으며 각종 모델과 텍스쳐, 이펙트, 쉐이더 등을 지원한다. 또한 SpriteBatch를 이용하고 2D 그래픽이나 파티클 효과를 구현 할 수 있다. 사운드 XACT라는 크로스플랫폼 오디오 저작도구를 이용해 어떤 환경에서도 사운드 및 각종 사운드 효과를 재생할 수 있게 지원한다[10]
참고문헌 (13)
Jeong-Man Seo, "A Design Consideration Element and Serious Game for Disabled person" Journal of The Korea Society of Computer and Information, Vol 16, No 1, pp.87-87, Jan. 2011.
Jeong-Man Seo, " Implementation of Shooting game using collision detection algorithm of" Journal of The Korea Society of Computer and Information, Vol 11, No 3, pp188-192, July. 2006.
Jeong-Man Seo, " Design and Implementation of SADARI Game" Journal of The Korea Society of Computer and Information, Vol 14, No 8, pp19-24, Aug. 2009.
Bandura, A. Self-efficacy: Toward a unifying theory of behavioral change, Psyschological Review, 84(2), 191-215, 1997.
Seong-Do Song, Eun-Ju Kim, "Campus Upbringing Simulation Game using XNA", Vol 12, No 1, pp.629-629, Jan. 2009.
Um Myoung-Yong, "Factors Influencing Online Game Play of Adolescence: An Examination of Social and Individual Playfulness", Journal of Korea Corporation Management Association, Vol 13, No 1, pp.165-179, Jun 2006.
Baek Syung-Kyeun, "A Study on Reality Effect of Animation", Journal of Animation Society of Korea, Vol 8, No 1, pp.48-67, May 2012.
Jeong-Man Seo. "Create a shooting Game Using XNA step-by-step", Jungil Publishing, Aug, 2011
Benjamin Nitschke, "ProfessionalXNA game programming : for Xbox 360 and Windows", Wiley Technology Pub., 2007.
Young Mee Choi, Moon Won Choo, "Object-oriented Concept Learning using Rever-engineering Method Based on XNAe Game Development Environment", Journal of Digital Contents Society, Vol. 10, No 1, pp.45-54, Mar, 2009.
WHITE PAPER ON KOREAN GAMES 2010, Korea Creative Contents Agency
Jeong-Man Seo, "The Design and An Implemetaion of Shooting Game Based on XNA Game Develpment Evvironment", Journal of The Korea national universty of Welfare, Vol 1, No 1, pp.87-87, Dec. 2011.
Jeong-Man Seo, "Design and Implementation of Typing Game for the Disabled" Journal of The Korea Society of Computer and Information, Vol 18, No 1, pp.55-62, Jan. 2013.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.