SlideShare a Scribd company logo
1 of 30
SiegeMode! - CAV
NEXT INSTITUTE
게임전공 노석민
https://goo.gl/tCVYuV
android, win32버전 실행파일 다운로드 가능
SiegeMode! - CAV
SiegeMode!라는 개인 프로젝트에서 전투 부분을 따와서 짧게 미니게임으로 만듦
(Cpp Advanced Project Version)
SiegeMode!는 개인적으로 구상하고 있는, 본인에게 어마어마한 부와 명예를 가져
다 줄 갓-게임
초기 구상
게임 특징
잘 모르겠다.
여러분이 보기에는?
앞으로 해야 할 작업
SiegeMode!를 완성하기 위해서는
너무 많음
SiegeMode! - CAV 시연버전을 완성하기 위해서는
일단 이번 버전까지가 C++ Advanced 프로젝트의 완성 버전으로 생각
시연버전은 아무래도 사람들이 붙잡고 앉아서 할 만한 재미가 있어야 할테니..
아직 잘 모르겠지만
태블릿 한대로 2명이서 서로 대전할 수 있게 만들면 좀 재미가 있을까…
개발 소요 시간
일수로 치면 딱 40일 소요
시간은…
그냥 대충 감으로 계산하면 100시간쯤 일듯
(리소스 작업 시간 포함. ±30시간정도..?
아무리 생각해도 몇시간 투자했는지 감이 안잡힘)
사용한 기술
사용한 기술 - Cocos2d-x
최대한 엔진의 설계 의도를 지켜가며 시키는대로 해보자! 라는 목표
결과는..
핀트를 잘못 맞춘 듯.
다음에는 이런 식으론 하고 싶지 않다.
사용한 기술 - Cocos2d-x
모바일 버전으로 포팅이 아주 쉬운 점은 아주 만족스러웠다.
수분 정도의 간단한 설정을 통해 안드로이드+PC버전 동시 작업 가능
(thanks to X10)
cocos run -p android 한 줄이면 안드로이드 기기에서 바로 실행 확인 가능
사용한 기술 - Cocos2d-x
glview->setDesignResolutionSize(width,height,policy)
한 줄로 오만가지 모바일 기기에 대한 멀티해상도 지원 고민 x
사용한 기술 - Cocos2d-x
스마트포인터를 직접 구현하거나 std::shared_ptr을 사용하는 대신
Cocos2d-x의 autorelease pool을 그대로 이용함
Cocos2d-x에서 shared_ptr, autorelease pool 모두 사용해보고 느낀 점
- 누군가가 만든 엔진, 프레임웍 베이스 위에서 작업할 때는 해당 베이스에 맞춰 프
로그래밍하는 것이 낫다.
사용한 기술 - Cocos2d-x
코코스 만세
사용한 기술 - JsonCpp
c++에서 Json을 편리하게 파싱하기 위해 사용함
header 한 장 cpp 한 장 추가하는 것으로 사용 가능한 점이 좋았다.
사용도 간단
Modern C++(을 사용해보려고 시도하려 시도)
Modern C++(을 사용해보려고 시도하려 시도)
문법은 모던,
사용법은 안모던
Modern C++(을 사용해보려고 시도하려 시도)
closure 패턴
처음 배우던 그 순간 첫눈에 반해버렸고 너무나 있어 보여서 내 코드에 넣고
싶었다. 하지만 게임을 다 만들고 보니 이 함수는 단 한 곳에서 단 한 번만 호
출된다는 슬픈 이야기
Modern C++(을 사용해보려고 시도하려 시도)
이런것도 해봄.
State Machine
Modern C++(을 사용해보려고 시도하려 시도)
auto의 장점에 설득당한 뒤 “모든 변수 선언에 auto를 쓰자!”
프로그램 전체에서(헤더 제외) 3번 빼고 모든 선언에 auto를 사용
장점 : 자료형, 캐스팅 때문에 문제 생긴 적이 한 번도 없었다.
단점 : 아직은 느끼지 못했다.
힘들었던 것 / 해결한 방법
배고픔
맛있는 것 많이 얻어먹고 다님(여러분 감사합니다 사랑합니다)
리소스
재활용
기획이 구현에 끌려 다님
욕심을 버리고 순순히 끌려감
혼자 만드니까 너무 외롭다
진행 상황, 이슈들을 주변에 떠벌리고 다님(죄송합니다..)
어랏 시간이.
어랏 시간이..
다음번 언젠가 모던함이 철철 넘치는 std::가 떡칠된 프로젝트를 해보고 싶다.
제대로 사용하든 못하든 Modern C++는 일단 많이 사용해볼 수록 생각 폭이 넓어지
고 C++ 실력도 늘 것 같다.

