착각과 기대

기대는 그 결과가 이루어지지 않을 가능성이 있다는 것을 감안하고도 결과를 내려고 하거나 기다리는 것이고, 착각은, 결과가 이루어지지 않을 가능성이 있다는 것을 망각한 상태를 말한다.

매트릭스에 나오는 가상세계에 살고 있으면서 그것이 진짜 삶이라 믿는 착각. 영원히 깨지 않는 다면 좋을까? 어쩌면 매트릭스에서는 그것이 가능할 지 모르겠지만 우리가 사는 사회에서는 언젠가 진실의 순간을 마주해야 하는 때가 오기 마련이다.

영원할 것 같았던 어린시절, 모든게 가능해 보였던 학교안 울타리에서의 생활, 승승장구하며 인정받고 끝없이 올라갈 것만 같았던 직장생활. 하지만 이런것들은 누군가가 나를 위해, 나와의 거래를 통해 만들어 낸 가상세계일 뿐 진실은 담겨있지 않다.

그렇게 다음 단계라고 믿었던 계단을 차곡차곡 오르다 보면, 그 끝에는 아무것도 없다는 것을 보게된다. 다행히 현실은 매트릭스에 나오는 진실처럼 시궁창은 아니다. 다만 내가 올라온, 그리고 믿었던 그 계단들이 그 만큼의 의미가 없었다는 자괴감이 내 현실을 시궁창으로 만들 뿐이다.

선택의 순간은 늘 있어왔다. 나에게 계단을 내려갈 기회, 그리고 그 진실에 마주한 적도 있었다. 다시 진실의 문을 여는 것은 내가 가상세계에 쏟아부었던 시간만큼 어려워지고, 그 만큼 나를 허탈하게 만든다. 하지만 내가 기댈 수 있는 것은 오직 진실 뿐, 가상의 세계를 버릴 이유도 없다. 진실을 보고 나아갈 수 있다면 이것 또한 내가 나아가는데 도움을 주는 경험과 시련일 뿐이라 생각한다.

하루에도 몇 번씩 마음이 어지럽다. 마주해야할 진실을 보는 댓가로 놀랄 일은 아니지만 나를 자꾸만 뒤돌아보게 하는 나 스스로를 마주하는 것이 어렵다. 이렇게 다시 다짐하는 글과, 얼마간의 시간이 이 어지러움을 해결해 주리라 믿는다.

나는 착각속에 살고 싶지 않다.

새로운 시작을 준비하며

15일까지 생각해 보려 했으나 결국 인공호흡기로 수명연장을 하는 것 같아 그냥 그만두는 것으로 마음을 먹었다. 안녕 내 월급… 그래도 한창 사업할 때 만큼 받았는데, 그 한창 사업할 때가 10년전이니 조금 웃기기도 하다. 돈의 액수로만 생각하면 절대 회사를 그만 둘 수 없으니 눈 딱 감고 다음 단계로 넘어가기로 했다.

마음을 정하고 나니 어지럽던 머릿속이 한결 정리되어 가벼워지는게 느껴진다. 내가 앞으로 할 일들은 크게 3가지이다. 하나는 로이와 함께 게임회사를 만드는 것. 두 번째는 라팔과 함께 게임 에셋 프로젝트를 진행하는 것. 세 번째는 모바일 앱 개발을 하는 것.

게임회사는 설립과 계획 그리고 투자준비로 바쁘겠지만 꼭 9월에 되어야 하는건 아니다. 오히려 충분히 시간을 가지고 진행하는것이 좋다는 생각인데 외부 투자에 대한 기대보다는 나와 로이가 팀으로 어느 정도 계획을 만들 수 있으면 좋겠다는 생각이다.

게임에셋프로젝트는 라팔이 아트를, 내가 개발을 맡아 몇가지 에셋을 만들어 보기로 한 프로젝트다. 크게 세 가지 정도 계획이 있고 그 중 2가지를 먼저 같이 해 볼 생각이다. 첫 번째 프로젝트는 개발은 이미 시작되었고 다음 주 정식으로 킥오프, 9월 말/10월 중순에 첫 번째 버전을 출시하는 것이 목표이다.

모바일 앱 프로젝트는 나 혼자 진행하는 프로젝트인데 기획에서 약간 정체되어 있고 MVP정의를 하지 못해 조금 빙빙도는 기분이다. 마음이 안정되고 여유가 조금 생기면 계획을 조금 더 명확히 해보고 싶다.

