아하
생활

생활꿀팁

고독한반딧불143
고독한반딧불143

실시간 텍스트 기반 웹게임 DB 커밋

안녕하세요, 평소에 텍스트 기반 웹게임(Ogame 등)을 즐겨하는 유저로서 궁금한게 생겼습니다. 이러한 실시간 웹게임들의 특징은 플레이어의 자원이 로그아웃 상태에서도 시간에 따라 증가하게 되어있는데요, 두 가지 방법이 생각납니다:

  1. DB를 매초마다 업데이트

  2. Interaction (로그인, 다른 플레이어가 탐색, 전투 발생) 발생 시에 준비된 공식으로 그 전 interaction 부터 흐른 시간을 대입해 계산되어 업데이트 될까요?(예: 1초마다 자원 A가 10씩 증가한다면, 10초 후에 플레이어가 refresh를 했을 때 100이 증가한 상태가 업데이트)

직접 개발을 할 때 전자는 스케일이 커지면 서버 처리량이 너무 커질 것 같아 후자를 택하게 되었는데 변수가 증가함에 따라 공식이 복잡해져서 [예: A, B 자원이 있고, B가 0이 될 때 A가 감소하는 구조 - interaction간의 시간이 t이고 이 기간동안 B가 0이 되었다면 A의 감소량은 감소율 x (t-t(b=0)) 가 됨. 여기선 쉽지만, linear함수가 아니고 변수가 증가할수록 프로그래밍하기 까다로워짐] 어려움을 겪고 있습니다.

1번 방법이 가능한가요, 아니면 2번식으로 하면서 복잡도가 많이 증가하는게 맞을까요?

2개의 답변이 있어요!