<유니티 내용>
어찌 어찌 Db를 붙여서 이제는 Db를 바탕으로 개발 및 기존 코드를 수정해 나갔다. 사실 Db 붙이면서부터가 본격적인 온라인 RPG 게임의 시작이라고 볼 수 있을 것 같다. 왜 그런가 하면 유저가 사냥을 해서 경험치를 얻거나, 골드를 얻거나, 레벨업을 하거나, 아이템을 얻거나 등등 모든 것들을 Db에다가 저장을 해놔야지 나중에 유저가 접속하였을 때 본인이 지금까지 해온 것들을 그대로 쭉 플레이할 수 있기 때문이다. 너무 당연한 얘기이기도 한데, 아주 처음에는 이런 개념을 제대로 이해하지 못했던 것 같음.
아무튼 요즘은 클라 <->서버<->Db를 왔다 갔다하면서 코드를 짜고 있는데 골때리는 것들이 많다. 서버와 Db를 동기화 시키는 것도 은근히 흐름이 한 눈에 들어오지 않고, 어떤 로직들은 멀티 쓰레딩 환경에서 안전할까? 어떤 흐름으로 실행을 해야 될까?에 대한 고민도 많이 하고 어떤 기능들은 이 기능 자체를 어떻게 구현해야 할까? 싶은 것들도 많았다. 그래도 꾸역꾸역 코드를 짜보고 애매한 것들은 GPT한테도 물어보고, 테스트 해보고, 테스트 했는데 이상하게 동작하면 이건 왜 이렇지 다시 한 번 쭈욱 코드 검토해 보고...
어떤 것들은 디버깅하기가 쉬운데 (null 참조 등), 어떤 것들은 디버깅하기가 아주 골때리기도 한다. null 참조 등이야 크래쉬가 나니까 어느 지점에서 에러가 발생하는지 찾기가 쉽고 수정하기도 상대적으로 용이한데, 크래쉬는 안 나는데 이상하게 동작하는 것들 중에 클라<->서버<->Db 중 어느 곳에서 문제가 발생하는 지 확실하지 않은 것들은 전체적인 구조를 다시 한 번 다 훑어보면서 수정해야 되기 때문에 쉽지가 않다. 어떤 것들은 머리 싸매면서 몇 시간이고 찾아 보는 경우도 많다. 이거 왜 이렇게 이상하게 동작하누.......
아무튼 오늘 상점 관련 작업을 마무리 하면서 어느 정도 기본적인 RPG 게임의 틀이 만들어졌다. 기본적인 RPG 게임이라 함은 아래와 같은 것들을 할 수 있어야 된다라고 보는데
1. 유저가 사냥을 해서 재화/경험치/아이템을 획득할 수 있고, 레벨업을 할 수 있다.
2. 유저가 게임을 종료하고 나중에 다시 게임에 들어와도 그대로 이어서 게임을 진행할 수 있다.
3. 유저가 획득한 아이템을 판매할 수도 있고, 어떤 아이템들은 상점에서 살 수도 있다.
4. 다양한(ㅋ) 사냥터가 있고, 여러 유저들과 같은 사냥터에서 사냥할 수 있다.
5. 어떤 사냥터에서는 유저끼리 전투도 가능하다. (PK)
오늘 상점 작업을 마무리 하면서 이제 위 기능들은 다 할 수 있는 것 같다고 생각한다. 음,,, 음,,,!!! 나름 뿌듯하다,,! 물론 기본적인 로직은 캐릭터 하나로 테스트 하고, 사냥터 등 다른 유저들과 Interaction이 있는 컨텐츠에 대해서는 많아봤자 3개 정도의 더미 유저로 테스트를 해봤기에 추후에 Live로 많은 유저들이 동시에 무언가를 하게 되었을 때 이게 안전하게 돌아간다라는 보장은 없다. 사실 두렵기도 함. 근데 그건 그거고, 우선은 여기까지 구현을 한 거 자체가 나름 대견하다라고 생각한다 haha.
<기타>
요즘 작업을 할 때에는 하루에 8~10시간? 정도 작업을 하는 거 같다. 보통 9시간 정도 작업을 하는 것 같기는 한데 당연히 매일 그렇게 하는 건 아니고 어디 놀러 갔을 때는 못 하고, 술을 많이 마신 다음날(ㅋ오늘임)에는 3시간 정도 하기도 하고 그렇다. 뭔가 점점 더 오래 작업 하는 것에 대해 익숙해지는 것 같기도 한데 또 이게 아직 완전히 적응되지는 않은 것 같다. 아무래도 하고 있는 작업이 코딩 작업이다 보니 어렵기도 하고 뇌에 부담도 많이 돼서 그런지 어느 정도 작업을 하고 나면 아주 머리에 불이 나는 것 같다.
한 번씩 '아 왜 이렇게 의지가 약하지, 그래도 9~10시간 정도는 그냥 저냥 그러려니 하면서 할 수 있어야 되는거 아닌가? 백수라 시간도 널널한디?' 이런 생각이 여전히 드는데, 오픈카톡 인디게임 개발자 방에서 오늘 이것과 관련된 얘기들을 하고 있더라. 거기서 어떤 분이 '협업 아닌 혼자 하루 8시간 풀로 집중해서 일할 수 있으면 진짜 성공할 수 있을 것이다, 그렇게 꾸준히 3~6개월 하면 결과가 안 나올 수 없기 때문이다. ' 라는 얘기를 했는데 뭔가 어 이거 내 얘기(ㅋㅋ)인 것 같아서 진짜 나도 성공(ㅋㅋㅋㅋ)하겠네 라는 건방진 생각이 들었다. 하루에 나름 저정도 시간을 들여 나름 풀로 집중해서 개발을 한다라고 생각하기에, 음 역시 나는 성공할 운명인가(zzz) 싶었음.
그런 얘기가 나온 김에 '난 하루에 7~9시간 정도 개발을 하는데 이게 정말 쉽지는 않은 것 같다. 의지가 나약한가 싶기도 하다' 라고 얘기 해봤는데, '회사 일은 회사에서 다른 사람들과 같이 하니까 맘 잡기 쉬운데, 혼자하는 건 정말 자기 자신과의 싸움이기 때문에 쉽지 않다' 라는 얘기를 듣기도 하고, '하루에 6시간만 풀집중해도 잘 하는 거다' , '책상에 앉아있는 시간이 7~9시간만 되어도 훌륭한 거 아닌가' 라는 얘기들도 들었는데 감정적으로 꽤나 많은 위로가 되었던 것 같다. 뭐랄까,,,
'음 내가 하고 있는 이게 쉬운 건 아닌 게 맞구나? 내 의지가 박약하거나 그런 건 아니구나' 싶은 느낌?
지금 내가 하고 있는 일에 대해 좀 더 스스로에 대해 자부심을 가져도 될 것 같다라고 생각한다. 조금은 가져도 되지 않을까? 쉽지 않은 걸 꾸역꾸역 하고 있다니! 역시 난 대단해 아하하! 성공할 수 밖에 없네.
ㅈㅅ 아무튼 그래서 기분이 좀 좋았다라는 것이 오늘 일기의 결론이다.
'개인기록' 카테고리의 다른 글
| 2025/08/13 - 이제 1~2주 정도 남았을까? (0) | 2025.08.13 |
|---|---|
| 2025/07/17 - 많이 남지는 않은 것 같다. (오라클 테스트) (0) | 2025.07.17 |
| 2025/06/08 - 첫 서버 작업 이후의 근황 (0) | 2025.06.08 |
| 2025/05/15 - 현자타임(1) (0) | 2025.05.15 |
| 2025/04/26 유니티 작업 및 근황(쪼금 더 성실해짐) (0) | 2025.04.26 |