블로그 이미지
숏퐁숑

카테고리

분류 전체보기 (70)
게임기획자 준비 (18)
게임기획 참고자료 (7)
프로그램 (33)
숨쉬기 활동 (10)
Total
Today
Yesterday

달력

« » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

게임 기획 공부를 준비하면서 이참에 뭐라도 하나 만들어 보는게 어떨까 라는 생각이 들었다.

(생각해보면 난 언제나 저런 얄팍한 마음으로 시작해서 후회하는 타입이었어...)

 

 

애초에 3년간 프로그램을 하긴했어도 게임은 만들어 본적이 없기에 살짝 도전해보고 싶은 생각이 내 뇌속 언저리 구석 한켠에 자리잡고 있었나보다.

 

즐거워야 할 크리스마스 이브지만  현재 타지생활을 하다보니 친구들과 만날 수도 없고 애인도 없어서(...) 결국 크리스마스 이브에 난 집에서 안드로이드와 삽질을 하고 있었다.ㅎㅎ

 

기존 회사에 다닐 땐 이클립스를 이용해서 개발을 했었기에 이클립스를 베이스로 안드로이드 개발환경을 구축하려 했다.(이클립스는 자바언어로 프로그래밍 할 수 있게 해주는 툴이다. 이클립스가 없어도 에디트 플러스나 노트패드로도 개발이 가능하나 이클립스는 훨씬 편한 개발환경을 제공해 준다.)

 

예전에 사용하던 이클립스 JUNO버전을 가지고 하려니 왠지 기분이 찜찜해서 신버전을 받아볼까 하는 마음에 이클립스 홈페이지에 들어가보니...

 

왠걸... neon이라는 이름에 휘황찬란한 네온 사인 로고가 눈을 부여잡는다.

 

 

<로고 부터 기분 나쁘다>

 

뭣 보다 예전에는 설치파일이 아닌 zip파일로 압축만 풀면 사용할 수 있는 간단한 프로그램이었는데 이젠 exe파일로 배포하고 있더라.

(난 exe파일이 번거로워서 싫다.)

 

일단은 변화하는 시대에 맞춰 3년전 버전인 juno는 지워버리고 neon으로 설치를 시작. 그간 용량도 꽤 커졌는지 시간이 좀 걸렸다.

이클립스 neon 버전 부터는 java jdk7버전 이상을 설치해야만 사용이 가능했기에 이참에 8버전으로 jdk와 jre를 설치.

 

JDK는 Java Development Kit 로 java로 만들 프로그램 환경에 필요한 기능을 제공해준다.

JRE는 Java Runtime Environment 로 개발된 자바 프로그램을 실행만 하면 되는 평범한 사용자들이 사용할 수 있는 실행 환경을 제공해 준다.

 

모두 설치한 뒤 안드로이드 개발에 필요한 SDK(Software Development Kit)파일을 받으려고 안들로이드 개발자 사이트에 가보니 SDK만 따로 있는게 안보이고 안드로이드 스튜디오와 통합 팩으로 다운로드하게 되어 있었다.

 

혹시나 해서 밑 으로 내려보니 명령줄 도구만 다운로드가 보인다.

이상하게도 프로그램에 대한 모든 사이트는 해당 프로그램이 무슨 기능을 하는지 요약설명을 적어두는 곳이 없다. 때문에 이름만 봐서는 이게 뭔 기능을 하는지 도통 알 수 없는게 함정.

 

<난 너희들이 말하는 명령줄 도구가 뭔지 모르겠다.>

 

window 환경에 맞춰 zip파일로 된 명령줄 도구를 받아서 이클립스와 연동을 해보았으나 오류를 내뿜으며 이클립스가 완강이 거부한다. (이걸로 1시간을 잡아 먹었다.)

 

결국 안드로이드 스튜디오 패키지를 다운 받아 SDK를 설치하고 이클립스와 연동을 했다. 안드로이드 AVD(Android Virtual Device)를 설치하려하자 이번엔 AVD가 문제다. AVD는 프로그래밍한 파일을 컴퓨터에서 가상의 핸드폰 또는 태블릿 기기를 사용하여 구동 테스트를 할 수 있도록 도와주는 장치인데 이놈이 SDK와 연동이 안된다.

