용건만 간단히, 움짤은 한 번 더 생각
금병영에 상의하세요
야생의 이벤트가 열렸다
즐겨찾기
최근방문

그놈의 쌈국지같은 게임 만들어보려고 테스트 버전 만들어봤어요

EEguain
23.07.09
·
조회 8986

게임은 한 달 전에 침착맨 팬 게임으로 카드 게임 만들어본 게 다입니다.

동시 접속 게임은 어떻게 만드는 건지 알아보려고, 전투 부분만 테스트 버전으로 만들어봤어요.

열흘 걸렸네요.

여러 사람이 접속했을 때 어떤지 보고 싶어요.

 

https://chimgame.onrender.com/

침게임 온랜더 닷컴입니다. 무료 서버 썼습니다. 얼마나 버틸지 궁금하네요.

별도의 설치 없이 웹 상에서 돌아갑니다.

모바일에서 되긴 하지만, PC 기준으로 만들었습니다.

 

 

비쥬얼은 인터넷에서 받은 무료 에셋으로 만들어서 아주 옛날스럽습니다. 😅

 

참고: 그래픽이 좋고 나쁘고는 멀티플레이 서버와는 무관합니다.

좋은 캐릭터 도안만 있다면 얼마든지 바로 향상 가능합니다.

얘나 쟤나 쟤나 서버 입장에서는 모두 다 격자 위의 점일 뿐이라는 거

 

 

쌈국지는 전투 맵에 하나의 성만 있는 것 같은데, 테스트 버전에서
먹고 먹히는 것까지 보고싶어서 성을 6개를 넣었습니다.

 

대략 요런 위치입니다.

 

이동은 키보드 W A S D와 Q E 입니다.
Q와 E 대신 J와 K를 눌러도 됩니다.

모바일을 위해 가상 키보드를 넣었지만, 클릭하다가 줌인이 된다든지 드래그가 되는 경우가 있습니다.
 

병종은
검    Q: 정면 1인 공격 6뎀  E: 1초동안 데미지 30%로만 받기
도끼 Q: 8방 모두 공격 4뎀  E: 도끼 던지기
활    Q: 정면 1인 공격 3뎀  E: 활 쏘기
기병 Q: 정면 1인 공격 8뎀  E: 몇 초간 빨리 달리기

 

처음 체력은 30

체력은 자기 팀의 마을 위에 올라가면 치료가 됩니다.

 

성 점령은 본성 위에 올라가면 점령이 됩니다.
성이 점령되면 주변의 마을들도 소속이 바뀝니다.

 

킬을 하거나 점령을 하면 레벨이 오릅니다.
레벨이 오르면 최대 체력만 오릅니다. 최대 99

 

리스폰 지역에 있으면 새로 생성된 캐릭터와 겹쳐서 둘 다 이동 못하게 되는 수가 있습니다.

리스폰 지역(무덤가)에 오래 머무르지 마세요.

 

 

일단 테스트 버전은 통일이 없습니다.

지렁이 게임이나 세포 게임처럼 그냥 계속 돌아갑니다.

 

 

플레이 해보시고 더 재밌기위해 어떤게 추가되면 좋을 지 알려주세요.

 

 


여기서부터는 만드는 것 관련한 이야기. 

(스압)

 

 

 

코드는 https://github.com/chimlang/realtime 여기에 다 공개해뒀습니다.

하지만 아직 정리를 하지 않아서 해독하는건 불가능한 수준입니다.

곧 정리해 볼 생각입니다.

지금은 상남자식으로 서버는 app.js 파일 하나에, 클라이언트는 index.html 하나에 다 때려박았습니다.

 

다같이 오픈소스로 게임을 완성하는 것도 좋을지도?

 

 

서버는 nodejs

클라이언트는 그냥 javascript입니다.

 

 

서버는 render.com에서 그나마 가까운게 싱가포르라 거기로 선택했습니다.

핑이 저는 120 ms 정도가 나오네요. 많은 사람이 이것저것 누를 때 어떠련지 궁금하네요.

아이폰에서는 300 ms까지도 올라가는데 이건 사파리 브라우저에서 뭔가 있나봐요. 

 

 

서버에서 게임 진행하는 방식을 만들 때 큰 갈림길 하나가 있었습니다.

input이 왔을 때 바로 처리할지,

서버에서 tick 당 하나씩만 처리할지인데,

지금은 input이 왔을 때 바로 처리하는 식으로 했는데, 도중에 조금은 후회를 했습니다.

