전체 글
-
The Rendering Pipeline - BackgroundCS/게임 프로그래밍 2024. 2. 4. 22:24
Pipeline State Fixed-Function Pipeline Stage Perform a set of fixed operations on the given data. Use the status object to control the fixed-function pipeline stages. The burden of validation of status setting API calls disappears. The validation of the state occurs in the process of creating a state, not in the API call process at the time of execution. Programmable Pipeline Stage Programmable ..
-
Direct3D 11 ResourcesCS/게임 프로그래밍 2024. 2. 2. 22:50
Resources Overview Resource Creation ID3D11Device interface generates all the memory resources. Parameters of the resource generation method Resource description A structure that specifies all options for resource generation. Used to define the desired characteristics of the generated resource. A pointer for D3D11_SUBRESOURCE_DATA structure Provide initial data to be loaded on resources. A doubl..
-
스킬 범위... 어떻게 설정하지...?? with. 반월게임 클라이언트 개발/MakeDNF 2024. 2. 2. 21:35
이번 글에서는 반월 스킬을 구현하면서 스킬 이펙트에 따라 변동하는 히트박스를 어떻게 처리할 지에 대해 고민한 내용에 대해 작성해보고자 한다. 구현한 반월 스킬 런타임에 히트박스가 변한다....?? 악즉참 스킬 다음으로 구현하고자 한 스킬은 반월 스킬이다. 반월 스킬을 구현할 때 제일 고민이 됐던 부분은 스킬 범위를 런타임에 어떻게 설정할지였다. 지금까지 스킬을 구현할 땐 히트박스의 멤버 변수(Size, Offset, Pivot 등)를 에디터에서 수정하고 런타임엔 수정할 수 없도록 구현했었다. 하지만, 반월 스킬을 구현하고자 했을 땐 히트박스가 런타임 중 이동해야 한다고 생각했다. 플레이어가 화면상에선 몬스터와 검기 이펙트가 충돌하지 않았는데 피격되면 이상하게 보일 수도 있다고 판단했기 때문이다. 아래 사..
-
악즉참 스킬로 알아보는 역경직 발생 조건게임 클라이언트 개발/MakeDNF 2024. 2. 1. 18:20
던전 앤 파이터는 액션감을 향상시키기 위한 요소로 역경직이 존재한다. 역경직이란 캐릭터의 공격에 피격된 오브젝트가 존재할 경우 캐릭터가 잠깐 멈추는 현상을 말한다. 악즉참 스킬을 구현하며 역경직에 대해 고려한 내용을 작성하고자 한다. 악즉참을 오마주한 스킬 구현 어떻게 구현할까 역경직 효과를 어떻게 구현할 지에 대해 먼저 생각해보면, 방법은 매우 간단했다. 스킬 범위에 피격된 오브젝트가 존재할 경우 애니메이션의 속도를 0으로 설정하고 역경직 시간 이후 원래 애니메이션의 속도로 되돌리면 손쉽게 구현할 수 있다고 생각했다. 어떤 스킬은 Projectile 오브젝트를 소환하여 공격을 하는 스킬도 존재할텐데, 오브젝트를 소환하는 스킬에서 역경직이 발생한다면, 공격 모션을 처리하는 Skill 클래스와 Projec..
-
애니메이션과 스킬 타이밍 동기화, 근데 AnimatorStateInfo를 곁들인..게임 클라이언트 개발/MakeDNF 2024. 1. 31. 17:05
캐릭터의 스킬에는 여러 타이밍이 존재한다. 선딜레이가 끝나는 시점, 히트박스가 켜지고 꺼지는 시점 등 다양한 타이밍이 존재하는데, 기본 공격을 구현하면서 이러한 타이밍을 어떻게 컨트롤했는지에 대해 작성해보고자 한다. 구현된 기본 공격 Time.DeltaTime을 활용한 시간 계산 처음으로 시도한 방법으로, 스크립트에서 시간 계산을 통해 타이밍을 설정했다. 애니메이션 클립의 프레임 수와 재생 속도 등 여러 변수들을 고려하여 선딜레이나, 후딜레이 등 각 시점을 정하고 Update를 통해 상태 변화를 구현했다. public override void OnStart() { attackSpeed = character.Animator.GetFloat(attackSpeedHash); // 타이밍 계산 로직 : 한 프레..
-
Overview of Direct3D 11CS/게임 프로그래밍 2024. 1. 29. 15:05
책 정보 : 실용 Direct3D 11 렌더링 & 계산 (Jason Zink, Matt Pettineo, Jack Hoxley 저 | 류광 역) Direct3D Framework Direct3D 11 Native API (Application Programming Interface), used to render an image by controlling and linking the computer's video hardware. Native code : written in the "native" machine language of the computer that is running on and is executed directly by the processor. Graphic Architecture Ap..
-
남 넨마스터의 넨가드 스킬에 대한 고찰게임 클라이언트 개발/MakeDNF 2024. 1. 22. 19:44
최근 던전 앤 파이터의 현재 최상위 콘텐츠인 어둑 섬 해방 난이도에서 넨마스터의 무한 넨가드로 손쉽게 클리어하는 영상이 올라왔었다. 이에 직접 코드를 확인할 순 없지만 나름대로 왜 이런 상황이 발생하는지 추측해 보고자 한다. 넨가드 스킬 우선 넨가드란 어떤 스킬인지 확인해 보자. 넨가드란 남 넨마스터의 25 레벨에 습득할 수 있는 스킬로 (물론 여 넨마스터도 습득할 수 있다), 넨으로 보호구를 생성하여 자신을 포함하여 해당 영역에 존재하는 파티원도 무적으로 만드는 스킬이다. 여기서 키포인트는 "파티원을 무적으로 만든다"라는 문구이다. 던전 앤 파이터에선 캐릭터가 슈퍼아머 상태일 경우 캐릭터에 붉은빛 계열의 테두리가 생기며, 무적일 경우에는 하얀 테두리가 생긴다. 넨가드를 사용한 모습을 보면 캐릭터에 하얀..
-
OOP Design Pattern - Structural Pattern프로그래밍 언어 2024. 1. 18. 21:33
Adapter Adapter Pattern Allow the interface of an existing class to be used as another interface Allow two incompatible interfaces to work together Interfaces may be imcompatible, but the inner functionality should suit the need By converting the interface of one class into an interface Often used to make existing classes work with others without modifying their source code Overview Solves probl..