More Related Content

What's hot

강좌 02 ARM 펌웨어 개발 환경 개요
강좌 02 ARM 펌웨어 개발 환경 개요강좌 02 ARM 펌웨어 개발 환경 개요
강좌 02 ARM 펌웨어 개발 환경 개요chcbaram
 
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.flashscope
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발흥배 최
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)MinGeun Park
 
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.flashscope
 
NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기Hyunsuk Ahn
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기MinGeun Park
 
게임 프로그래밍 패턴 8장
게임 프로그래밍 패턴 8장게임 프로그래밍 패턴 8장
게임 프로그래밍 패턴 8장진화 손
 
브라우저 훑어보기
브라우저 훑어보기브라우저 훑어보기
브라우저 훑어보기MinsikPark3
 
웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리Young-Ho Cha
 
The LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language BasicThe LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language Basicjeong seok yang
 
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)SeungMin Yang
 
[KASA] Game Engine???
[KASA] Game Engine???[KASA] Game Engine???
[KASA] Game Engine???changehee lee
 
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...해강
 
Devrookie Study / TA20110730
Devrookie Study / TA20110730Devrookie Study / TA20110730
Devrookie Study / TA20110730Yong-nam Kim
 
Age Of Empires II : Age Of Kings Postmotem
Age Of Empires II : Age Of Kings PostmotemAge Of Empires II : Age Of Kings Postmotem
Age Of Empires II : Age Of Kings PostmotemNam Hyeonuk
 

What's hot (20)

강좌 02 ARM 펌웨어 개발 환경 개요
강좌 02 ARM 펌웨어 개발 환경 개요강좌 02 ARM 펌웨어 개발 환경 개요
강좌 02 ARM 펌웨어 개발 환경 개요
 
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
CCTV영상을 FFmpeg를 사용해서 Time Lapse로 만들어 보았다.
 
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
KGC2015_C# 스크립트를 사용한 게임서버 모니터링 시스템개발
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
 
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
샤오미 카메라와 라즈베리파이를 이용해 하늘 사진을 찍어 sns에 올리는 봇을 만들어 보았다.
 
NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
 
Visual shock vol.2
Visual shock   vol.2Visual shock   vol.2
Visual shock vol.2
 
게임 프로그래밍 패턴 8장
게임 프로그래밍 패턴 8장게임 프로그래밍 패턴 8장
게임 프로그래밍 패턴 8장
 
브라우저 훑어보기
브라우저 훑어보기브라우저 훑어보기
브라우저 훑어보기
 
Wecanmakeengine
WecanmakeengineWecanmakeengine
Wecanmakeengine
 
웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리웹표준과 자동화의 약속된 승리
웹표준과 자동화의 약속된 승리
 
The LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language BasicThe LESS 기초 : The Dynamic Styleshee Language Basic
The LESS 기초 : The Dynamic Styleshee Language Basic
 
JS Game Engines
JS Game EnginesJS Game Engines
JS Game Engines
 
[PandoraCube] Procedural Map Generation
[PandoraCube] Procedural Map Generation[PandoraCube] Procedural Map Generation
[PandoraCube] Procedural Map Generation
 
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
[11 0916] gpg 2.1.22 비디오 게임에서의 웹 카메라 활용(공개)
 
