레이블이 MADASS인 게시물을 표시합니다. 모든 게시물 표시
레이블이 MADASS인 게시물을 표시합니다. 모든 게시물 표시

2023년 8월 28일 월요일

Network Physics - Client-Side Prediction With Physics In Unity

출처

Client-Side Prediction With Physics In Unity

메모

물리 오브젝트에 대해서 prediction을 처리하는 방법에 대해서 설명한다.

  1. Auto-Simulation을 끄고 직접 호출한다
  2. 클라이언트에서 fixedTimeDelta마다 InputState를 처리하고, 서버로 보낸다. 그리고, simulation을 호출한다.
  3. 서버에서 받은 InputState가 있으면, 처리하고, simulation을 호출하고 SimulateState를 클라이언트로 보낸다.
  4. 클라이언트에서 받은 SimulateState가 있고, 기록해둔 위치와 차이가 크면, 보정을 한다
  5. 클라이언트에서 입력을 중복으로 보내기. 패킷 최적화를 할 수도 있다. (delta-compression of the inputs)
  6. 서버에서 스냅샷 빈도를 조절
  7. 클라이언트에서 위치 보정을 부드럽게 처리하기
관련성

물리 오브젝트를 네트워크 동기화 처리할 때 참고한다

날짜

2023.8.28

Network Physics - Lag Compensation - Fair Play for all Pings

출처


메모

Client-Prediction 기법을 사용하면, 렉이 심한 유저는 상대를 맞힐 수 없는 상황이 발생한다. 이에 대한 처리를 설명한다.

알고리즘은 다음과 같다.

  1. 매 틱마다 모든 타겟(플레이어, 오브젝트 등등)의 위치를 저장한다. (1틱 = 50ms, 20틱 동안의 기록을 관리한다. 1000ms이 넘어가는 상황에 대해서는 보장하지 않는다.)
  2. 발사체 발사 이벤트를 받으면, 현재 시간과 클라이언트의 랙을 합해서 틱을 계산한다.
  3. 해당 틱의 기록에서 발사체와 충돌이 되는 타겟을 찾는다.
  4. 충돌되는 타겟을 못 찾으면 틱을 현재 틱까지 하나 씩 증가 시키면서 타겟을 찾을 때까지 계속한다
관련성

Fast-Paced 멀티플레이어를 만들 때, 적용하자

날짜

2023.8.28

2023년 8월 18일 금요일

차량 - Arcade Car Physics - Vehicle Simulation

출처


메모

내가 재미있는 차량 물리학 및 아케이드 제어를 만들려고 시도했다. 주요 목표는 설정하기 쉽고 재미있게 플레이할 수 있는 차량 컨트롤러를 만드는 것이었다. 나는 결과에 꽤 만족하고 있다. 이 방법은 GTA, 로켓 리그 또는 Flatout과 같은 게임에 사용될 수 있다.

차량 물리 시뮬레이션 관련 코드와 리소스들이 정리되어 있다



관련성

차량 구현에 참고한다

날짜

2023.8.18

2023년 8월 15일 화요일

플레이 - Cosmo Collection

출처


메모

저폴리 (low poly) PBR 게임용 준비된 공상과학 (Sci-Fi) 여성 캐릭터 컬렉션입니다. 5개의 유니크한 모듈식 캐릭터가 포함되어 있습니다. 모든 캐릭터들은 동일한 몸체를 가지고 있어서: 이들의 모듈식 갑옷을 무한한 조합으로 혼합할 수 있습니다!
렌더 파이프라인 호환성



관련성

MADASS 메인 케릭터에 활용해보자.

날짜

2023.8.15

Network Physics - Fast-Paced Multiplayer

출처


메모

클라이언트-서버 게임 아키텍처는 다음과 같이 요약할 수 있습니다:

1. 서버는 모든 클라이언트로부터 입력을 받아 타임스탬프와 함께 처리합니다.
2. 서버는 입력을 처리하고 세계 상태를 업데이트합니다.
3. 서버는 모든 클라이언트에게 정기적으로 세계의 스냅샷을 전송합니다. (SimulatonState)
4. 클라이언트는 입력을 전송하고 그 효과를 로컬에서 시뮬레이션합니다. (ClientInputState) (Prediction)
5. 클라이언트는 세계 업데이트를 받아서
    - 예측된 상태를 권한 있는 상태에 동기화하고, (Reconciliation)
    - 다른 엔터티에 대한 알려진 과거 상태를 보간합니다. (Interpolation)

플레이어의 관점에서 이것은 두 가지 중요한 결과를 가지고 있습니다:

1. 플레이어는 자신을 현재 상태로 볼 수 있습니다.
2. 플레이어는 다른 엔터티를 과거 상태로 볼 수 있습니다.

헤드샷과 같은 처리를 위해서 다음과 같이 처리할 수 있다.

Lag Compensation

관련성

멀티플레이어 게임을 만들때 참고한다

날짜

2023.8.15

