게임 개발의 맥락에서 "틱"이란 무엇입니까?


12

자, 이것은 매우 초보자 수준의 질문이지만 이것을 알아야합니다. 게임 개발의 맥락에서 "틱"이라는 용어는 무엇을 의미합니까? FPS와 같은 것입니까? 감사!


1
BTW에서이 용어를 어디서 얻었습니까? physics engine update frame캐주얼 플레이어가 기억하거나 이해하기에는 너무 길기 때문에 어떤 사람들은 그것을 진드기라고 부릅니다 .
Bálint

답변:


18

진드기는 시간 측정 단위이며, 구체적으로 게임에서 반복되는 동작 (일반적으로 광범위한 동작)의 단일 인스턴스 또는 동작이 소비하는 기간을 나타냅니다.

진드기는 반복되며 (주로) 규칙적입니다. 이 용어는 시계가 만드는 소리 ( "틱"및 "토크") 중 하나에서 비롯됩니다.

일반적으로 틱은 메인 게임 로직 루프와 같은 일부 루프의 반복입니다. 예를 들어, 게임 로직이 한 번 프레임에 "틱"하거나 "틱 중에 문자 위치가 업데이트된다"고 말할 수 있습니다.

그러나 더 세분화 된 기간을 나타낼 수도 있습니다. "게임의 AI 틱은 5ms의 처리 시간으로 제한됩니다."라고 말할 수 있습니다.

FPS는 게임이 몇 초 안에 몇 개의 프레임 (일반적으로 렌더 프레임)을 처리 하는지를 측정 한 것입니다. 진드기와 FPS는 반드시 관련이있는 것은 아니지만, 때때로 사람들은 게임 로직 루프의 단일 실행을 "논리 프레임"이라고 부르는데,이 경우 (논리) FPS 속도는 초당 처리 된 진드기 수입니다. 이것은 어떤 이유로 든 게임 로직 또는 물리에 대해 고정 프레임 속도를 적용하는 게임에 특히 일반적입니다.


2

대부분의 게임은 루프로 구현됩니다. 같은 것

def main
 setup(a, bunch, of, stuff)
 load(a, bunch, of, stuff)
 while true do {
   // <- A tick starts here
   read(a, bunch, of, inputs)
   call(a, bunch, of, stuff)
   do(a, bunch, of, stuff)
   update(a, bunch, of, stuff)
   // <- A tick ends here
 }
 clean(a, bunch, of, stuff)
 save(a, bunch, of, stuff)
end

작업을 수행하는 매우 표준적인 방법이며 렌더링 및 UI 요소는 별도의 스레드에서 처리 될 수 있지만 실제 게임 논리 (프레스 키를 눌러 우주선을 앞으로 이동)는이 틱 안에서 발생합니다.

이것을 "프레임"이라고도하며 일반적으로 프레임 속도 (그래픽과 혼동하지 말 것)라고합니다. 틱은 두 가지를 구별하는 데 도움이되는 인기있는 동의어가되었습니다.

프로그래머로서 당신의 목표는 무엇이든지 일정하고 안정적인 프레임 (틱) 속도를 유지하는 것입니다. 이를 통해 게임의 반응을 부드럽고 합리적으로 유지하면서 동시에 모델 (그래픽이 아닌 프로그래밍)이 컴퓨터 친화적 인 방식으로 물건을 처리 할 수 ​​있습니다. 틱 시간은 게임 전체에서 일정하지 않으며 매직 넘버가 없습니다. 일부 게임은 초당 100 프레임이고 다른 게임은 3 초마다 1 틱입니다.


1
모든 게임에 정적 틱 속도가있는 것은 아닙니다. Screeps와 Eve 온라인은 모두 다양한 틱 비율을 지원합니다. 마인 크래프트는 안정적인 틱 비율이지만 일반적으로 달성하지 못하고 잘 처리합니다. Dwarf Fortress는 고정 프레임 속도를 유지하며 유지할 수 없을 때 빨라지지만 여전히 작동합니다.
coteyr

여기에 "frame"과 "tick"라는 용어가 너무 많이 섞여 있다고 생각합니다. 틱은 여러 프레임 (또는 업데이트주기)에 걸쳐있을 수도 있습니다.
Tyyppi_77

1

"틱"은 서로 다른 두 가지를 의미 할 수 있습니다. 화면에 보이는 모든 그래픽이 업데이트되었다고 말하면서 프레임 틱을 나타낼 수 있습니다. 그러나, "틱"이라는 용어는 게임 루프 틱을 지칭 할 수도 있습니다. 이러한 유형의 진드기는 코드가 실행되는 곳입니다. 일반적으로 진드기는 게임이 멈출 때까지 계속 반복되는 동일한 진드기의 루프 컨텍스트에 있습니다.


1

틱은 일반적으로 모든 논리가 계산되는 게임 루프의 한 번의 반복을 의미하므로 게임에는 일반적으로 초당 여러 틱이 있습니다.

그러나 많은 게임이 같은 스레드에서 그래픽과 게임 루프를 모두 실행하기 때문에 일반적으로 그래픽을 표시하는 데 시간이 오래 걸리지 않기 때문에 로직이 중단되거나 그 반대의 경우도 있습니다 (개발자가 이와 같은 상황을 확인하는 경우에도 마찬가지 임) 마지막 프레임과 현재 프레임 간의 시간 차이를 고려하여 그에 따른 이동 속도 조정).

FPS는 의미 F는 rames P의S 많은 게임 그래서 econd을, 네, 기술적으로 말하면, 각각의 프레임은 하나의 틱입니다.


그래서 두 용어를 서로 바꿔서 사용할 수 있습니까?
user3843164

2
나는하지 않을 것입니다. 그래픽을 언급 할 때는 "FPS"를 사용하고 논리를 언급 할 때는 "틱"을 사용합니다. 일부 게임, 특히 강렬한 그래픽을 사용하는 게임에는 두 개의 루프가 있습니다. 하나는 그래픽 용이고 다른 하나는 논리 용입니다.
StrongJoshua

진드기는 실이 아닙니다.

@ JoshPetrie Oooh, 실수를 지적합니다. 지적 해 주셔서 감사합니다. 이제 수정되었습니다.
StrongJoshua

1
게임은 일반적으로 초당 여러 틱이 있습니다. 아마도 "아마도" "일반적으로"아닙니다. 보드 게임이나 전략 게임은 사용자가 "메인 루프 반복"-센스와 "렌더링"-센스 모두에서 움직일 때만 틱될 수 있습니다.
Anko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.