cyphen156

24.01.08 새해 첫 글 여행, 공부 계획, 메이플 랜드 본문

잡생각 정리글

24.01.08 새해 첫 글 여행, 공부 계획, 메이플 랜드

cyphen156 2024. 1. 8. 15:12

#1 근황 및 여행 애플리케이션에 대한 이야기

그동안 종강한 뒤 일본여행을 다녀왔다.

 

여행을 다니는동안 로밍을 일부러 하지 않았고, 이것은 어디에서든지 네이버, 구글 지도를 통해 검색하여 맛집이나 경로를 안내받을수 있던 편해진 여행을 할 수 없게 만드는 진입장벽이 되었다. 한자를 읽을 수 없기 때문에 파파고와 같은 번역 어플리케이션의 도움도 받을 수 없었고, 부족한 영어실력과 어눌한 일본어말투, 그리고 약간의 몸짓언어로 소통해야 했다.

 

처음에 여행 어시스트 앱을 만드려고 했을 때는 이러한 불편함에 대한 인지가 없었다. 

당연히 로밍이나, 현지 통신망, 도시락 등을 통한 포켓 WiFi를 통해 네트워크를 사용하여 여행하기 때문이었다. 

아마도 로밍하지 않고 여행한다는 목표가 없엇다면 이러한 불편함들을 느낄 수 없었을 것이고, 앱에 대한 개선점도 찾아내지 못했을 것 같다.

 

우선 애플리케이션의 데이터를 로컬 디바이스 내에 저장하고 있어야 된다는 결론이 생겼다. 

다행히도 구글 지도는 나만의 지도라는 기능을 통해 오프라인상에서 지도를 저장하여 해당 지역의 크고 작은 상점들, 지역 명소, 지하철과 도로와 같은 정보들을 저장할 수 있다. 

문제가 되는 것은 번역기와 특정 장소로 이동할 때 경로 안내와 같은 어시스트를 받을 수 없다는 것에 있다.

 

이것을 해결하기 위한 차선책은

1. 여행 준비 단계에서 가볼 곳들을 저장하여 최적의 경로를 서버에서 찾아내고, 미리 로컬 디바이스 내에 저장한다.

2. 실제 여행 상황에서 즉석으로 검색이 가능하도록 오프라인 지도에서 경로를 안내받을 수 있도록 클라이언트 어플리케이션에서 서비스를 처리한다.

 

둘 다 할 수 잇다면 좋겟지만 2번의 경우 애플리케이션이 무거워 질 수 있다는 단점이 존재해서 조금 고민해봐야 겠다.

 

그리고 구글 지도에 보면 타임라인이라는 기능이 있다.

이 기능은 휴대폰의 위치 정보를 사용하고 있다면 내가 방문한 곳에 대한 정보를 기록해 놓는 역할을 한다. 이것을 분석하여 개인화된 경험이나, 여행스타일 등을 추천할 수 있고, 타인과의 성향은 어느정도 다른지, 색다른 경험은 무엇이 있는지와 같은 것들을 기록할 수 있다. 

 

여기에 사진첩을 더해서 나만의 여행 기록과 같은 메모지 기능을 제공하면 상당히 좋지 않을까?라는 생각이 들었다.

#2 반년간의 공부 계획

우선 미뤄두었던 수학 공부와, 알고리즘, 자료구조 공부를 할 예정이다. 일정은 1~4월 사이로 잡고있다.

이 이후로 5~7월에는 언리얼 C++클래스를 통하던지 아니면 유영천님의 개발 가이드와 같이 DirectX 11을 학습해보려고 한다. 

사용하는 책은 DirectX11 게임 프로그래밍 입문을 사용하려 했지만 MSDN을 통해서 공부하는것이 좋다라고 댓글로 다른사람에게 조언한게 있어서 나도 따라서 문서 읽는 연습 할 겸 MSDN을 참고하여 예제를 통해 공부해보도록 하려고 한다.

https://megayuchi.com/

 

yuchi's development

Game Development, Windows Development, Figure , Anime

megayuchi.com

2019년 4월 글중에 Direct X 프로그래밍 학습에 대한 글이 있다.
개인적으로 유튜브에서 Pope Kim, NullNull한 개발자, OJTube, Megayuchi, 홍정모, 이득우이분들은 보고 배울점이 많은 분들이라고 생각되니 한번쯤은 유튜브를 통해 보는것도 좋다고 생각한다. Rookies님도 대단하신분이라고는 하는데 한번도 강의를 본적이 없어서 모르겟다. 

요새 계속 강의를 보기만하고 직접 하려고는 안하는 자세가 튀어나와서 강의 중독이라 판단하고 강의는 보지 않고 자습하다가 안되면 찾아보기로 결정해서 아마 엄청 나중에 찾아보지 않을 까?싶다.. 