Network Physics - Seamless fast paced multiplayer in Unity3D. Implementing client-side prediction.

출처


메모

유니티로 클라이언트 사이드 예측을 구현하는 방법에 대해서 다음 내용을 설명한다.

  1. ClientInputState - 사용자 입력 상태를 다룬다
  2. SimulationState - 플레이어의 위치 상태를 다룬다
  3. CharactorController - ClientInputState와 SimulationState를 보내고 받아서 처리하는 방법을 다룬다
  4. Reconcliclate - 클라이언트에서 서버로부터 받은 상태를 적용하는데, 차이가 크면, 그 동안 캐쉬해뒀던 정보를 기반으로 조정을 한다
  5. ServerSimulater - 클라이언트로 부터 받은 ClientInputState를 CharactorConteroller::ProcessInput을 호출하고 상태를 다시 클라이언트로 보낸다.

관련성

네트워크 물리를 만들때 참고한다

날짜

2023.8.15

2023년 8월 13일 일요일

플레이 - Bettlefield 2042

출처

Battlefield 2042 Conquest

메모

전투기 싸움


관련성

전투기 싸움에서 레이더와 플레이를 활용하는 방식을 참고한다

날짜

2023.8.13

플레이 - Destiny 2

출처


메모

차량을 타고 이동할 때의 모습


관련성

뒷태가 비슷하다

경쟁 - 스타워즈 배틀프론트

출처

Starwarz Squadron

메모

비행기를 사용 시 조작과 화면


관련성

도그파이트를 플레이를 참고한다

날짜

2023.8.13


카메라 - Armored Core For Answer

출처

Armored Core For Answer

메모

역동적인 카메라의 모습


관련성

카메라의 역동성을 참고한다

날짜

2023.8.13

경쟁 - Diesel Guns

출처


메모

"Diesel Guns"는 "Twisted Metal" 및 "Vigilante 8"과 같은 클래식 AMOCC에서 기억하는 동일한 스릴을 제공하도록 설정된 Arcade Multiplayer Online Car Combat(AMOCC) 게임입니다.


관련성

게임 모드와 전투 방식이 거의 예상과 유사하다

날짜

2023.8.13

차량 플레이 - Mad Max

출처


메모

광기를 뒤로하고 위안을 찾는 것 외에는 아무것도 원하지 않는 마지못한 영웅이자 생존자인 매드 맥스로 플레이하세요.


관련성

전체적인 플레이 분위기나 연출 등을 참고한다

날짜

2023.8.13

차량 플레이 - Rage 2

출처


메모

차량 전투 플레이를 참고만 하다.


관련성

전체적인 연출과 분위기 등이 참고가 된다.

날짜

2023.8.13

2023년 4월 30일 일요일

배경 - Junk town

출처

Junk town

메모

이 패킷에서 모든 구성의 정크 포스트 아포칼립스 도시를 만들기 위한 많은 자산을 찾을 수 있습니다. 패키지에는 부서진 콘크리트 구조물, 다양한 쓰레기로 조립된 벽, 사전 조립된 조립식 건물 및 기타 많은 장식 자산의 다양한 변형이 포함되어 있습니다.



관련성

MEKA의 배경에 사용하면 좋겠다.

날짜

2023.4.30

2023년 4월 22일 토요일

효과 - Full Rig

출처

Full Rig

메모

Full Rig는 연결된 로프의 복잡한 장면을 쉽게 추가, 연결 및 구축할 수 있는 셰이더 기반 로프 시스템입니다. 셰이더 기반이기 때문에 한 장면에 100에서 1000개의 로프가 있을 수 있습니다.


관련성

메카를 구현할 때, 오버래핑 에니메이션으로 사용하면 좋을 것 같다

날짜

2023.4.22

2023년 4월 13일 목요일

UI - SteampunkUI

출처

SteampunkUI

메모

⚙️Steampunk UI⚙️손으로 그린 ​​100개 이상의 요소를 포함하여 UI를 제작합니다. 버튼, 아이콘, 체력바, 마우스 커서 등. steampunk 분위기의 모든 게임에 적합합니다.


관련성

MEKA 제작에 UI로 사용하면 어울릴 것 같다

날짜

2023.4.13

2023년 4월 11일 화요일

터레인 - Vista 2023 - Procedural Terrain Generator

출처

Vista 2023 - Procedural Terrain Generator

메모

Vista는 그래프 기반 워크플로우와 사실적인 자연 시뮬레이션을 사용하여 몰입형 풍경을 제공하는 강력한 지형 생성기입니다.


관련성

메카 배경 제작에 사용하자.

날짜

2023.4.11

그래픽 - URP Spin/Rotation Blur

출처

URP Spin/Rotation Blur

메모

개체의 이전 위치 및 회전 정보를 곱하여 모션 블러를 가짜로 만듭니다.


관련성

메카를 제작시에 바퀴 회전에 사용하면 어울릴 것 같다

날짜

2023.4.11