하지만 장단점이 있어서 지금도 뭐가 더 좋은지는 모르겠습니다.

서버를 돌려보고 경험해봐야 알 것 같습니다.

 

 

이런 게임을 만들면서 결국 병목은 뭘까 생각해보면, 서버 회선인 것 같아요.

n명이 접속하면, n명 각자에게 n명의 정보를 보내야하니 n^2으로 서버의 전송량이 늘어납니다.

 

한 명의 정보(x좌표, y좌표, 체력, 동작여부)를 한 명에게 보내는 것을 50바이트 정도라고하면 (더 최적화를 할 수 있을 것 같긴 합니다만)

60 ms에 한 번 보내면, 17 fps정도인데, 이러면 초당 1 킬로바이트 정도입니다.

 

플레이어 입장에서는 100명이어도 1mbps의 알뜰폰 무제한으로도 해결가능한 정도입니다.

 

서버 입장에서는 100 * 100이 되어버리니.. 좀 더 계산해보면 100메가 랜 쓰는 가정집이면 300명 정도 이론상 커버 가능합니다.

트위치대 유튜브로 1,000 대 1,000은 볼 수 없겠네요.

 

홈 서버 만드는건 넘어야 할 산이 아주 많은 것 같고,

클라우드 서버를 써야할텐데 비용이 어떻게 나올지는 모르겠어요.

 

일단은 render.com말고 다른 곳을 유료로 쓴다면 일본에 서버가 있는 linode를 써볼 것 같습니다.

아마존이나 마소, 구글 서버는 한도없이 청구되는 것 같아서 무섭네용

 

 

서버 부담을 낮출 수 있는 최고의 방법은 구역을 나눠서 사람 수의 제한을 두는 방식인 것 같아요.

m개의 구역으로 나눠버리면 한 서버당 (n/m)^2 만큼만 처리하면되니까요.

 

쌈국지처럼 만든다면 여러 성에서 동시에 전투가 일어날테니 분산이 되겠죠? 전투에 참여안하고 내정하는 사람들도 있을테고.

 

 

서버가 게임 진행을 계산하는데는 얼마나 부하가 걸리는지는 아직 계산을 안해봐서 모르겠어요.

보니까 결국, 계속해서 크기 비교를 하는게 서버의 일이더군요.

플레이어와 플레이어가 겹치는지

플레이어와 벽이 겹치는지

플레이어와 다른 플레이어의 공격 범위가 겹치는지.

 

 


 

플레이 해보시고 더 재밌기위해 어떤게 추가되면 좋을 지 알려주세요.

일단 저는 날씨 요소, 책략가 뭐 이런 것들이 떠오르네요.

아니면 필드에 다람쥐를 배치한다거나

 

클라이언트를 유니티나 언리얼로 바꿔서 그래픽을 높이면 더 재밌으려나요?

 

키보드 말고 롤 처럼 마우스 클릭으로 이동 공격하는 게 더 재밌으려나요?

 

그림을 잘 그렸더라면 좀 더 영걸전이나 조조전 풍의 캐릭터들을 썼을 텐데요. AI한테 시키면 되려나..?

