brunch

매거진 5mm 앱개발

You can make anything
by writing

C.S.Lewis

by 홍기린 Dec 20. 2023

첫 앱개발 공부, 기획 단계에서 세웠던 목표 3가지

#001번째 앱 [ 텍스트게임 - 회사밖은 위험해 ] 개발 로그 (1)

공부하면서 앱 만들기 #001 - 텍스트게임 [ 회사밖은 위험해 ]

플러터 강의영상을 보면서 '뭐 간단하게 만들 게 없을까?' 하다가 만든 텍스트 게임 [ 회사밖은 위험해 ]의 첫 기획단계에서 세웠던 목표를 정리해봤습니다.

>> 여기서 게임을 직접 플레이 하실 수 있어요 ㅎㅎ



#Intro

그래, 게임을 만들어보자! 라고 눈을 반짝이던 것도 잠시, 텅 빈 피그마 화면을 보고 있자니 막막해졌다. 사실 게임이라기보다는 단순히 텍스트를 조건에 맞춰 보여주는 그런거였고 공부를 위한 간단한 앱이었다. 하지만 그래도 여전히 기획과 디자인이 필요했다. 그리고 간단한 시나리오도 필요했다. 실습을 위한 개발이지만, 이왕 할 건 다 해보자, 싶었다. 기획과 디자인 개발과 배포. 모든 과정을 경험해보고 조금씩 능력의 범위를 넓혀보면 어떨까 싶었다. 


#1 게임 기획 - 게임요소를 1개 이상 넣기 (랜덤요소)

어렸을 때부터 게임하는 걸 정말 좋아했지만, 정작 어떤 게 '게임스럽게' 만드는지에 대해서는 지식이 없었다. 하지만 그간의 풍부한 경험(?)으로 미루어보아 이건 꼭 넣어보면 어떨까 싶었던 게 "랜덤" 요소였다. 요즘 대부분의 게임에는 랜덤요소가 있다. 랜덤 아이템을 주기도 하고 에피소드가 랜덤하게 벌어지기도 한다.

그래서 처음 게임이 시작될 때, 주인공의 직책을 랜덤하게 4개 중에 하나를 부여하는걸로 기획을 했다. 그에 따른 능력치도 랜덤하게 부여하고 그 능력치에 따라 뒤에 스토리 진행해서 진행되는 에피소드가 달라진다. 사실, 태초(?)의 기획에는 이것보다 더한 목표들이 있었다. HP를 관리한다거나, 능력치를 더 세분화 한다던지... 하지만 개발 단계에서 다 짤렸다 ㅋ 지금 실력으로는 구현할 수 없었기에 not today...not this project.... '_'ㅎ


'너무 복잡해서 나중에' 라고 따로 갈무리해둔 기획들....희희



#2 백엔드(DB) 없이 만들기

이건 내 능력에 의한 제한적인 목표였다. 아직 Flutter와 Firebase로 백엔드 구축하는 걸 모른다. 나중에 Firebase의 storage라던지 백엔드 구축하는 법을 알게 되면 그걸 응용한 앱을 더 만들어볼 수 있겠지만, 지금은 불가능했다. 그래서 따로 데이터를 저장하지 않고, 내부 state 관리만으로 앱이 굴러갈 수 있도록 개발하기로 했다.


그래도 3가지의 데이터를 저장해야 했다. 처음 랜덤하게 나오는 직책과, 그에 따른 능력치, 그리고 게임 중간에 주어지는 아이템이었다. 이걸 어떻게 저장해야되나 고민하다가, Flutter에서 전역적으로 state를 관리하는 패키지를 찾아봤더니 riverPod이라는게 당연하게도(?) 있었고, 개발하면서 이참에 배워보자 싶었다. 공식 문서 들어가서 아주 기본적인 사용방법을 익히고, chatGPT한테 물어보면서 이리 저리 시도해봤다. 



#3 Firebase로 배포까지 해보기

Firebase는 처음 해보는 거였다. 하지만 꼭 배포를 해보고 싶었다. Flutter랑 Firebase는 찰떡궁합이라는 얘기를 하도 많이 들어서 얼마나 물 흐르듯이 진행되는지도 경험하고 싶었다. (진짜 물 흐르듯 진행되더라...어메이징) aws의 amplify로 배포는 해봤지만 파이어베이스는 경험해본적이 없었기에 유튜브에서 관련 영상을 찾아보고 또 니코쌤 강의영상의 후반부에 파이어베이스 강의만 따로 찾아보기도 했다. 그리고 결국 web용 배포에 성공했다! 오오,, 그때의 그 감격이란,,, 나중에 실제 앱이 출시되면 얼마나 신기할까?



#Ending

만들면서 재밌었다. 사실, 앱이라고 부르기에도 민망한 이 게임은, 그래도 나름 '첫번째'라는 기념비적인 의미가 있으므로 이름도 붙여주고 이렇게 기록으로도 남겨보는거라고 생각한다. 처음 하는거라 신기한 것도 많았고 재미있게 스터디했다. 이제 슬슬 다음에 뭐할지 아이디어를 짜봐야겠다. 주변 사람들한테 보여주고 이야기하다가 '백두산 화산폭발' 주제로 게임 만들면 좋겠다고 그래서 한번 해볼 예정.....  .-. ㅎㅎㅎㅎㅎ


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari