/ PAPER

EE Proposal


EE Proposal (IB컴퓨터과학 SL)

참고 일정

  • ~ 2022년 8월 29일 : 제안서 제출 마감
  • 9월 중 : 지도교사 배정 - 첫번째 필수성찰세션 (1st mandatory reflection session)
  • 11월 말 : 1,000단어 분량 작성
  • 12월 말 : 2,000단어 분량 작성 - 두번째 필수성찰세션 (2nd mandatory reflection session)
  • 2023년 3월 중순 : 3,000단어 분량 작성
  • 2023년 5월 중순 : 4,000단어 분량 작성
  • 2023년 5월 31일 : 최종본 제출 마감 - 마지막 필수성찰세션(viva voce: final mandatory reflection session)

관련 문의 : 코디네이터 (064-786-5577, hatsal@korea.kr)


hweejoon-chung.github.io


저작권법 / 무단전재 및 재배포 금지

주제 ( + 주제 선정 이유)

내가 바라는 미래의 내 모습은 세계 각국의 사람들이 이용하는 게임을 만드는 프로그래머이고, 그 프로그래머가 되기 위해 필요한 컴퓨터 과학은 내가 관심있어 하고 좋아하기도 하는 학문분야다.

나는 가끔 공부를 하면서 복잡해진 머리를 식히려 가끔 게임을 즐기고 만든다.

내가 직접 만들어본 적 있는 장르 중 하나인 탄막 슈팅 게임에서는 다수의 총알이나 화살이 발사되는데, 그 발사되는 총알이나 화살이 특정 개수를 넘어서면 전체 게임 동작이 심각하게 느려지는 상황이 발생한다. 그 원인들을 분석하다 보니 단순히 처리속도의 문제보다 메모리 사용량이 많아진 것이 주원인이었다.

게임 플랫폼에서 프로그래밍 시 게임 속 개체들이 많아지면 메모리 사용량이 어떤 식으로 변화하는지 확인해보고 개체들이 늘어날 때 시간복잡도나 메모리 사용량을 개선할 수 있는 방안이 있는지 실제 설계/구현을 통해서 연구/확인해보고자 한다.

My future hope is that I am a programmer who makes games used by people around the world, and the computer science that I need to become a programmer is an academic field that I am interested in and like.

I sometimes play games and make them at home to cool down my complicated head while studying at school.

In the bullet-shooting game, one of the genres I’ve made myself, a number of bullets or arrows are fired, and when the number of bullets or arrows exceeds a certain number, the overall game movement is severely slowed down. When analyzing the causes, the main reason was that memory usage increased more than just a problem of processing speed.

When programming on a game platform, I want to check how memory usage changes when there are more entities(objects) in the game, and research/confirm through actual design/implementation to see if there is a way to improve time complexity or memory usage when there are more game entities(objects).

제목 :

게임 내 다수의 개체 생성 시 메모리 변화 확인 통한 설계 전략에 대한 연구

A Study on Design Strategies by Identifying Memory Changes when Creating Multiple Entities(Objects) in the Game

게임플랫폼의 메모리 사용량 개선을 위한 다수 게임개체 생성 기법 설계/구현

Design and Implementation about Creation Approach of Game Entities(Objects) for improving memory usage in Game Platform

연구 질문 (연구할 가치가 있나? 중요한가?)

컴퓨터 하드웨어 사양이 발전하면서 고성능의 기기에서 동작하는 게임 플랫폼 또한 복잡해지는 경향을 보이고 있다. 하지만 게임 플랫폼 자체는 사용 기기 내 자원들에 대한 메모리 사용 제약이 존재하고 대기시간이나 반응속도에 대한 품질을 보장할 수 있는 효율적인 메모리 관리와 활용 방안이 필요하다.

또한 시간이 흐르고 새로운 게임이 출시될 때마다 매번 가지고 있는 기기의 사양보다 높은 사양을 요구하는데, 이는 게임 내에 다양한 종류의 수많은 게임 개체들이 존재하고 그 개체들을 화려한 그래픽으로 표현하기 위해 효율성, 특히 연산시간이나 메모리에 대한 효율성을 요구하기 때문이다.