(이상하게 유독 JAVA와 관련된 프로그램을 제공해 주는 곳은 뭔가 폐쇄적이고 정보도 부족하고 유저들을 불편하게 하는 것 같다. 오라클이라던가 오라클이라던지 오라클...ㅂㄷㅂㄷ...)

 

AVD오류를 열심히 찾아 수정하고 개발환경에 맞는 SDK를 설치했지만 안된다..... 도저히 뭐가 문제인지 알 수가 없는데 안된다.

(이 짓거리를 5시간을 했다.... ㅂㄷㅂㄷ....)

 

결국 생각도 못했던 SDK를 받기위해 같이 설치한 안드로이드 스튜디오를 써보기로 했다.

 

<뻘짓 (안드로이드 스튜디오)>

 

안드로이드 스튜디오는 기본적으로 SDK를 잡아주기 때문에 AVD만 생성해주면 되니 내가 왜 뻘짓을 하고 있었나 싶었다.

 

이클립스에 비해 뭔가 챠밍한 느낌의 녀석이었지만 찬찬히 뜯어보니 프로그램 색상 밝기가 살짝 밝은거 외에는 이클립스와 크게 다른부분을 못느끼겠다....

 

내가 3년간 프로그램 회사를 다니면서 한 일은 엑스플랫폼의 RIA(리치인터넷애플리케이션)기반 스크립트와 오라클 그리고 자바(자바는 배워 놓고 그렇게 많이 쓴 기억이 없다.)를 이용한 프로그래밍.

 

설마 그렇게 어려울까 생각했더니 정말로 모르겠더라.

 

? ! ? (ㅇㅅㅇ?;) ? ! ?

 <오늘 하루 동안 내 표정>

 

회사마다 주요 산업으로 하는 프로그램에 대한 분야가 다른 만큼 사용하는 함수도 다른데 일단 게임을 제작하기 위해 사용하는 함수를 3년간 프로그래머로 일을 하면서 써본게 거의 없다.(세상에...)

 

기본적으로 안드로이드 스튜디오는 JAVA와 C/C++을 이용해 개발이 가능한데 안드로이드 스튜디오에서 제공하는 함수도 있다보니 도통 갈피를 못잡겠더라.(경력 3년차 프로그래머가 30분동안 hello world만 치고 있었다.)

 

메뉴얼을 찾아보아도 영어로 되어 있어 나같은 영맹은 일찍감치 한글로된 강좌를 찾아봐야 했다.(다른건 번역해주면서 함수와 설명은 번역해주지 않는 이상한 미국)

 

덕분에 2시간동안 검색한 끝에 안드로이드 구동의 기본 로직은 알게 되었고 대충 가닥이 보이자 인터넷을 보며 게임을 만들기 위해 코딩을 시작했다.

 

주석을 넣어가며 각 함수가 무슨 기능을 하는지 적어가며 공부한다는 느낌으로 한줄 한줄 적어내려갔다.

 

그리고.

 

 

<붉은 글씨는 프로그래머의 심장에 안좋은 영향을 준다.>

 

에러 에러 에러

에러 에러

에러

 

왠만한 에러는 다 수정하고 고쳤는데 저 OpenGL에 관련된 EGL_BAD_MATCH가 도저히 모르겠어서 이리저리 찾아보았지만 뭐가 문제인지 알수가 없었다.

 

<구글검색 맨 위에 해결법이 있었지만 영어라 해석따위 하지 않고 넘어갔었다>

 

2시간동안 찾아보다 결국 친형에게 도움을 청해 해석해보니 내가 작성하고 있는 화면이 가상 디바이스에서 보여주는 화면보다 크게 만들어져 나타나는 에러였다.

 

<구동 테스트 화면>

 

일단 에러 자체가 프로그램 구동에 큰 문제를 뿜는 녀석은 아닌지라 살포시 무시하기로 했다.

인터넷으로 찾은 강좌를 보며 하나하나 테스트해보고 배우며 만들어 보니 새삼 프로그래머를 내가 왜 그만둔건가 생각나게 해주는 좋지 못한 시간이었던거 같다.

 

