EE 1000단어
EE 1000단어 (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)
![]()
저작권법 / 무단전재 및 재배포 금지
제목 후보 :
게임 로봇의 탄도궤적 연산과 메모리 사용량 변화 확인을 통한 다수 개체 생성 설계 전략에 대한 연구
A Study on Design Strategies of Multiple Entities(Objects) Generation by Checking Ballistic Trajectory Computation Volume and Memory Usage of Game Robots
A Study on Design Strategies of Multiple Object Generation based on Identifying Changes of Ballistic Trajectory Computation and Memory Usage for Game Robots
A Study on Design Strategies by Identifying Ballistic Trajectory Computation Volume & Memory Changes when Creating Multiple Entities(Objects) in the Game
게임플랫폼의 탄도궤적 연산량과 메모리 사용량 개선을 위한 다수 게임개체 생성 기법 설계/구현
Design and Implementation about Creation Approach of Game Entities(Objects) for improving Ballistic Trajectory Computation and Memory Usage in Game Platform
Design and Implementation of Multiple Game Object Creation Approach to Improve Ballistic Trajectory Computation and Memory Usage in Game Platform
키워드 : Game Entities Creation, Ballistic Trajectory Computation, Memory Usage, Game Object
1000 words
서론
탄도 슈팅 게임 소개
요즘 청소년들이나 MZ세대들에게 게임은 학업 스트레스를 풀거나 여가 시간을 보내기 좋은 수단 중 하나이다. 미래에 사람들에게 도움이 되는 로봇과 소프트웨어을 만들고 싶은 연구자 본인도 복잡해진 머리를 식히려 게임을 즐기고 직접 프로그래밍을 통해 만들어 보기도 한다.
게임 내 효율성/성능 요인
얼마 전 엔트리와 파이썬으로 탄도 슈팅 게임을 만들어 즐기던 중, 게임 속 로봇이 발사한 다수의 총알이나 화살이 특정 개수를 넘어서면 전체 게임 동작이 심각하게 느려지거나 심지어 몇몇 기능들은 정상적으로 동작하지 않기도 하는 상황이 발생했다. 그 원인들을 분석하다 보니 탄도 개체의 궤적에 대한 연산량과 탄도 개체에 대한 메모리 사용량이 로봇 동작에 영향을 줄 수 있는 주원인이었고, 제대로 연구를 통한 개선 방안을 찾아보고 싶어졌다.
현재 컴퓨터 하드웨어 사양이 발전하면서 고성능의 기기에서 동작하는 게임 플랫폼 또한 복잡해지는 경향을 보이고 있다. 하지만 게임 플랫폼 자체는 사용 기기 내 자원들에 대한 사용 제약이 존재하기 때문에 대기시간이나 반응속도에 대한 품질을 보장할 수 있는 효율적인 연산 기법 과 메모리 관리 방안이 필요하다.
또한 새로운 게임이 출시될 때마다 매번 가지고 있는 기기의 사양보다 높은 사양을 요구하는데, 이는 게임 내에 다양한 종류의 수많은 게임 개체들이 존재하고 그 개체들을 표현하기 위한 효율성, 특히 연산시간이나 메모리에 대한 효율성을 요구하기 때문이다.
본 연구에서는 먼저 탄도 궤적 연산과 메모리 관련 연구와 자료들을 분석한다. 객체 지향 프로그래밍 관점에서 연산이나 메모리에 대한 효율성을 고려한 다수의 탄도 개체 생성 전략을 연구/도출하여 실제 탄도 개체, 궤적 연산 함수와 메모리 사용 함수를 설계/구현한다. 그리고, 전략 별로 연산량과 메모리 사용량의 변화를 측정하여 비교/분석한 후 개선 효율성을 검증/평가해보고자 한다. 또한, 연구 관련 용어집 정리와 관련 자료 리서치는 연구 중에 지속적으로 수행하여 추후 본 연구를 통한 추가 연구의 기반을 마련하고자 한다.
관련 연구
게임 소프트웨어의 품질 중 사용자 요구사항이 가장 많은 부분은 규정된 조건에서 사용되는 자원의 양에 따라 요구된 성능을 제공하는 소프트웨어의 능력인 효율성[1]이다. 효율성에 영향을 주는 주요인인 궤적 연산과 메모리 사용 기법들에 대한 관련 연구들을 분석해본다.
- [1] 게임 소프트웨어의 품질 평가 모델
- 정혜정한국인터넷정보학회인터넷정보학회논문지8(6)pp.115~1252007.12컴퓨터학
탄도 궤적 연산
탄도 슈팅 게임에서 슈팅로봇이 탄도를 발사하면 발사체의 경로를 계산할 필요가 있는데 이 때 복잡한 연산을 수행한다. 구체적으로 거리를 입력받아 각도, 도달시간, 탄도궤적 등을 계산하는데 미분과 적분 개념을 이용한 연산이 필요하고[3], 이는 전체 프로그램의 시간이나 속도에 대한 효율성에 영향을 미친다.
- [2] 수학을 이용한 실생활 연구 보고서
- 정휘준 https://hweejoon-chung.github.io
메모리 사용
자원에 대한 사용 제약 사항 내에서 게임 소프트웨어의 질을 높일 수 있는 효과적인 메모리 관리 및 활용 기법이 필요하다. 이를 통해 게임 반응 속도 역시 효과적으로 높일 수 있다.[2]
- [2] 메모리가 제한적인 자바가상기계에서의 지역 재사용
- 김태인김성건한환수한국정보과학회정보과학회논문지 : 소프트웨어 및 응용34(6)pp.562~5712007.06컴퓨터학
OOD와 디자인 패턴
대규모의 게임을 만들 때 객체지향개념을 충분히 활용할 수 있는 설계기법이 유용하다.[3]
- [3] Observer패턴을 적용한MMORPG파티 시스템 아이템 배분 방법
- 김태석김신환김종수한국멀티미디어학회멀티미디어학회논문지10(8)pp.1060~10672007.08전자/정보통신공학
궤적 연산 기법과 개체 생성 방안 모델링
탄도 궤적 연산 기법
개체 생성 방안
모의 테스트(실험) 및 평가
시스템 구현/테스트 환경
비교 구현
평가 방법
성능평가
결론 및 향후 과제
참고. 연구 관련 용어집
현황 파악 - 탄도 객체 발사 시 느려지는 문제 분석 : 탄도 궤적 연산, 메모리 사용 분석
관련 연구 - 탄도 궤적 논문, 객체 메모리 사용 논문
전략 설정 - 탄도 객체 발사 관련 연산과 메모리 사용 확인방안 및 개선 전략 설정
탄도 개체 설계
다수의 탄도 개체 발사 설계 및 구현 (테스트 용도)
탄도 개체 발사 수에 따른 탄도 궤적 연산과 메모리 사용량 확인 (설계/구현)
개선전략 적용 설계/구현
전략에 대한 연산과 메모리 사용량 비교
요즘 청소년들이나 MZ세대들에게 게임은 학업 스트레스를 풀거나 여가 시간을 보내기 좋은 수단 중 하나이다. 미래에 사람들에게 도움이 되는 로봇과 소프트웨어을 만들고 싶은 연구자 본인도 복잡해진 머리를 식히려 게임을 즐기고 직접 프로그래밍을 통해 만들어 보기도 한다.
얼마 전 엔트리와 파이썬으로 탄도 슈팅 게임을 만들어 즐기던 중, 게임 속 로봇이 발사한 다수의 총알이나 화살이 특정 개수를 넘어서면 전체 게임 동작이 심각하게 느려지거나 심지어 몇몇 기능들은 정상적으로 동작하지 않기도 하는 상황이 발생했다. 그 원인들을 분석하다 보니 단순히 탄도 궤적 연산 처리속도의 문제보다 메모리 사용량이 많아진 것이 주원인이었고, 제대로 연구를 통한 개선 방안을 찾아보고 싶어졌다.
현재 컴퓨터 하드웨어 사양이 발전하면서 고성능의 기기에서 동작하는 게임 플랫폼 또한 복잡해지는 경향을 보이고 있다. 하지만 게임 플랫폼 자체는 사용 기기 내 자원들에 대한 사용 제약이 존재하기 때문에 대기시간이나 반응속도에 대한 품질을 보장할 수 있는 효율적인 연산 기법 과 메모리 관리 방안이 필요하다.
또한 새로운 게임이 출시될 때마다 매번 가지고 있는 기기의 사양보다 높은 사양을 요구하는데, 이는 게임 내에 다양한 종류의 수많은 게임 개체들이 존재하고 그 개체들을 표현하기 위한 효율성, 특히 연산시간이나 메모리에 대한 효율성을 요구하기 때문이다.
본 연구에서는 먼저 탄도 궤적 연산과 메모리 관련 연구와 자료들을 분석한다. 객체 지향 프로그래밍 관점에서 연산이나 메모리에 대한 효율성을 고려한 다수의 탄도 개체 생성 전략을 연구/도출하여 실제 탄도 개체, 궤도 연산 함수와 메모리 사용 함수를 설계/구현한다. 그리고, 전략 별로 연산량과 메모리 사용량의 변화를 측정하여 비교/분석한 후 개선 효율성을 검증/평가해보고자 한다. 또한, 연구 관련 용어집 정리와 관련 자료 리서치는 연구 중에 지속적으로 수행하여 추후 본 연구를 통한 추가 연구의 기반을 마련하고자 한다.
![]()
저작권법 / 무단전재 및 재배포 금지