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

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

EEguain
23.07.09
·
조회 8990

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

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

열흘 걸렸네요.

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

 

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
혹시 벽에 비비고 다니는 캐릭터를 보신다면 변태가 아니라 버그를 확인중인 저입니다
반갑게 공격해주시면됩니다
무플방지위원회수석연구원
23.07.09
오오오오오 미쳤다!!! 플레이 해보겠읍니다
EEguain 글쓴이
23.07.09
이름이 같은 색이면 같은 편입니다.
사과키위
23.07.09
침착맨은 투자를 진행해라~
태상노군
23.07.09
BEST
조금 더 스피디해졌으면 좋겠습니다.
시작점을 선택하게 하면 좋겠습니다.
상대유저를 잡으면 시체가 사라질때까지 움직이지 못하는 버그가 있습니다.
EEguain 글쓴이
23.07.10
피드백 감사합니다. 공격 쿨과 속도를 바꿔볼게용.
캐릭터가 겹쳐서 못 움직이는 버그가 있네요. 이건 해결하는데 조금 걸리겠네요 😭
태상노군
23.07.10
이게 어떨땐 안걸리는데 성 위에서 잡으면 좀 걸리는거 같습니다.
아니면 모바일이라 핑이 높아서 그런 걸 수도 있는데 일단 버그가 있었습니다.
@EEguain
태상노군
23.07.10
일단 몇가지 아이디어를 제시해보자면 내정을 구현하면 전략적 선택지가 많아지지 않을까 합니다.
가령 식량 파러미터를 도입해서 점령지의 곡식을 공격하면 식량을 추가 하고 어느정도의 시간이 지나면 그 수치가 팀원의 수에 맞춰서 줄어드는 거죠.
만약 부족하면 그 수만큼 전원의 채력이 일정량 깎인다던가 유저가 죽는다던가 하는 불이익을 줌으로서 내정 이라는 역할을 제시하는 겁니다.
이러면 과도하게 성장한 한 세력을 견제하기 쉽게 할 수 있을 뿐 아니라, 섣불리 다른 세력을 침범하기 어려워 질겁니다.
@태상노군
다람쥐곶감
23.07.10
모바일로 할 때 가상키보드가 너무 작아요....
통닭천사나가사와마사미
23.07.10
BEST
말하면 누군가 하니까 계속 말하는구나 ㅋㅋㅋㅋㅋ
겟쌍1342
23.07.10
이것이 안산 스타일
쬬폴리탄
23.07.10
계속 말해라, 그럼 누군가는 해야 하잖아
- 에이브릴라빈 링컨
응당연히알지사십
23.07.10
오 궁금한게 화면에 구현되는 그래픽이 얼마나 정교하고 오브젝트나 파티클이 많든 서버는 똑같은 픽셀 개수를 옮기기 때문에 서버에걸리는 부하가 동일한 건가요??
EEguain 글쓴이
23.07.10
맞습니당 그래픽이 정교해도 서버가 보는 건 캐릭터 하나당 좌표 하나 입니다.
(이 게임에서는 플레이어의 왼쪽 상단 끝 점의 좌표)
이 게임에서는 화살이나 투척무기처럼 따로 움직이는 오브젝트는 따로 위치를 써서 서버 회선에 부하가 걸립니다.
그런데 이것도 사실 그럴 필요없이, 쏜 순간의 위치와 방향을 한 번만 유저들에게 뿌려주면, 서버가 따로 계속 위치를 알려주지 않아도 될 것 같아요. 서버가 위치 계산은 계속해야겠지만.
침굴맨
23.07.10
초반에 시작했을 때 렙 높은 사람 때문에 성장이 안 돼요 어쩔 수 없나요?
지렁이게임은 너도 한 방 나도 한 방인데 이건 성장형이라서 뉴비절단기 때문에 진행이 안 돼요
치무차쿠만
23.07.10
팀 프로젝트로 한번 가시죠 ?
감자파고스
23.07.10
AI(Al아서 하는 In간)
뺘나나우유
23.07.10
이러고 정작 침착맨은 쌈국지 나와도 안함
자두실업
23.07.10
😀👍
무로돌아감
23.07.10
이런걸 직접 만들 수 있다는게 넘 대단해보입니다요.
빙빙돌아가는
23.07.10
아니 진짜 침투부 구독자분들 중에 대단하신 분들이 많네요
EEguain 글쓴이
23.07.10
자고 있을 때 침하하에 가서 여러 명 접속할 때 어떻게 되는지를 못 봤네요! 이런 😂
어우보기좋아
23.07.10
침착맨의 말은 현실이 된다
EEguain 글쓴이
23.07.10
BEST
혹시 벽에 비비고 다니는 캐릭터를 보신다면 변태가 아니라 버그를 확인중인 저입니다
반갑게 공격해주시면됩니다
징동건
23.07.10
아이폰은 무음모드여도 소리가 나네요. 시작 전에 무음모드 설정 있으먼 좋겟습니다
풍카페
23.07.10
이거 어차피 맵을 삼국지 맵으로 할 수 없다면 성 이름 나중에 자치령으로 바꿔서 다시 석전 해도 재밌을듯
라니스푼
23.07.10
너무 대단하다 ㄷㄷㄷㄷ 오픈소스로 다같이 게임을 만든다는 것은 얼마나 더 대단할까 ㄷㄷㄷㄷ 진짜 멋지십니다~!!
올림픽
23.07.10
누군가는 해야하잖아~
홈버튼
23.07.10
와 진짜 재밌어요!!
침투부침략자
23.07.10
쌈국io
네요 ㅋㅋㅋㅋㅋㅋ
뻐킹피그
23.07.10
존잼ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 멋모르고 성 차지 했는데 두명한테 다구리 당해버린
신이나
23.07.10
헐 대박
아이러브병건
23.07.10
아 너무 재밌네요ㅋㅋㅋㅋ
즉시무료
23.07.10
피 어떻게 채우나요 유유 성채 위에 서도 안찹니다
중구가시키드나비아반도
23.07.10
3년간의 쌈쓰라이팅으로 한국인이 직접 만들게 해버림 ㄷㄷ
핑크펀치
23.07.10
잠깐만 나가봐유...
무로돌아감
23.07.10
지금 사람 겁나 몰려서 테스트 결과 좀 얻으실 듯. 대신 사람들 때매 방장이 겜을 못하네요..
1 2

전체 인기글 전체글

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