프로그래밍을 하면 하나를 작성하면 에러나 버그가 나는지 확인하고 테스트 해봐야 하기에 자연스럽게 개발 시간이 길어진다. 만약 확인하지 않고 했다가 에러나 버그나 나버리면 그걸 찾아내데 걸리는 시간은 개발하는 시간보다 훨씬 길고 어렵기 때문에 프로그래머에게 있어서 디버깅(버그나 오류를 찾거나 확인하는 작업)은 필수 소양이다.

 

디버깅 자체도 프로그램의 부피가 커질수록 오래걸리기 때문에 프로그래머들은 디버깅하는 동안 아무것도 못하고 그냥 놀고 있어야 한다. (이것이 프로그래머가 야근을 하게되는 주 원동력이 된다.)

 

과거 회사에서도 프로그래머가 아닌 사업부 사람들이 우리가 맨날 일 안하고 놀고 있다며 한소리 한적이 있는데 보통 프로그래머가 놀고 있는 경우는 정말 정말 할일이 없거나 디버깅 하고 있거나 둘중 하나다.  (만약 정말 맨날 놀고 있었다면 프로그램은 어떻게 완성되었겠는가.)

 

오늘까지 공부한 작업물은 아직 버튼 입력을 받거나 움직이게까지는 못해봤지만 기본적인 출력이 되도록 틀은 잡아 놨다. 평일에는 기획 공부로 시간이 없다보니 주말 외에는 작업할 시간이 없을 것 같지만 이왕 해보기로 한거 허접한거라도 하나 만들어보고 땡쳐야 겠다.

 

(그리고 크리스마스에도 난 삽질을 하겠지....)

'숨쉬기 활동' 카테고리의 다른 글

머리가 아프다  (0) 2017.01.03
오늘도 소주  (0) 2016.12.31
크리스마스땐 공부를  (0) 2016.12.26
블로그 자료 이전  (0) 2016.11.30
판교에서 팀원들과 첫 점심  (0) 2016.11.29
Posted by 숏퐁숑
, |

레벨디자인은 게임에 참여하는유저들이 플레이하게 되는 일종의 무대(혹은 장소)를 꾸미는 작업이다.

 

게임을 이루는 각종 시스템들이 적용되는 게임상의 공간을 설계하는 것이다.

 

게임상의 공간은 지역(필드 또는 던전)으로 구체화 된다.

 

레벨디자인은 구조와 소품, 도전을 재미있고 흥미롭게 배치하는 것을 말한다.

 

올바른 도전, 올바른 보상, 올바른 양의 의미있는 선택들을 배치하는 것이다.

'게임기획자 준비 > 공부' 카테고리의 다른 글

시스템 기획  (0) 2017.02.17
기획서의 목차를 작성할때 참고  (0) 2016.12.26
메인 퀘스트  (0) 2016.12.20
세계관 설정 만들기  (0) 2016.12.12
[링크]게임 기획자 포트폴리오 작성방법  (0) 2016.12.08
Posted by 숏퐁숑
, |

- 대부분의 메인 퀘스트는 시나리오를 기반으로 작용한다.

 

- 시나리오가 곧 메인 퀘스트가 되기도 하지만 그렇지 않은 경우도 많다.

 

- 실제로 수행 할 수 있는 테스크(task) 단위까지 나누는 것이 필요하다.

 

- 기-승-전-결의 구조를 갖추거나 작은 사건이 완료되는 것을 기준으로 삼는다.

 

- 하나의 퀘스트를 수행하는데 필요한 플레이 시간을 고려한다.

'게임기획자 준비 > 공부' 카테고리의 다른 글

기획서의 목차를 작성할때 참고  (0) 2016.12.26
레벨디자인의 정의  (0) 2016.12.21
세계관 설정 만들기  (0) 2016.12.12
[링크]게임 기획자 포트폴리오 작성방법  (0) 2016.12.08
역기획서 작성  (0) 2016.12.06
Posted by 숏퐁숑
, |

최근에 달린 댓글

글 보관함