근본적으로 프로그래밍 관점에서 메모리에 대한 효율성 관리를 위해서 다수의 게임 개체들을 만드는데 메모리가 어떻게 변화하는지 확인하고 보다 효과적인 프로그램 설계/구현 방안을 연구/확인하여 미래 게임 개발자로서 중요한 경험과 역량을 쌓고자 한다.

As computer hardware specifications develop, game platforms that operate on high-performance devices also tend to be complicated. However, there are restrictions on memory usage or resources in the device. So, the game platform itself needs efficient memory management and utilization measures that can guarantee the quality of latency or response speed.

In addition, each time a new game is released, it requires higher specifications than the device’s specifications, because there are many different types of game entities(objects) in the game and they require efficiency, especially computational time or memory, to represent them in colorful graphics.

From a programming perspective, I want to build important experience and capabilities as a future game developer by checking how memory changes in creating multiple game entities(objects) and researching/verifying more effective program design/implementation methods.

연구 방법 (어떤 방법으로 연구할 계획인가?)

먼저 연구 주제에 대해 추가로 학습할 것이 있는지 확인하고 학습과 병행하여 선행 연구와 관련 자료들을 찾는다. 그것을 통해 적절한 메모리 변화 조사 방안을 마련하고 효율적인 게임 개체 생성 방안을 연구한다. 연구 관련 용어집 정리와 관련 자료 리서치는 연구 중에 지속적으로 수행한다.

최종적으로 실험에 쓰일 게임 개체 생성 프로그램에 대한 요구사항 도출, 설계, 구현 및 테스트를 통해 메모리 변화를 조사하고 개선 사항을 검증한다.

First, I will check if there is anything else to learn about the research topic and find previous studies and related materials in parallel with learning. Through that, I will prepare an appropriate memory change investigation plan and study an efficient game entities(objects) generation plan. Research-related glossary organization and related data research are continuously carried out during the study.

Finally, I’ll investigate memory changes and validate improvements by requirements deriving, designing, implementing, and testing for game entities(objects) generation programs to be used in experiments.

선행연구 및 관련 주제 자료 (각 유형별 2개 이상 작성)

단행본

코딩을 지탱하는 기술 : 원리로 깨우치는 프로그래밍 기법 (니시오 히로카즈, 비제이퍼블릭)

게임으로 배우는 파이썬 (다나카 겐이치로, 영진닷컴)

Design Pattern (Erich Gamma/Richard Helm/Ralph Johnson/John Vlissides, Addison-Wesley)

Technology to support coding : principled programming techniques (Hirokazu Nishio, BJPublic)

Python learned by games (Kenichiro Tanaka, youngjin.com)

Design Pattern (Erich Gamma/Richard Helm/Ralph Johnson/John Vlissides, Addison-Wesley)

논문

KCI 등재

게임 소프트웨어의 품질 평가 모델 정혜정

KCI 등재

기획자를 위한 객체지향적 게임시스템 기획 방법 장희동

파이썬 활용한 데이터 처리 성능 향상방법 제안 (한국정보전자통신기술학회 2020, 김효관, 황원용)

An Evaluation Model of Game Software Journal of Korean Society for Internet Information v.8 no.6) , 2007

An Object-oriented Design Method of Game System for Game Designers Journal of Korea Game Society v.16 no.3) , 2016

Proposal For Improving Data Processing Performance Using Python Journal of Korea institute of information, electronics, and communication technology v.13 no.4) , 2020

KCI 등재

DirectX이용게임 설계에서의 생성 패턴 적용 기법 김종수 김태석

Java 기반 플랫폼 성능향상을 위한 모바일 게임 개발방법론

Mobile Game Coding Method for Improving Performance of Java-based Platform

김혜정 , 남진우 , 문형석 , 송범휘 , 이학준 , 홍영화 , 주문원 , 최영미 , 진성아

기사 및 잡지, 기타 유형의 자료

https://www.codingame.com/start : 다양한 프로그래밍 언어를 사용할 수 있는 게임 코딩 연습 사이트

https://www.oodesign.com/design-principles : 객체지향 설계 개념 사이트

https://www.codingame.com/start : Game coding practice site with a variety of programming languages

https://www.oodesign.com/design-principles : Object-oriented design concept site

등등

hweejoon-chung.github.io


저작권법 / 무단전재 및 재배포 금지

-->