분류 전체보기
-
User Program and System CallCS/OS 2024. 3. 6. 17:12
Terminologies : Kernel and Utility Kernel : Operating System의 핵심적인 기능을 수행하는 코드 (Software) Memory resident part of OS Majority written in C / Rest in assembler language (HW dependent, for speed) Consists of a set of functions Provide fundamental mechanisms (process management, synchronization, CPU scheduling, memory management, device management, interrupt handling) Provide services via a system ..
-
전투 시스템 구현 (Feat. 메이플 스토리 월드)게임 클라이언트 개발/MakeDNF 2024. 3. 6. 16:49
이번 글에선 히트박스와 충돌 시스템을 구현한 내용을 바탕으로 공격과 피격 로직을 어떻게 구현했는지에 대해 작성하고자 한다. 메이플 스토리 월드 이전에 멋쟁이사자처럼에서 주최한 해커톤 Super Hackathon 2022에 참여하였고 메이플 스토리 월드 플랫폼을 활용하여 "데드 바이 데이라이트"와 비슷한 술래잡기 콘텐츠를 제작했었다. 콘텐츠를 제작하기 위해 메이플 스토리 월드의 API를 하나하나 뜯어보며 어떻게 구현되어 있는지 확인했었다. 특히 메이플 스토리 리소스를 기반으로 제작된 플랫폼이어서 공격과 피격에 대한 로직이 작성되어 있었고 이를 참고하여 이번 프로젝트의 공격 및 피격 로직을 설계 및 구현하였다. 메이플 스토리 월드에선 GameObject를 Entity로 지칭한다. 공격 로직을 작성할 Enti..
-
캐릭터 기본 클래스 구현게임 클라이언트 개발/MakeDNF 2024. 3. 4. 01:02
이번 글에선 캐릭터의 공격, 이동, 점프 등 각 기능을 어떻게 설계하고 구현했는지에 대해 작성하고자 한다. 캐릭터를 설계하기 위해 유한 상태 머신을 참고했다. 캐릭터를 컨트롤하기 위한 유한 상태 머신 클래스로 Character를, 캐릭터의 각 행동(유한 상태 머신에선 상태라고 표현함)을 표현하기 위한 베이스 클래스로 CharacterBehaviour를 선언했다. 캐릭터의 행동은 크게 두 가지로 분류하여 구현하였다. On/Off 형식으로 키고 끌 수 있는 행동으론 캐릭터가 이동하는 행동 MoveBehaviour, 점프하는 행동 JumpBehaviour가 있으며, 유한 상태 머신 사이클로 존재하는 행동으론 아무것도 안하는 행동 IdleBehaviour, 캐릭터가 공격하는 행동 AttackBehaviour, ..
-
Computer System OverviewCS/OS 2024. 2. 26. 16:05
Basic Element Processor Arithmetic / Logic Unit (ALU) : performs mathematical calculations and makes logical comparisons Central Process Unit (CPU) : a hardware component that performs an instruction set utilizing the ALU, control unit, and registers Graphical Process Unit (GPU) : provide efficient computation on arrays of data using Single-Instruction Multiple Data (SIMD) techniques SoC : compo..
-
The Tessellation PipelineCS/게임 프로그래밍 2024. 2. 12. 02:30
Introduction Tessellation Connect small pieces without gaps and overlapping to form a single surface. Means of representing a non-linear mathematical surface. NURBS (non-uniform rational basis splines) : generalized mathematical from for smooth curved surfaces. Subdivision surface; SubD Recursively divided the triangle until the ideal surface is no longer well expressed. Possible to approximate ..
-
The Rendering Pipeline - After TessellationCS/게임 프로그래밍 2024. 2. 5. 01:01
Geometry Shader Geometry Shader Unique abilities that are different from other stages Dynamically add or remove geometry to the pipeline. Provide geometry information to the vertex buffer through the stream output stage. Output a different type of primitive from the input primitive. Input of Geometry Shader A completed primitive consisting of the vertices When the tessellation stages are disable..
-
The Rendering Pipeline - Tessellation카테고리 없음 2024. 2. 4. 22:27
Hull Shader Hull Shader Provide the tessellator with how small the input geometry will be split. Provide the domain shader with processed control patch primitives. Two HLSL functions of hull shader Main function Executed by the number of control points required to generate one output control patch. Output one control patch per execution. Patch constant function Executed once for each complete co..
-
The Rendering Pipeline - Before TessellationCS/게임 프로그래밍 2024. 2. 4. 22:25
Input Assembler Input of Input Assembler Vertex buffer : there are a total of 16 input slots that the application can set. void ID3D11DeviceContext::IASetVertexBuffers( // A index of the first slot to connect resources among vertex buffer slots UINT StartSlot, // The total number of buffers to be connected to slots UINT NumBuffers, // A continuous array of pointers indicating buffer resources to..