댓글
통닭천사나가사와마사미
23.07.10
BEST
말하면 누군가 하니까 계속 말하는구나 ㅋㅋㅋㅋㅋ
태상노군
23.07.09
BEST
조금 더 스피디해졌으면 좋겠습니다.
시작점을 선택하게 하면 좋겠습니다.
상대유저를 잡으면 시체가 사라질때까지 움직이지 못하는 버그가 있습니다.
EEguain 글쓴이
23.07.10
BEST
혹시 벽에 비비고 다니는 캐릭터를 보신다면 변태가 아니라 버그를 확인중인 저입니다
반갑게 공격해주시면됩니다
dm6uuj
23.07.10
펑크랜드로 만들면 서버 펑크랜드가 알아서 운영해줘서 몇천명 붙어도 서버 안터져요 ㅎㅎ
EEguain 글쓴이
23.07.10
오? 그런 게 있었군요 시도해볼게요 감사함미당
젊면수심
23.07.10
사악한악사
23.07.10
혹시 다른분들은 d키 먹히나요? d키만 안먹혀서 오른쪽은 마우스를 눌러가면서 해야 되네요.
태리야끼
23.07.10
야호
파인애플피자
23.07.10
그.. 안에 있는 사람은 좀 나오시오 35명은 너무 적소
EEguain 글쓴이
23.07.10
침도스 무섭네용 테스트는 정말 확실히 되었습니다
미리 대기열을 만들어둘것을...
급하게 코드를 막 고치느라 더 이상해지고 있어유
무로돌아감
23.07.10
급할 건 없으니 찬찬히 하셔도 될 것 같습니다요. 화이팅입니다요!!
카무l
23.07.10
꿀잼겜
옹골찬만두콘
23.07.10
저가요 강에서 태어났는데요 육지로 못 가고 있습니다
태상노군
23.07.10
"좌절감이 사나이를 키우는 것이다"
용사힘멜
23.07.10
ㅋㅋㅋㅋㅋ
달빛여우Jaeki
23.07.10
기마병 치고빠지는게 펜싱하는 맛이라 제일 재밌어요
띵작을보면꼬리흔듬
23.07.10
성지순례 왔습니다.
침덩이500배
23.07.10
기마병 개꿀잼이네
오리침수생
23.07.11
오. 기마병이 되게 재밌네요. 계속 하게 되는데요 ㅎㅎ
뺘나나우유
23.07.11
기병 사기..
soolJ
23.07.11
중독성 있네요 ㅋㅋ 99랩 만들어도 다굴엔 장사없음..
잼잼이
23.07.11
5명밖에 없으니 재밌긴한데 아쉽네요 ㅋㅋㅋ 사람 좀 더 있었으면
침덩크
23.07.13
치열한 싸움끝에 통일했소.
https://resources.chimhaha.net/comment/1689185273053-hfyo4u7p3b8.png
EEguain 글쓴이
23.07.13
모두 죽여버리셨군요
전쟁은 비극입니다
1 2

전체 인기글 전체글

지평좌표계 드립의 역발상.jpg 22
유머
바이코딘
·
조회수 5235
·
02.19
2025 시즌 그리팅 요정 협회 뉴진스 22
아이돌
이지금은동
·
조회수 4913
·
24.11.26
궤도 이전에 고고민수가 있었다... 18
침착맨
Webcam
·
조회수 6901
·
24.11.18
상상만화-지평좌표계를 어떻게 고정하셨죠? 35
취미
이에끼인만두
·
조회수 6330
·
24.09.01
물리학교수가 귀신보면 지평좌표계보다 더물어보고 싶은질문 16
유머
옾월량
·
조회수 6436
·
24.08.22
근데 진짜 역겨운게 뭐냐면 (환기합시다)
침착맨
Unknown
·
조회수 12474
·
24.07.16
모르는 이슈는 한번 기사로 확인해보시거나 쉽게 들어가지 않으셨음 좋겠습니다. 12
침착맨
육체미대소동
·
조회수 7390
·
24.07.15
안될과학 팝업스토어 궤도님 실물영접 후기!!! 17
궤도
김전무
·
조회수 8136
·
24.03.07
삼국지 웹게임 만들어봤어요 61
취미
EEguain
·
조회수 7281
·
24.02.05
도라지후 서사 19
인방
잘코사니
·
조회수 10697
·
24.01.12
커신에게 지평좌표계를 물어본다면? 6
궤도
샤란타
·
조회수 5587
·
23.11.10
스트리머 vs 시청자 집단지성 오목 게임 25
방송 해줘요
스테고사우루스
·
조회수 8156
·
23.09.08
5555555 좌표 44
침착맨
길고양이의조언
·
조회수 7897
·
23.09.01
현재글 그놈의 쌈국지같은 게임 만들어보려고 테스트 버전 만들어봤어요 60
취미
EEguain
·
조회수 8987
·
23.07.09
어느 디씨인의 신병 겪어본 썰 17
이야기&썰
간하하
·
조회수 8036
·
23.06.29
지평좌표계를 고정한 최고민수 8
팬아트
희희번득
·
조회수 5803
·
23.06.06
놀이터 서버 재밌게 봤던 장면들 (타스 포함, 김) 21
인방
결속밴드
·
조회수 7176
·
23.05.08
와...마크 고인물은 다르긴 하구나 (악놀 히든런 드디어 완료) 13
게임
짱갈래종수짱
·
조회수 8800
·
23.04.29
본인 인생 역대급 업적.jpg 18
궤도
꼬불이
·
조회수 8600
·
23.04.28
궤도 있는 궤도팀 16
궤도
궤도준수
·
조회수 6762
·
23.04.26
1 2