늘 가장 어려운 방향으로만 선택했던 내 인생… 이번 결정도 남들이 보면 미쳤다는 말 말고 어떤 말을 할 수 있을까… 하지만 내가 나를 믿지 못하면 무엇을 이룰 수 있을까…

각종 서류들을 정리하면서 보니, 내가 독일에 와서 받은 급여명세서가 100여장에 달했다. 온갖 어려움과 힘들었던 일들이 생각나 울컥했으나 그 만큼 성장하고 배우고 느낀걸 생각하면 감사하기도 했다. 오늘의 이 출사표가 내 인생에 가장 중요하고 가치있는 결정으로 남을 수 있도록, 가자!

사표

오늘 사직서를 냈다. 2002년 병특으로 시작하고 20년 동안 몇 군대의 회사를 다니고 몇 번의 사표를 냈을까?

2002년 6월 가민정보 병특 시작
2004년 11월 사표내고 NHN(중간 NHN Japan 파견)
2008년 2월 사표내고 IAMG 창업
2014년 6월 독일에서 Yager
2015년 9월 사표내고 Aeria games
2017년 1월 사표내고 스마일게이트 유럽
2018년 5월 사표내고 AAI
2020년 2월 사표내고 CrazyLabs
2022년 9월 말로 퇴사 예정…

7개 회사 1번의 창업.

로이랑 크레이지랩스에서 만들던 게임을 마무리하고나서 지친건지 다른 미래가 보이지 않는 것인지 여러가지 복잡한 마음이었다. 뒤돌아 보면 영주권을 따기 위해 취직을 했다가 스마일게이트 때 영주권 따고 편안한 마음으로 다시 사업을 해 볼까 했는데, 그냥 한 번 다녀보자고 생각했던 AAI에서 2년정도를 보내고 나니 많이 지쳐있었던것 같다.

내 사업 반, 취직 반 신분으로 시작한 크레이지랩스에서 열심히 노력했지만 게임 자체의 성과는 크게 좋지 않았다. 어디서든 안배웠을까, 그래도 여기서는 모든 프로젝트 관련 셋업을 바닥부터 다 진행해 본 것이 좋은 경험이었다. 개발은 어느 프로젝트에서나 핵심이지만 개발을 둘러싼 팀을 만드는 것이 성공의 토양이 되는 만큼, 스스로 첫 시도에 드림팀에 가까운 팀을 꾸렸다는 것은 스스로 만족스럽다.

2020년 부터 끊임없이 두들겨왔던 나 스스로의 프로젝트를 조금 더 구체화 시키고 속도를 붙일 때가 되었다. 아이디어 중 현실적인 것들을 추리고, 내가 지금 할 수 있는 가장 빠르고 효율적인 방법으로 이 비지니스가 나에게 동작할 수 있는지 검증해 보는것이 첫 번째 단기 목표이다. 그리고 이런 단기 프로젝트를 몇 가지 테스트 해서 장기 프로젝트로 발전시키는 것을 최종 목표로 하고 있다.

아무리 저축해 놓은 돈이 있더라도 고정 급여가 없다면 심리적으로 많이 위축될것 같아 몇가지 옵션을 준비했다. 먼저 9월 말로 퇴사한다고 했지만 회사에서 내가 진행해 줬으면 하는 프로젝트가 있는데 기술적으로도 배울것이 있고 기간도 적당해 15일 까지 검토 후 내가 진행하겠다고 결정하면 퇴사를 취소하는 옵션이다. 프로젝트 검토 뿐 아니라 지금 계약사항의 변경 또한 포함시켜 합의하기로 했다. 급여로는 많은 액수를 주고 있는 회사이기 때문에 이미 다른 회사에서 더 좋은 오퍼를 받은것이 아니라면 크레이지랩스에 머무는것이 사실 가장 편하고 좋은 선택이다.

다음 옵션은 로이와 함께 다른 프로젝트를 진행하는 것이다. 지금은 우리 둘이 같이 회사를 창업해 투자를 받는 방향으로 생각중에 있다. 투자 의향이 있는 몇 회사와 개인이 있는데, 이 방법으로 진행할 경우 창업 초기에 아무래도 지금과 같은 급여는 포기해야 한다는 단점이 있으나 온전히 나의 사업을 하는것(공동창업이지만)과 레퍼런스 좋은 초기 투자자들을 가질 수 있다는 장점이 있다. 게임은 성공을 보장하지 않기 때문에 실패의 리스크도 있는 편..