[KASA] Game Engine???
[KASA] Game Engine???[KASA] Game Engine???
[KASA] Game Engine???
 
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
[15.02.14] 진짜로땜빵하라하시면해야겠지만할시간도없고아무생각도없을때면어쩌면좋지라고소리쳐봤자아무도대답안해줄꺼고어쩔수없이이렇게저렇게어4신...
 
Devrookie Study / TA20110730
Devrookie Study / TA20110730Devrookie Study / TA20110730
Devrookie Study / TA20110730
 
Age Of Empires II : Age Of Kings Postmotem
Age Of Empires II : Age Of Kings PostmotemAge Of Empires II : Age Of Kings Postmotem
Age Of Empires II : Age Of Kings Postmotem
 

Viewers also liked

Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발권 태혁
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트JP Jung
 
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)Donggi Hahm
 
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
Cocos2d x v3.0 무엇이 달라졌나? (20140426)Cocos2d x v3.0 무엇이 달라졌나? (20140426)
Cocos2d x v3.0 무엇이 달라졌나? (20140426)SeongWan Kim
 
정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)JP Jung
 
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)Donggi Hahm
 
[1214] unity 2 d 살펴보기
[1214] unity 2 d 살펴보기[1214] unity 2 d 살펴보기
[1214] unity 2 d 살펴보기MinGeun Park
 
Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기JP Jung
 
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용JP Jung
 
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)MinGeun Park
 

Viewers also liked (10)

Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발Cocos2dx와 c++11를 이용한 게임 개발
Cocos2dx와 c++11를 이용한 게임 개발
 
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
multi plaform Full3D MMO 만들기 "삼국지를 품다"의 테크니컬 아트
 
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)
[NDC2014] 친구들아 도와줘 - 다양한 툴을 이용해서 Cocos2d-x 생산성 높이기 (함동기)
 
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
Cocos2d x v3.0 무엇이 달라졌나? (20140426)Cocos2d x v3.0 무엇이 달라졌나? (20140426)
Cocos2d x v3.0 무엇이 달라졌나? (20140426)
 
정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)정종필 팀장이됐어요(더저용량)
정종필 팀장이됐어요(더저용량)
 
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
 
[1214] unity 2 d 살펴보기
[1214] unity 2 d 살펴보기[1214] unity 2 d 살펴보기
[1214] unity 2 d 살펴보기
 
Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기Unity3D로 풀3D web mmorpg 만들기
Unity3D로 풀3D web mmorpg 만들기
 
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다  공개용
물리 기반 셰이더의 허와 실:물리기반 셰이더를 가르쳐 봤습니다 공개용
 
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
[0119 박민근] 기술 면접시 자주 나오는 문제들(ver 2013)
 

Similar to SiegeMode! C++ Advanced Project Ver

온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기Seungjae Lee
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Minsu Park
 
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안Jeongsang Baek
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정funmeate
 
C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.해근 조
 
모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차Han Sung Kim
 
MFC 발견 (1)
MFC 발견 (1)MFC 발견 (1)
MFC 발견 (1)종훈 박
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)Dongho Kim
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개진현 조
 
Mlc 2017 문제 보기
Mlc 2017 문제 보기Mlc 2017 문제 보기
Mlc 2017 문제 보기Dong Heon Cho
 
[N3C] 고민정 - 주말코딩으로 취미게임 만들기
[N3C] 고민정 - 주말코딩으로 취미게임 만들기[N3C] 고민정 - 주말코딩으로 취미게임 만들기
[N3C] 고민정 - 주말코딩으로 취미게임 만들기Minjung Ko
 
게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)Kiyoung Moon
 
OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)Jinwook On
 
Cocos2d x a to z (상)
Cocos2d x a to z (상)Cocos2d x a to z (상)
Cocos2d x a to z (상)SeungIl Choi
 
