2024/03 2

struct 와 in, readonly

struct의 복사 비용 struct는 단독으로 사용하면 힙에 생성되지 않는다는 장점이 있다. 그대신 다른 메서드의 매개변수 등으로 주어질 때 항상 값 복사가 일어난다. 당연히 struct 내부에 필드가 많으면 많을수록 복사 비용이 커지게 된다. public struct SomeStruct { public int A, B, C; } public static bool IsZero(SomeStruct s) { return (s.A | s.B | s.C) == 0; } 가령 IsZero메서드를 호출하면 SomeStruct의 복사가 일어난다. 이를 방지하고 싶으면 ref키워드를 쓸 수 있다.ref키워드로 값 타입을 넘길 땐, 해당 타입 전체를 스택에 복사하는 대신 해당 타입의 주소만을 복사한다. public s..

언어/C# 2024.03.20

GAME AI - LOD

2024.02.25 - [Game AI] - AI 스케줄링 AI 스케줄링 AI Scheduling 게임이 균등한 프레임을 뽑기 위해서는 다양한 작업들이 제한된 시간 내에 수행되어야 한다. AI역시 마찬가지인데, 이를 제한된 시간 내에 처리하기 위해서는 다음의 3가지 요소가 필 tsyang.tistory.com 개요 게임 그래픽에 LOD를 적용하듯, AI에도 LOD를 적용할 수 있다. 가령 어떤 캐릭터는 복잡하고 정교한 행동을 하고 어떤 캐릭터는 단순한 행동을 하도록 할 수 있다. 그러나 게임 AI의 LOD는 그래픽처럼 단순히 거리만으로 처리할 수 없다. 그래픽과 달리 AI 캐릭터들이 우리가 보고 있지 않을 때도 항상 행동하길 기대하기 때문이다. AI의 LOD는 그 캐릭터가 게임에서 어떤 역할을 하냐에 따..

Game AI 2024.03.03