또 번외로 웹 개발쪽에서는 어둠의 생활코딩이라 불리는 코딩 애플님이 정말 쉽고 이해하기 쉽게, 하지만 위트있게 설명을 잘한다. 이분도 한번 찾아보기 바란다.

#3 게임 

요새 메이플랜드에 빠졋다.

이 게임은 넥슨에서 서비스하는 Maple World라는 플랫폼에서 제공되는 유니티/C#Lua 스크립트 기반의 유저 개발의 크로스 플랫폼 어플리케이션이다. 

 

초등학생때 20렙까지만 찍고 게임을 그만두게 추억에만 남아있던 게임인데 성인이 되어서 제한없이 추억을 회상하면서 플레이 할 수 있다는 것이 재밌는것 같다. 

전에는 이전에 했던 게임들의 불편함을 왜 궂이 찾아가면서 플레이 할 까??에 대한 의구심이 있었고, 월드오브워크래프트 클래식과 같은 게임을 하는 사람들을 이해하지 못했는데 이제는 이해할 수 있을 것 같다.

역시 직접 경험해보는것만큼 좋은 것은 없나보다.

 

그런데 메이플랜드를 플레이하면서 여러가지 문제점들을 느꼇다.

 

1. PC환경에서는 채널의 이동이 구현되어 있지 않아 같이 하고싶은 플레이어가 있다면 무조건 재접속을 하거나, 환승구역이라는 임시 땜빵용 타 서비스(환승구역)로 넘어갓다가 다시 돌아와야 한다. 이것에 대한 개선이 필요할 것 같다.

 

2. 모바일 환경에서 키 매핑을 하드코딩으로 한것 같다. PC에서 키 설정을 통해 개인화 하여 따로 지정하면 모바일 환경에서 키가 매핑되지 않아 사용할 수 없다.

점프, 공격, 줍기라는 이벤트로 매칭한게 아니라 Ctrl, Alt, z키를 모바일 인터페이스에 매핑해놔서 이렇게 따로 설정하면 모바일 환경에서는 공격을 못한다거나, 점프를 할 수 없어서 다른 장소로 이동할 수 없는 등 게임의 진행이 아예 불가능해진다. 나처럼 커스터마이징 하는 사람이 많지는 않겟지만 개선점이라고 찾아서 글을 올린다.

 

3. 모바일 환경에서 그래픽 이미지가 중간중간 깨지는 부분이 보인다. 이거는 반응형 UI설계가 적용되지 않은 것 처럼 보인다.

배치 자체는 어느정도 유사한데 중간중간 이미지 사이에 실금이 생긴다. 받아들이기에 따라서 불편함을 토로하는 사용자가 있을 것 같다.

 

4. 내가 이전에 보낸 채팅이 자동으로 클립보드에 남아 채팅창 입력에 남아있다. 아마 버퍼를 비우는 작업 로직이 채팅 전송 마무리 단계가 아니라 새로운 채팅 입력시에 입력 버퍼를 초기화 하는 것 같다. 

 

5. 메이플 스토리는 스킬을 많이 사용하는 게임은 아니지만 입력 키가 점프, 줍기, 공격, 그리고 이동방향 컨트롤러만 존재하는것은 상당히 모자라다. 스킬을 사용하고 싶어도 PC에서 키 입력 커스터마이징 하거나 스킬창을 켜놓고, 플레이 화면을 절반을 스킬창으로 가린채로 스킬을 더블클릭하여 사용해야 한다. 이것은 모바일 플랫폼 사용자를 매우 줄이게 될 것이다.

모바일 플랫폼에서 본격적으로 서비스 할 생각이 아니라면 차라리 모바일 서비스를 하지 않고 PC 서비스에만 집중하는게 서버 관리와 데이터베이스, 네트워크 측면에서 유리하지 않을 까 싶다. 

왜냐면 모바일 유저들은 정상적인 방법(게임 종료 버튼을 통한 접속종료)보다 백그라운드에 넘겨진 앱을 시스템이 강제로 멈추거나, 사용자가 강제종료하는 경우가 상당히 많기 때문이다. 

최근 유저 데이터 저장에 난관을 겪었던 메이플랜드 운영진이라면 이것도 당연히 고려하지 않을까 싶다.

 

뭐 내가 직접 개발에 참여하는것도 아니고, 이제 막 학교를 졸업하고 사회 생활을 시작하는 주니어도 되지 못한 뉴비의 입장에서 왈가왈부 할 문제는 아닌 것 같지만 그래도 이렇게 구성되었기 때문에 이런 문제가 있지 않을 까?라는 추측으로 이정도 분석 정도는 해도 괜찮지 않을까? 해서 글을 올려본다.