[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2MinGeun Park
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
 
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초Choi Man Dream
 
프론트엔드 개발자
프론트엔드 개발자프론트엔드 개발자
프론트엔드 개발자jung kyunghwan
 
Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료seungdols
 

Similar to SiegeMode! C++ Advanced Project Ver (20)

온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기온라인 게임 처음부터 끝까지 동적언어로 만들기
온라인 게임 처음부터 끝까지 동적언어로 만들기
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
 
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
소셜게임 서버 개발 관점에서 본 Node.js의 장단점과 대안
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
 
C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.
 
모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차모바일 해커톤 사전교육 2일차
모바일 해커톤 사전교육 2일차
 
MFC 발견 (1)
MFC 발견 (1)MFC 발견 (1)
MFC 발견 (1)
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개[1002 조진현]unity3d 소개
[1002 조진현]unity3d 소개
 
Mlc 2017 문제 보기
Mlc 2017 문제 보기Mlc 2017 문제 보기
Mlc 2017 문제 보기
 
[N3C] 고민정 - 주말코딩으로 취미게임 만들기
[N3C] 고민정 - 주말코딩으로 취미게임 만들기[N3C] 고민정 - 주말코딩으로 취미게임 만들기
[N3C] 고민정 - 주말코딩으로 취미게임 만들기
 
게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)게임프로그래머에게 배우는 C#1권(버전1)
게임프로그래머에게 배우는 C#1권(버전1)
 
OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)OpenJigWare(V02.00.04)
OpenJigWare(V02.00.04)
 
Cocos2d x a to z (상)
Cocos2d x a to z (상)Cocos2d x a to z (상)
Cocos2d x a to z (상)
 
