ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Game Programming 개발(설계) 보고서
    애드센스 승인 자료모음 2019. 3. 26. 11:00
    반응형

    1. 게임개발 배경 및 목적

     

    1) 개발 배경

    컴퓨터를 사용하게 되면 쉽게 접하게 되는 게임이 어떤 방법으로 구현하게 되고 그 구조들을 직접 눈으로 확인하고 싶었다. 우리가 배우고 있는 객체 지향 언어들을 이용하여 게임을 만들고 싶다는 생각들을 하고 있었는데 이렇게 좋은 기회를 통해 게임을 개발하게 되었다.

     

    2) 개발 목적

    DirectX 9.0 기반 2D 게임 개발을 통해 게임 프로그래밍 강의 시간에 학습 했던 내용을 팀웍을 활용하여 좀 더 심화 적으로 학습하므로서 프로그래밍 기술 증강 및 게임 개발 흐름을 이해한다. 또한, 실질적으로 기업에 입사 했을 때 모든 프로젝트들이 팀 결성하여 진행 되므로 대학에서 미리 팀 프로젝트를 통해 협동 기술을 배양한다.


    2. 개발 환경


    구 분

    적 용 기 술

    하드웨어

    (컴퓨터 사양)

    Quad CPU Q8300 @ 2.50GHz

    OS

    windows XP

    개발기반

    DirectX 9.0



    3. DirectX 배경 지식

     

    1) DirectX의 정의

     

    Microsoft DirectX는 마이크로소프트 Windows 운영체제에 구축되어 있는 멀티미디어 APIs (Application Programming Interfaces)의 향상된 슈트를 말한다. DirectX Windows 기반 PC를 위한 표준 개발 플랫폼을 제공하는데, 개발자들로 하여금 특정 하드웨어에만 한정된 코드를 쓰지 않고서도 전문 하드웨어 기능에 액세스 할 수 있도록 해 준다. DirectX1995년에 처음 도입되어 현재는 윈도우 플랫폼에서 멀티미디어 어플리케이션을 개발하는 하나의 표준으로 인식되고 있다.

     

    2) DirectX의 특징

     

    DirectX는 개발자들로 하여금 사용자들이 어떤 디스플레이 어댑터나 사운드 카드 등을

    .사용할 것인가 하는 부수적인 부분에 신경을 쓰지 않고 어플리케이션 개발/구축에 전념

    .하게 함으로써 개발자들의 생산성을 증대시킨다.

     

    DirectX는 개발자들에게 고성능 하드웨어( 3-D 가속 칩, 사운드 카드 등)의 향상된 기

    .능을 보다 쉽게 접근/사용할 수 있는 단일 APIs 세트를 제공한다.

     

    DirectX는 개발자들에게 현재 사용하는 장비를 활용하여 가능한 최상의 성능을 구현할

    .수 있도록 하는 도구를 제공한다. DirectX를 활용하면 "Hardware Emulation Layer"

    .(HEL, 하드웨어 에뮬레이션 계층)를 사용하여 특정 하드웨어 장비를 시뮬레이션 함으로

    .써 여러분의 시스템이 가지고 있지 않는 기능을 필요로 하는 멀티미디어 어플리케이션까

    .지도 개발할 수 있는데, HEL은 하드웨어와 같은 역할을 하는 소프트웨어 기반 드라이버

    .를 제공한다.

     

    4. 플랫폼 설명

    1) 기획 플랫폼 : 레이싱 게임

    2) 변경 플랫폼 : 레이싱 슈팅 게임

    3) 레이싱 게임 정의

    - 길이나 비포장도로를 질주하는 자동차들 간의 속도로 승부를 결정짓는 게임을 통칭해서 부른다.

    4) 슈팅 게임 정의

    - 슈팅 게임은 아케이드게임의 대표적인 세부 장르로, 단순하게 총이나 포를 쏘는 빠른 진행의 게임이다.

    5) 플랫폼 변경사항 및 설명

    - 처음 기획하고 계획 했을 때는 레이싱 게임을 수정 하려 했으나 로더파이터즈의 지루함을

    레이싱게임과 슈팅게임의 조합으로 큰 인기를 끈 카드라이더모티브로 삼아서 좀

    더 역동적이고 승부욕을 첨가하기 위해 변경하게 되었다.

     

    5. 요구사항

    본 게임은 기존에 존재 했던 게임으로서, 게임을 개선 개발하기 전에 로드 파이터즈를구성 했던 코드들을 이해하고 습득 한다. 기존 로드 파이터즈를 플레이 하면서 문제점과 개선 사항들을 파악하였다. 수정 전에는 사용자 자동차 캐릭터가 위에서 내려오는 적 캐릭터를 그저 피하기만 하는 것이며, 게임의 흥미를 첨가할 수 있는 아이템에 기능도 그저 만점 획득이라는 점이였고 전체적으로 지루한 진행에 아쉬웠다.

     

    수정 개선한 사항에서는 게임에 지루함과 역동적인 진행을 위해 네 가지 항목을 추가 하였다. 첫째, 사용자 자동차 캐릭터에 미사일 기능을 추가 하였다. 둘째, 적 자동차 캐릭터에 미사일 기능을 추가 하여, 사용자 자동차 캐릭터는 적 자동차를 피하고 또한 적의 미사일을 피해야 게임을 계속 진행 할 수 있는 역동성을 더하였다. 셋째, 사용자 자동차 캐릭터에 미사일 한정 게이지를 추가하여 무분별한 미사일 발사로 전과 동일한 지루함을 미연에 방지하는 치밀함 보였다. 넷째, 체력 및 미사일 게이지 보충 아이템을 추가하였다. 기존 게임에서는 만점 점수 아이템만 지원하여 아이템의 역할을 충족 못했지만 체력 및 미사일 보충 아이템을 추가하여 게임의 흥미를 최적화 하였다.


    6. 결론


    게임프로그래밍은 그저 객체 지향 언어들의 집합체가 아닌 예술, 경영, 인문, 공학의 요 소들의 총 집합체이다. 또한, 더 중요한 것은 개발자의 끈임 없는 노력과 장인 정신의 산 물이라는 것을 알게 되었다. 쉽게 게임을 접할 수 있던 시대를 살아온 학생으로서 게임의 버튼 하나하나, 화면 변화와 진행들이 뚝딱해서 만들어 지는 것이 아닌 치밀하고 명확한 정의 및 계획 속에 구현 되는 모습을 통해 모든 프로그래머가 대단하고 공학도란 사실에 프라이드를 갖게 되었다. ·공계의 하락세라고 하지만 실력만 갖추고 있는 공학인이라면 전혀 문제 될 게 없고, 오히려 더 많은 기회가 있을 것이라고 확신한다. 이번 프로젝트를 통해서 모의 기업 팀 프로젝트를 경험하게 되는 시간이었으며, 동료 간의 협동으로 이렇 게 프로젝트를 완성하게 되어 뜻 깊은 시간이었다.


    반응형

    댓글

Designed by Tistory.