이 두 가지 옵션 중 하나는 내가 홀로서기를 하는데 중요한 역할을 하게 될 것이다. 내 단기 프로젝트들을 테스트하고 장기 비지니스로 바꾸어 가는 과정은 최대 18개월로 정했다. 이 정도면 3-5가지 프로토타입을 테스트하고 1-2개의 게임이나 서비스를 실행 해 볼 수 있는 시간이라고 생각하기 때문이다.

어떤 옵션을 선택할 지는 15일이 지나면 알 수 있을 것 같고, 의외로 이 두 옵션을 선택하지 않고 처음부터 풀타임으로 시작하는 방법도 있을것 같다. 이제는 딱히 어떤 회사나 조직에 들어가고 싶은 마음이 없고 그런 생각 만으로도 답답해진다. 사표를 내고 나니 마음은 조금 더 홀가분해졌지만 급여가 주는 달콤함에서 벗어나야 한다는 생각에 마음이 좀 무거워 지기도 한다.

더 작은 급여일때도 그런 생각을 했었다. 독일 와서 처음 받은 돈 보다 거의 3배가까이 받는 지금은 그 마음이 더 클 수 밖에 없겠지만 엄청나게 아쉽지도 않다. 중요한것은 내가 사용하는 시간들이 결국 어디로 가느냐의 문제이기 때문이다. 내가 오늘 사표를 내고 약간 씁쓸한 기분이 드는건 20여년간 일해 오며 늘 조금만 더 이 순간을 빨리 만들었어야 한다고 생각했기 때문이다. 영주권을 따고 나서 시작했다면… 아예 독일 오면서 부터 IAMG를 계속 했다면…

하지만 모든 선택은 나의 몫이었고 그 만큼 얻은것도 많았으니 후회는 하지 않고 약간의 아쉬움만 느껴보려 한다. 아쉬운건 아쉬운 것이고 홀가분한건 홀가분한 거니까. 이제 15일 까지 프로젝트를 검토하고 아주 짧겠지만 1-2주 정도 나만을 위한 휴식 시간도 가져보고 싶다. 파일럿으로 진행하고 있는 프로젝트도 최소 첫 번째 결과가 9월에 완성될 수 있도록 하고 싶다.

일단, 20년 동안 정말 수고 많았다! 잘했다, 그리고 고생했다! 앞으로도 잘 할거야!

네가 내 곁에 있다면

Bist du bei mir, geh ich mit Freuden zum Sterben und zu meiner Ruh.

Ach, wie vergnügt wär so mein Ende, es drückten deine schönen Hände mir die getreuen Augen zu.

It is not over until I win

Nobody believes in you.

You’ve lost again and again and again.

The lights are cut off, but you still looking at your dream, reviewing it everyday and say to yourself, it’s not over until I win.

It’s very important as you hold on to that dream.

The moments when you are going to doubt yourself.

The rough times are going to come.

But They have not come to stay, they have come to pass.

It’s very important for you to know that.

Don’t say I am having a bad day say I am having a character building day.

It’s very important for you to believe that you are the one to make this happen.

지우의 성취, 다르게 자라는 아이들

지우 학교에서 9학년이 되면 오케스트라를 하던 아이들은 상급 오케스트라에 들어가기 위한 시험을 본다. 딱히 차별을 두는건 아니지만 오케스트라는 아무나 갈 수 없기 때문에(악기를 다루어야 하므로), 입학 때 오케스트라에 들어가지 않으면 나중에 들어가는것은 아주 어렵다.

5,6,7,8 학년 동안 오케스트라 생활을 하면서 9-12학년동안 상급 오케스트라를 하게 되는데, 이 또한 시험을 봐야 하고 여기서 떨어지면 합창단이나 실용음악을 하는 곳으로 가야 한다.

오늘 있었던 그 시험에 지우는 당당히 합격하고 왔다. 그것도 1st 바이올린으로!

처음 이 학교에 올 때만 해도 바이올린 초보 티를 벗지 못해서 2nd 바이올린으로 시작했는데 상급 오케스트라 합격 뿐 아니라 1st바이올린, 그리고 전에 악장하던 아이와 단 1점 차이로.. 9학년 이후로 열심히 하면 악장도 노려 볼 수 있게 되었다. 실력이 비슷했던 한 친구는 상급오케스트라에 들어가지 못하게 되었다고 한다.

여기서 내가 너무너무 자랑스러운 것은, 나와 정은이는 단 한 번도 지우한테 바이올린 연습을 하라는 말을 해 본적이 없다는 것이다. 오로지 스스로 연습하고 노력해서 얻은 결과이다. 물론 공부도 마찬가지다. 반에서 아마도 1,2등을 다투는 듯 한데, 우리는 지우가 언제 시험을 보는지 뭘 하는지도 잘 모른다. 혼자 공부하고 결과만 듣는 경우가 많다. 어느 순간 부터 너무 바빠져 버린 지우.. 무엇을 하나 보면 독서, 뜨개질, 공부, 운동, 바이올린, 핸드폰 영화 감상 등 정말 단 한 순간도 낭비하지 않고 꽉 채워 보내고 있다.

