누군가 대형모드 열면 무조건 들어가서 최소한 눈팅이라도 하든가 가이드라인 은근슬쩍혹은 대놓고 주는데
우리 뉴비들은 모르는 게 많아서 이해도 안되고 그냥 즐기다가 괜히 망해가는 서버 붙잡고 있는거 여러번 봤음
분명 더 하고싶은데 모르는 게 많고 어떻게 해야할 지 모르겠어서 포기하더라
이 글은 그냥 그런 사람들 위해 필수적인 내용만 적어 놓은 글이야
ㅈ문가 이긴한데 글 올리면 진또배기들와서 댓글에 설명해줄테니 상관없을 듯
로켓쏘고 핵발전해보고 드론으로 지어보고 온갖 종류의 기지를 지어봤다는 것은 곧 컨텐츠 소모가 다 되었다는거야
더이상 할게 없어서 멀티로 넘어오거나 모드질로 컨텐츠를 추가하는거지
로켓을 쏘지도 않았고 핵발전 같은 건 모른다고 쳐도 만약에 니가만든맵이 버벅거리나 느려졌다고 치면 읽을 것을 추천해
왜 그런현상이 생기고 어떻게 개선할 수 있는지 방법에 대해 적을 거거든
대형모드랑 멀티서버의 주적은 이 버벅거림/게임의 속도 저하기 때문에 이것을 통제 해야만 쾌적한 게임이 가능해
근본적인 원인부터 이해하기 위해 팩토리오의 기본 구조에 대해 알아볼거야
일단 이게임은 총 3가지 단계로 구성되어 있다고 볼 수 있어
계산(TICK)>(업데이트(UPS)>화면(FPS)
TICK은 계산횟수야 1초기준 60고정으로 알고있어
UPS는 업데이트 횟수야 마찬가지로 1초기준 60이 정상적인 상태지
FPS는 초당화면 표시 횟수야 1초기준 60이 정상적인 상태야
TICK은 회로쓸대 빼고 고려할 일이 없어 우리한테 중요한건 fps,ups
일단F4 누르고 show-fps박스를 체크해서 fps/ups 수치를 띄워봐
이게 정상적인 상태의 fps/ups 상태야
이건 순간적으로 과부화를 걸었을때 상태야
위에 tick>ups>fps 이 순서와 이 짤 들을 가지고 우리는 두가지 사실을 알 수 있어
ups가 저하되면 fps는 똑같이 하락하지만 반대의 경우는 성립X
fps는 ups보다 게임상태에 더 민감하다
추가로 ups대해서 더 알아야 할 사실은
1초당60번업데이트 기준으로 게임시간이 설정되어있기 때문에
ups가 떨어지면 그만큼 니가 시간적인 손해를 입음
ups가 30인 상태로 1시간 게임하면 30분을 손해보았다는 거지 (게임0.5배속 상태)
다시한번 정리해서 설명할께
FPS/UPS=60/60
매우 안정적이고 이상적인 상태
FPS/UPS=60이하/60
게임 진행상에 아무 문제도 없지만 실제로는 불안정 하다는 경고
FPS/UPS=60이하/60이하
게임이 망가졌거나 -ing 상태임
이 마지막 상태에서 ups가 40이하면 그냥 거의 버리는 게임이 되어버려
fps/ups 하락을 개선하지 않는 다는 가정하에
게임속도가 느려짐>뭔가 행동을 함>추가 연산>게임속도가 느려짐 이 악순환이 반복됨
이 상태에서 바이터까지 있는다? 노답이지
게임속도가 느려짐>바이터가 대신 행동함(확장,공격,생산,포탑과의 전투)>추가 연산>GG
일단 간략하게 나마 게임이 망하는 과정의 갈피를 잡았어
이제부터 개선하는 방법중 제일 중요한 것 두가지를 알려줄거야
1.벨트 대신 지하벨트를 도배한다
>사라진 벨트위 자원 연산X + 공간적 여유
이거는 지하벨트 설치하는 순간 그냥 따로 설명안해도 이해함
2.유체를 최소화 한다>핵발전을 기피해야 한다
이거는 니가 게임 좀 했고 쳐도 구체적인 설명이 있어야만 제대로 이해할 거 같아
유체는 관을 따라서 여러가지 계산을해
1유체의 퍼짐-관의 연결 개수,부피에 따라 유속이 달라짐
2파이프의 입출력 전체계산-파이프에서 입력부터 출력까지 계산(석유가스 생산>플라스틱)
3파이프의 평형상태-파이프 의 유체 량 평형을 위해 유체를 흘러보냄
등등등
대충 내가 짐작한것만해도 벌써3가지야
이걸 아까 틱으로 설명하면 60초마다 지속적으로 계산하고 갱신하고 하다보니
fps/ups 저하의 주범이 될 때가 많아 특히 핵발전때 부담이 될 정도로 영향을 끼치지
먼소린지 모르겠다고? 체감이 안되니 내가 짤로 가져왔어
초록색 게이지 유체 계산 결과값 즉 유체의 양을 나타내고 있어
이짤은 24fps, 그 프레임마다 다 계산하고있다는 말씀
60fps으로 찍은 짤이야
잘보면 긴 막대기들도 프레임마다 차이를 보내지
이와 같이 유체는 계산 결과값도 여러가지 일 뿐더라 현실고증을위해 다양한 계산식을 써
그리고 짤처럼 이걸 초당60번쪼개서 계산하니 게임내에서 과부화를 먹는거지
핵발전 크기는 저거의 수십,수백배니까 게임이 느려질 정도로 렉을 유발하지
괜히 고인물들이 태양광 태양만세 YYYYYYYY 이러는게 아니야
이제는 바이터에 대해 설명할거야
바이터는 팩토리오 유저와 애증의 관계에 있다고 볼 수 있어
있으면 귀찮은데 존재인데 없으면 게임의 긴장이 사라져서 재미가없다는 사람들도 많아
바이터에 대해 설명할때 이 두가지만 알아도 되는데
확장/공격 중에서 확장은 별거없어
확장의 경우는 말그대로 일정시간 지나면 무리를 이끌고 해당지점에 자폭해서 둥지를 만들어
이는 시간의 흐르면 플레이어는 바이터와 강제로 조우하게 될 수 밖에 없는 시스템이야
공격이 중요해
산란장에서 생산해서 공해의 근원지를 때리는건 듀토리얼 때 배웠을거야
자세히 설명하자면 "길찾기"연산을 통해 근원의 생산지 부근까지 한 붓 그리기를 한 후
그 경로를 따라서 바이터들이 공격해 오지
근대 문제가 공해의 범위 내에 있는 모든 산란장들은 "길찾기"를 시전 할 수 있다는 거야
설령 탐사가 안된지역이라도 공해가 닿으면 활성화되지
바이터들은 길찾기 도중 오는 움직임이 안보이더라도 스캔때린지역을 지나면 리소스를 먹으면서 움직이고
전투가 일어나면 온갖 리소스는 다 사용해서(투입기,포탑(조준-발사),공격경로 등등)
렉을 유발해 그래서 공해를 최소화하는게 좋아
이쯤되면 지루해 질만하니 내가 보기좋게 화면이 큰 짤들을 찍어왔어
이게 기지로 가는 길목인데 저 각각의 선들이 "길찾기야" 이쁘지만 바이터가 온다는 신호니 주의하라고
철광기지를 향해서 무수히 많은 악수를 요청하는 바이터들이 올 것이라고 알 수 있음
저기에 아무것도 표시가 안되지만 공해가 닿자마자
길찾기가 시작된 지점이야. 아마 확장한 거 같아
탐사하지 않았지만 공해가 닿았다는 것만으로도 공격이 온다는 걸 알 수 있는 짤
이건 활성화된 곳을 표시하는 디버그 모드인데 공해가 닿은 지점이라 청크가 활성화 되었다는 뜻이야
즉 산란장이 활동중이라는 뜻이지 위의 짤의 길찾기 시작지점을 찍은거야
공해가 엄청 퍼지면 말 그대로 위에 사진들처럼 범위내에 모든 어그로를 끌어서
쉴새없이 쳐들어오고 이를 연산하면 렉을 유발해
근대 가끔 유독 렉이 심하게 걸릴때가 있어서 확인해보면 "전투"때 많이 느려지지
멀티에서도 종종 바이터가 처들와서 렉 때문에 감당이 안될때가 있고
그러면 연산을 얼마나 처먹는지 궁금하지 않아?
디버그 모드를 키고 찍은 짤이야
빨강색/파랑색/초록색 수치가 표시가 바둑판마냥 청크마다 표시가 돼
파랑색,초록색은 솔직히 의미있는 수치가 아니야,빨강색이 제일 중요하지
짤을 보면 바이터 들의 이동중에는 20밖에 필요없는 수치가 전투때 3천까지 떡상하는게 보여?
이래서 전투 때마다 렉이걸리는거야 연산할께 너무 많아지거든
우리가 해야할 선택은 두가지야
공해내 산란장을 없애거나 , 공해자체를 줄이는 것
이래서 내가 공해에 환장을 하는거고
역대 대형모드 서버들을 보면 죄다 공해 통제 못해서 게임이 너무 느려지거나
느려져서 행동을 제때제때 하지 못해 바이터들의 공격을 못막아서 조지거든
바이터 끄고 망하는 서버는 그냥 재미가 없어져서지 실제로는 얼마든지 복구가능해
반면에 바이터가 원인일 경우 되돌릴 수 없는 한계가 존재하기 때문에 신경을 많이 써 줘야해
양덕들 맵 중에 수십시간하고 파괴된 맵을 보면 안일하게 서버 열어놨다가 베히모스가 몰려와서
GG친 경우가 많아, 위와같은 사실들과 확장 시스템이랑 톱니바퀴처럼 맞물려서 조진거지
해결법은 간단해 무지막지하게 큰 버퍼를 없애거나 낭비를 줄이는거지
건물/투입기/레이저 포탑 들의 대기전력,과잉 생산 통제 등등
방법은 무궁무진한지만 오래된 게임만큼 갤에서 찾아만보면 널려있으니 알아서 해결해
이제부터는 ㅈ문가 의 관점에서 멀티를 설명할거야
멀티는 싱글이랑 fps/ups 를 다르게 봐야해
모든 유저들은 "방장"에 맞춰서 따라간다고 생각하면 쉬울려나?
방장이 달리고있는 마라톤 선수라고 치면 니가 방에 입장한다는 것은
너도 똑같이 방장 옆에서 똑같은 속도로 달리는 거야
순간적으로 ups가 60이상으로 올라가는 것은 니가 방장과의 거리가 멀어졌으니
멀어진 만큼 따라가기 위해서 더 빠르게 달리는 거야
근대 방장 ups가 60이하면 니가 아무리 빨리 달려도 방장을 앞지를 수 없어서
60이상으로 떡상했다가도 결국 방장옆에 똑같이 달리게돼서 60이하에 맞춰지는거야
FPS의 편차같은 경우는 방장과의 지역거리 인터넷선등 복합문제라 패스
하드웨어적으로 성능차이가 심하면 잘 팅기거나 렉이걸린다고 알고 있어
물론 방장은 렉이 제일 없어 렉이 심하더라도 그건 참가자들뿐이지
애초에 방장이 렉이 있으면 그 서버는 불안정 해서 이미 죽어가고 있다는 뜻이지
이래서 저 렉 심해요 라고 말하는건 방장한테 뭔가 불안정하다고 하소연하는거랑 같아
방장의 컴퓨터돈 내 컴퓨터든 다른거든 뭔가 이상하다는 거지
뭐 거리자체가 멀면 항상 불안정하고 방장컴이 구데기면 머..
그리고 멀티 때 다른사람들 들어오면 너랑 같은라인에 다른사람들도 달릴려고 한다는 건데
이때 그 자리가 무한대는 아니니 서로 부딪힐 수 있다고 생각함
그래서 사람많은 서버에 누구 들어오면 "누구누구가 연결이 끊어지는 중" 가 뜨는 거 같음
바닐라 유저들은 이제 그만 봐도 됨 알려줄 것이 산더미긴 한데 흥미가 없으면 그냥 몰라도 되걸랑
정 흥미가 있으면 갤에 검색하는걸 추천할께
설명해주고 싶은게 당장 생각나는 것만해도 이정도인데 쩝 ...
(열차+투입기)/(대기전력없애기)/회로/최적의 유체연결
열차 시스템/청크 시스템/각종팁들/디버그 모드를 통해 게임파헤치기 등등등
이제부터는 모드유저들을 위해서 설명할꺼야
그전에 멀티에 대해서 설명했으니 멀티관련 모드방에관해서 미리 끝내고 갈께
니가 대형모드든 뭐든 모드를 수십가지를 넣었을때 사람들이 들어오기 힘든 경우가 많거든?
일단 이 팩토리오는 게임내적으로 모드 다운로드가 개별차가 심한거 같아
누구는 수십분까지 걸린다는데 나는 축복받아서 아무리 오래걸려서 1분 이상인걸 본적이없거든
오히려 재실행때 모드 불러오기 도중이 오래걸리지 니가 만약에 모드 떡칠을 했다고 치고
친구가 들어오기 위해 게임내에서 다운로드를 몇십분째 붙잡고 있으면 그냥 모드포럼이나 이런대 가서
직접 받는 걸 추천해주는게 최고야 갤에서 검색하면 방법도 다 이미 있으니 참고하고
모드내부 문제는 따로 제외함 애초에 내부 문제일 경우 멀티랑 상관없이 불안한 경우가 많음
모드를 다운받았는데 방에 접속이 안되는 경우가 많아
첫번째는 모드가 멀티를 고려 안해서 싱글이 아니면 충돌이 일어나는 경우야
이때는 어쩔 수 없지 하나씩 빼서 확인해봐야해 이런 경우는 모드광신도인 나도 겪은적이없어
두번째는 모드 설정을 똑같이 했다고 해도 제대로 적용이 안되는 경우가 있어
이 문제는 설정-모드설정을 직접 건들였을때 뜨는 문제라서 재접해도 안되면
팩토리오 관련 폴더를 다 날리고 재설치하면 보통 고쳐짐
특징으로는 접속할때 설정충돌 뭐시기라고 뜨기 때문에 쉽게 알 수 있음
세번째는 아예 줫나게 방이 무거운거야 무슨 말이냐면
모드때문에 방 자체가이미 달리기를 따라갈 수 있는 수준이 아니라는 거임
특징으로는 맵까지는 다운로드 받기가 가능한데 접속이 게이지가 자꾸 뒤로 밀어지다 못해서 결국 끊어지는 것
바닐라도 방의 용량이 지독하게 커질경우 발생하는 문제기도 함 혹은 물체가 너무 많거나
가끔은 그냥 인터넷 속도가 느려서 발생하는 경우도 있으니 재접을 여러번 시도해봐야해
마지막으로 모드 관련해서 설명함
양을 진짜 줄이고 줄여도 스크롤이 끝이없네
그냥 자주 쓰이는 모드만 설명함
엔&밥 제일 유명한 대형모드야 솔직히 다른 대형보다 완성도도 높고
모드의 각 부분중에 따로 쓸 수 있게 나뉘어져 있는데
이중에 밥의 인서터가 제일 자주쓰임
원래 투입기는 짚어서 180도 회전한후 반대 방향에 투입 가능하지만
밥의 인서터 연구를 하면 길이도 자유자재로 조정가능하고 대각선가 실각까지도 가능함
그냥 밥 인서터 하나만 설명하려고
생각해보니 이거 다 설명하면 또 끝이없어서 ㅋㅋㅋ
너무 자세히 들어가다간 글만 몇시간 적을 듯
난 여기까지만 설명함 댓글에 불편러 있으면 오히려 더 좋음 개가 알아서 잘못된 정보 고쳐줄테니까
모두 즐팩 졸려서 쉬러감 ㅂ
설명추 - dc App
UPS가 느려진다고 겜이 망하진 않음. 그냥 배속 1배 대신 0.8배 0.5배 이렇게 느리게 겜 하는거지. 대신 fps<UPS 라서 겜이 뚝뚝 끊어지게 보이고 움직이는게 느리니까 상대적으로 답답해지겠지. 스타할때 기본속도로 겜하고 싶지 않은거랑 같은 이유임
모드방만 상종하다보니 대게 그런식으로 멸망테크트리 타서 그럼 글에도 적혀있지만 망하는 과정이라 했지 무조건이라도 말은 안함 애초에 ups 사수할 정도면 당신은 이미 고인물 그자체
이 글은 팩토리오 좀 만져 봤다고 하는 유저들이 게임을 더 즐기고 싶고 탐구하고 싶을 때 필요한 어느정도 알아둬야 하는 선만 적은 글임 대체로 유체부분만 봐도 더 설명하라고 그러면 더 설명해줄 수 있음
유체쪽은 궁금하네 더 적어줄 수 있음?
유체 자체는 넓게 퍼지는 경향이 있어서 관의 길이에 따라 최대 유속량이 달라짐 부피가 100일뿐 부피랑 최대유속은 엄연히 불리되어 계산됨 물론 최대 유속을 경절짓는 데 부피가 영향을 끼치긴하지만 부피가 100이라고 해서 1초에 100이하의 유체만 흐르는게 아님
제일 골머리 때리는 유체탱크도 파이프 하나로 취급된다는 사실과 지하파이프로 땅에 묻힌 파이프는 부피가0이며 유속에 영향을 안끼친다는 사실이야 전자는 그렇다고 쳐도 후자가 매우중요함 지상파이프10개일경우 최대유속이 파이프10개분 만큼 감소되는 경향이 있는데 지하파이프로 (인1칸+지하8칸+아웃1칸) 공간을 채워버리면 최대유속에 단 두칸만이 결정짓게됨
멀티에 보면 단순히 파이프를 오래동안 질질 연결하는데 지하파이프로 도배한다고 쳐도 최대유속의 한계에 못따라가는 경우가 있음 이럴때 쓰는게 펌프인데 다들 이생각을 못함 펌프는 파이프 끼리 분리시켜버림 무슨소리냐면 10칸마다 펌프를 설치하면 최대유속은 10칸 정밖에 감속이 안됨 이사실을 통해서 펌프랑 지하파이프를 이용하면 이론상 파이프 두개만큼의 최대유속인 4800으로 수송시킬 수 있음
참고로 파이프 200칸 정도가 아마 최대유속 1000으로 알고있고 100칸의 경우가 2000으로 알고있음 이 두개를 알고 정유라인을짜다보면 굳이 열차를 쓸 필요성을 못 느낄때가 많지
멀티는 반대로 방장컴이 제일 안 좋아야 성립이 되는데, 팩토리오 멀티는 모든 유저가 1/60초동안 틱 계산을 끝내고 그게 방장이 계산한 틱이랑 같으면 다음 틱으로 넘어가고, 다르면 비동기화 뜨면서 팅김. 만약 공장이 너무 커져서 방장은 1/60초 안에 틱 계산이 끝났는데 다른 플레이어중에 컴이 방장컴보다 안좋아서 그 시간 내에 틱 계산을 끝내지 못할 경우, jump라고 뜨면서 그 플레이어는 방장컴을 따라잡을 때까지 틱 확인을 무시함. 대신에 그동안 그 플레이어는 아무것도 못하겠지. 같은 이유로 새로 들어오는 플레이어가 아예 게임 속도를 따라잡지 못해서 못 들어오는 경우도 발생함. 이 문제 해결법으로는 게임 배속을 늦춰주는 명령어로 다같이 제일 느린 사람 컴에 맞춰서 플레이 하는 방법이 있음.
또 헷갈리면 안되는게 지하벨트 도배랑 fps/ups는 큰 상관이 있긴 하지만 벨트를 빈공간 없이 꽉꽉 채워서 쓸 경우에는 지하벨트를 써도 안써도 fps/UPS 차이가 거의 없음. 일반/지하벨트 교체보다 꽉 채우는게 더 중요.
그 저거는 개인편차가 심한거 같아 나같은 경우는 아예 지하벨트로 바꾸니까 fps 감소폭이 엄청 줄어들었거든 지하로 보내니 스프라이트나 엔티티나 따로 표시 안해도 되니까 그만큼의 그래픽 자원을 덜 먹어서 fps만 개선되어 보이는 거일수도 있음
UPS가 저하되는 가장 큰 이유는 Wake-up 상태때문임. 게임데이터와 상호작용하는 물체들(투입기, 벨트, 파이프류, 철도신호 등)은 모두 Wake-up상태와 Sleep상태를 왔다갔다 하게 되는데, 정상적인 환경하에 게임을 하려면 당연히 수천개의 투입기와 벨트, 파이프를 안쓸수가 없기 때문에 - 줄일 수 있는 요소를 최대한 줄이게 됨. 대표적인 예가 원자력을 안쓰고 태양열 쓰는것과, 가능하면 모든 공정을 최대비컨으로 둘러싸서 공정크기를 줄이는것(정확히는 공정에 투입되는 엔티티 숫자를 줄이는거지), 그리고 벨트를 배제하고 가능한 부분에서 봇을 쓰는거 정도겠네
유체는 좀 이해가 안되는데, 그러면 파이프 수를 줄이고 유체는 최대한 기차 수송해야 하다는 건가? 지금까지는 다 원유 생산지 근처에서 가공하고 어거지로 끌어썼는데
핵발전 처럼 그냥 완죤 대량의 유체사용을 반대하는거지 그런 소규모는 뭐 상관없음
ㄱㅊ 펌프하나로 초당 물 1200 퍼올리는데 파이프 200개 까지는 최소 1000까지밖에 안떨어짐 - dc App
최대유속은 파이프개수 17까지 1200/s 200까지가 1000/s임 - dc App
파이프 하나는 6000 두개는 3000 지하파이프 2개마다 펌프연결하면 최대 3000/s로 공급가능 - dc App
팩토리오 위키에 유체시스템항목 보면 중간에 파이프 개수벌 최대유속 표 있음 - dc App
지하벨트는 아님. 지하로 들어가는거 다 계산 함. Show-Transport-Line-Gaps 켜보면 알수있음.
지하 파이프는 중간 계산을 생략했는데, 벨트는 생략 안함. 둘 같게 생각하면 안됨.
ㅇㄱㄹㅇ