[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2[박민근] 3 d렌더링 옵티마이징_2
[박민근] 3 d렌더링 옵티마이징_2
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
 
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초170513 4차 산업 혁명과 미래교육   컴퓨팅 교육의 동향과 해명 @송곡초
170513 4차 산업 혁명과 미래교육 컴퓨팅 교육의 동향과 해명 @송곡초
 
프론트엔드 개발자
프론트엔드 개발자프론트엔드 개발자
프론트엔드 개발자
 
Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료Django Girls 12월 Meetup 발표 자료
Django Girls 12월 Meetup 발표 자료
 

More from Seokmin No

잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표Seokmin No
 
잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표Seokmin No
 
MsgPack 정리
MsgPack 정리MsgPack 정리
MsgPack 정리Seokmin No
 
Wtl로 소레미 만들기
Wtl로 소레미 만들기Wtl로 소레미 만들기
Wtl로 소레미 만들기Seokmin No
 
게임제작개론 8
게임제작개론 8게임제작개론 8
게임제작개론 8Seokmin No
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9Seokmin No
 
게임제작개론 5
게임제작개론 5게임제작개론 5
게임제작개론 5Seokmin No
 

More from Seokmin No (8)

잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표잭블랙이블랙잭을한다 - 최종발표
잭블랙이블랙잭을한다 - 최종발표
 
잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표잭블랙이블랙잭을한다 - 수업용 발표
잭블랙이블랙잭을한다 - 수업용 발표
 
MsgPack 정리
MsgPack 정리MsgPack 정리
MsgPack 정리
 
Wtl로 소레미 만들기
Wtl로 소레미 만들기Wtl로 소레미 만들기
Wtl로 소레미 만들기
 
게임제작개론 8
게임제작개론 8게임제작개론 8
게임제작개론 8
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9
 
게임제작개론 5
게임제작개론 5게임제작개론 5
게임제작개론 5
 
123
123123
123
 

SiegeMode! C++ Advanced Project Ver

  • 1. SiegeMode! - CAV NEXT INSTITUTE 게임전공 노석민
  • 3. SiegeMode! - CAV SiegeMode!라는 개인 프로젝트에서 전투 부분을 따와서 짧게 미니게임으로 만듦 (Cpp Advanced Project Version) SiegeMode!는 개인적으로 구상하고 있는, 본인에게 어마어마한 부와 명예를 가져 다 줄 갓-게임
  • 5.
  • 9. SiegeMode! - CAV 시연버전을 완성하기 위해서는 일단 이번 버전까지가 C++ Advanced 프로젝트의 완성 버전으로 생각 시연버전은 아무래도 사람들이 붙잡고 앉아서 할 만한 재미가 있어야 할테니.. 아직 잘 모르겠지만 태블릿 한대로 2명이서 서로 대전할 수 있게 만들면 좀 재미가 있을까…
  • 10. 개발 소요 시간 일수로 치면 딱 40일 소요 시간은… 그냥 대충 감으로 계산하면 100시간쯤 일듯 (리소스 작업 시간 포함. ±30시간정도..? 아무리 생각해도 몇시간 투자했는지 감이 안잡힘)
  • 12. 사용한 기술 - Cocos2d-x 최대한 엔진의 설계 의도를 지켜가며 시키는대로 해보자! 라는 목표 결과는.. 핀트를 잘못 맞춘 듯. 다음에는 이런 식으론 하고 싶지 않다.
  • 13. 사용한 기술 - Cocos2d-x 모바일 버전으로 포팅이 아주 쉬운 점은 아주 만족스러웠다. 수분 정도의 간단한 설정을 통해 안드로이드+PC버전 동시 작업 가능 (thanks to X10) cocos run -p android 한 줄이면 안드로이드 기기에서 바로 실행 확인 가능
  • 14. 사용한 기술 - Cocos2d-x glview->setDesignResolutionSize(width,height,policy) 한 줄로 오만가지 모바일 기기에 대한 멀티해상도 지원 고민 x
  • 15. 사용한 기술 - Cocos2d-x 스마트포인터를 직접 구현하거나 std::shared_ptr을 사용하는 대신 Cocos2d-x의 autorelease pool을 그대로 이용함 Cocos2d-x에서 shared_ptr, autorelease pool 모두 사용해보고 느낀 점 - 누군가가 만든 엔진, 프레임웍 베이스 위에서 작업할 때는 해당 베이스에 맞춰 프 로그래밍하는 것이 낫다.
  • 16. 사용한 기술 - Cocos2d-x 코코스 만세
  • 17. 사용한 기술 - JsonCpp c++에서 Json을 편리하게 파싱하기 위해 사용함 header 한 장 cpp 한 장 추가하는 것으로 사용 가능한 점이 좋았다. 사용도 간단
  • 18.
  • 19. Modern C++(을 사용해보려고 시도하려 시도)
  • 20. Modern C++(을 사용해보려고 시도하려 시도) 문법은 모던, 사용법은 안모던
  • 21. Modern C++(을 사용해보려고 시도하려 시도) closure 패턴 처음 배우던 그 순간 첫눈에 반해버렸고 너무나 있어 보여서 내 코드에 넣고 싶었다. 하지만 게임을 다 만들고 보니 이 함수는 단 한 곳에서 단 한 번만 호 출된다는 슬픈 이야기
  • 22. Modern C++(을 사용해보려고 시도하려 시도) 이런것도 해봄. State Machine
  • 23. Modern C++(을 사용해보려고 시도하려 시도) auto의 장점에 설득당한 뒤 “모든 변수 선언에 auto를 쓰자!” 프로그램 전체에서(헤더 제외) 3번 빼고 모든 선언에 auto를 사용 장점 : 자료형, 캐스팅 때문에 문제 생긴 적이 한 번도 없었다. 단점 : 아직은 느끼지 못했다.
  • 24. 힘들었던 것 / 해결한 방법
  • 25. 배고픔 맛있는 것 많이 얻어먹고 다님(여러분 감사합니다 사랑합니다)
  • 27. 기획이 구현에 끌려 다님 욕심을 버리고 순순히 끌려감
  • 28. 혼자 만드니까 너무 외롭다 진행 상황, 이슈들을 주변에 떠벌리고 다님(죄송합니다..)
  • 30. 어랏 시간이.. 다음번 언젠가 모던함이 철철 넘치는 std::가 떡칠된 프로젝트를 해보고 싶다. 제대로 사용하든 못하든 Modern C++는 일단 많이 사용해볼 수록 생각 폭이 넓어지 고 C++ 실력도 늘 것 같다.