어릴 때 부터도 에너지가 넘쳐서 감당이 안되었는데 그 에너지를 이렇게 올바른 방향으로 쓰고 있다는 사실과 그로 인해 본인 스스로 많은 것들을 성취하고 있으니, 바로 이 부분이 너무 너무 자랑스러운 것이다.

지우 뿐 아니라 호야와 시우도 학교에 다녀오면 자기 자랑 하기 바쁘다. 세 아이들이 이루는 작고 큰 성취들에 정신이 없을 지경이다.

우리가 한국에 있었다면 아이들을 이렇게 키우고 있었을까? 지금 처럼 혼자 스스로 할 수 있도록 기다려 주고 옆에서 지켜봐 줄 수 있었을까? 아이들이 잘 하고 있다는 한 가지 사실만으로 너무너무 다행이라는 생각이 든다.

[GameShell] 1차 구현

오잉.. 언제 시간이 이렇게 지난건지… 지난 번 목표 중 구현 된 부분들

  • Authentication
  • Local action process
  • Dynamic data
  • Static data
  • Local data
  • Shortened key
  • External asset

에셋관리는 실제 게임이 아니니 흥이 나지 않는다. 그래서 일단 보류. 한다면 Addressable + CCD 를 써야겠지? 근데 Addressable은 데이터가 캐시에 있어도 불러오는 딜레이가 조금 있던데 그 이유를 당췌 모르겠다.

1차 목표에는 없었지만 그 외 구현 사항으로

  • 전체 로직 개선, 개선, 개선
  • IPA 수동빌드 및 TestFlight upload

로직 개선이 조금 보람있었던 부분인데, 노출된 함수를 최소화 하고, 사용자 입장에서 디테일한 처리를 신경쓰지 않도록 구현했다. 사용자 정보를 건드리는 모든 콜은 히스토리를 남겨 서버와 자동으로 연동 되도록 하였다. 이 부분은 계속 개선이 필요한데 프로젝트 시작 전에 개선을 하면 할 수록 실제 프로젝트 구현과 유지보수에서 아낄 수 있는 시간은 어마어마 할 것이다.

다음 목표

  • 디버그 메뉴 만들기
  • 시간 디버그 가능하도록
  • 기본 설정 UI로 설정 Flag 테스트
  • 푸시/토큰 테스트
  • 게임센터 로그인(타 계정 로그인 연동)

그 다음에 실제 UI구현으로…?

목표는 6월 말까지!

호야도 핸델 김나지움으로..

지우에 이어 호야도 핸델 김나지움에 합격했다.

핸델 김나지움의 특징은 학교 이름에서도 알 수 있지만 음악에 특성화 된 학교이다. 모든 학생들이 오케스트라나 합창단 혹은 실용음악과 같은 음악활동을 의무적으로 해야 하고 때때로 이 음악활동이 학업보다 우선할 때도 있다. 그렇다고 학업 성적이 뒤쳐지는건 아니다. 늘 베를린 아비투어 성적에서 최상위권에 들어있는 학교 중 하나이다.

그럼 학교에서 ‘특별히’ 뭔가를 더 가르치느냐 하면 그것도 아니다. 학교 분위기 자체가 그냥 그런 분위기 일 수 밖에 없는게 어려서부터 이런 저런 악기를 시키는/좋아하는 집에서 자란 학생들이 모였으니 그 분위기가 다른것 같다. 아이들 교육에 극성인 가정도 많지만 여유있게 삶을 즐기고자 하는 가정도 많다. 여느 10대 아이들 처럼 일탈도 하고 방황도 하지만 그 정도가 심하지 않는것 같다.

나와 정은이한테 중요한 것은 바로 이 부분이다. 음악도, 공부도 중요하지만 아이들이 세상의 전부 혹은 대부분으로 느끼는 가정과 학교가 어떻게 보이는지에 따라 자신의 기준을 결정할 수 있기 때문이다. 이곳에서도 같이 시작했지만 1-2년이 지나 굉장히 다른 방향으로 가는 친구들이 보인다. 처음의 그 작은 차이는 아마도 가족과의 관계나 관심의 차이에서 시작되었을 것이다.

지우는 이 학교에서 더 얻을게 있을까 싶을 정도로 열심히 그리고 잘 하고 있다. 호야 또한 그렇게 되리라 믿어 의심치 않는다. 엄마아빠한테 먹이만 받아먹던 아기새에서 이제 자신이 날 수 있을지 시험해 보는 작은새로 성장한 호야. 무엇이든 다 경험해 보고 즐기고 도전하고 또 실패해 보는 시간을 가졌으면 좋겠다.

[GameShell] 설계

지난 개발일지 이후 가족들의 코로나 감염, 그리고 간만의 몸살(코로나는 걸리지도 않고..), 그 직후 10여일간의 부활절 가족 여행, 부모님 방문까지 연이은 이벤트로 모든 개인프로젝트가 중단되었었다.

nocnoc 서비스 아이디어를 조금 더 구체적으로 정리하는 동안 유니티로 게임 프레임워크를 만들기로 했다. 사실 지금 하는 프로젝트의 프레임워크를 조금 더 모듈화 되고 범용적으로 만드는게 목표인데, 연초에 이미 2주정도 시간을 들여 정리한 바 있다. 그 프로젝트를 이어서 진행할까 생각했는데 당시 UI 와 테스트 모듈까지 다루려던 욕심에 코드가 명확히 분리 되지 못했던 기존의 문제를 그대로 가지고 있었기에 다시 처음부터 만들기로 했다.

먼저 모든것을 잊고 모바일 게임의 기본 로직을 구성하는 프레임워크와 지원 라이브러리를 구성하는 것을 목표로 했다. 범용성 있게 설계하지만 너무 이 주제에 집착해서 개발 속도가 느려지는 일이 없도록 주의했다. 기본 구성은 현재 진행하는 프로젝트와 마찬가지로 JSON 기반의 자료 정적/동적 자료 저장과 로컬 액션 기반의 사용자 액션 히스토리 구성을 통해 클라이언트에서의 독립성과 서버 검증을 함께 처리하려고 한다.

사용되는 SDK들은 동적으로 이용할 수 있도록 인터페이스를 설계하고 최대한 실 사용자가 자동화된 방식으로 사용할 수 있도록 했다. 결과적으로 사용자는 자신이 사용하고자 하는 자료구조와 로컬 액션을 처리하는 클라이언트/백엔드 페어 로직을 작성하면 나머지 부분은 프레임워크가 알아서 처리해 주는 식이다.

이번 프로젝트에서 가장 의미없이 많은 시간을 투자해야 했던 백엔드 부분의 버그처리나 테스트가 모듈화 되어 이루어질 수 있는 기반이 만들어 지는 것이다. 클라이언트에서도 훨씬 간결해진 프로세스를 통해 실제 유저가 Crash 나 ANR을 경험할 경우 쉽게 재현이나 문제가 되는 포인트를 리포트하고 디버깅 할 수 있을 것이다.

1차적으로 구현할 기능은 다음과 같다. 샘플 사용 백엔드는 Firebase 로..

  • Authentication
  • Local action process
  • Dynamic data
  • Static data
  • Local data
  • Shortened key
  • External asset

1차 기능 구현이 완료되면 기본 UI Framework 을 만들어 볼 생각이다. 이 역시 코드와 UI 가 분리되고 모듈로 동작할 수 있도록 구현 예정.

그 외 기본 구현 예정 기능들

  • Force update
  • Force kick-out
  • Dynamic data sync
  • Push notification
  • IAP
  • Subscription
  • Reward Video
  • Google/Apple/Facebook login
  • Switch account
  • Sound/Haptic control
  • Localisation

이미 구현해 본 기능들이고 개선 방향을 알고 있으므로 구현에 문제는 없어보이지만 어떤 방식으로 모듈화 할 지가 고민이다. 물론 고민에 시간이 너무 걸린다면 일단 구현해 놓고 볼 문제… 1차 구현 목표는 이번 주말 전 까지.

[nocnoc] Edit post

간단한 포스트 수정 기능 추가.

39도까지 열이나서 병가를 냈다. 이 회사로 옮겨 2년만의 첫 병가… 독일 회사에서 기본 10일은 병가로 쓰는데 나는 뭐 이리 열심히 일하는지 모르겠네. 아스피린 먹고 파라세타몰 먹고 땀 뺀다음 열이 좀 내려서 얼른 기능 추가.

이 다음은 무엇을 해야 할까?

  • 화면 전환 효과
  • 카테고리(룸) 만들기
  • 이미지 에디터
  • 사진 선택
  • 잠금
  • 백업
  • 공유
  • 사용자 기본 관리 메뉴