Verse 완벽 이해 – 벌스의 동시성이 중요한 이유
이전 글에서는 벌스(Verse)의 Failure 개념이 왜 중요한지를 정리해보았습니다. 특히 벌스는 실패 가능성을 단순 런타임 오류 수준으로 처리하기보다, 언어 안에서 비교적 직접적으로 표현하려는 특징을 가지고 있다는 점도 함께 살펴보았습니다. 이번 글에서는 벌스의 또 다른 핵심…
Series Archive
게임 개발 및 프로그래밍에 관련된 주제에 대한 카테고리 입니다.
이전 글에서는 벌스(Verse)의 Failure 개념이 왜 중요한지를 정리해보았습니다. 특히 벌스는 실패 가능성을 단순 런타임 오류 수준으로 처리하기보다, 언어 안에서 비교적 직접적으로 표현하려는 특징을 가지고 있다는 점도 함께 살펴보았습니다. 이번 글에서는 벌스의 또 다른 핵심…
이전 글에서는 벌스(Verse)의 함수 문법이 기존 C++나 게임 스크립트 언어와 어떻게 다른지를 정리해보았습니다. 특히 override와 suspends 같은 표현들을 통해 함수의 상태와 특성을 코드 안에서 비교적 직접적으로 표현하고 있다는 점도 함께 살펴보았습니다. 이번 글에서는 벌스를…
이전 글에서는 벌스(Verse)의 변수 선언 방식과 타입 시스템, 그리고 option 타입과 Failure 개념이 어떤 방향성을 가지고 있는지를 정리해보았습니다. 이번 글에서는 벌스 함수 문법이 왜 기존 언어들과 조금 다르게 느껴지는지, 그리고 함수 선언 구조 안에…
이전 글에서는 벌스(Verse)가 기존 게임 스크립트 언어들과는 조금 다른 방향성을 가지고 있다는 점을 정리해보았습니다. 특히 Failure와 동시성 같은 개념을 언어 안으로 가져오려는 특징도 함께 살펴보았습니다. 이번 글에서는 실제 벌스 코드 안에서 변수와 타입 시스템이…
이전 글에서는 Epic이 왜 새로운 언어인 벌스(Verse)를 만들기 시작했는지를 정리해보았습니다. 언리얼 엔진에는 이미 강력한 C++와 블루프린트가 존재합니다. 그럼에도 Epic은 새로운 언어를 준비하기 시작했고, UEFN(Unreal Editor for Fortnite)을 통해 실제로 벌스를 공개했습니다. 그리고 이 흐름은…
언리얼 엔진 4버전이 출시된 이후로 언리얼 엔진에서는 C++와 블루프린트를 활용해 게임 로직을 개발할 수 있었습니다. C++는 언리얼 엔진의 핵심 시스템을 구성하는 강력한 언어이고, 블루프린트는 프로그래밍 경험이 많지 않은 개발자도 게임 로직을 시각적으로 구성할 수 있게…
시리즈 바로가기 1. 렌더링 파이프라인 완벽 이해 – 게임 엔진은 화면을 어떻게 만들어낼까? 2. Input Assembly 단계는 왜 필요할까? 3. Vertex Shader 단계는 왜 필요할까? 4. Rasterizer 단계는 왜 필요할까? 5. Pixel Shader 단계는…
이전 글에서는 Output Merger 단계가 왜 필요한지를 정리했습니다. Output Merger 단계에서는 Depth Test와 Blending, 그리고 Frame Buffer 갱신 같은 작업들이 수행되며, 최종적으로 GPU가 실제 화면 이미지를 완성하게 된다는 점도 함께 살펴봤습니다. 지금까지 렌더링 파이프라인…
이전 글에서는 Pixel Shader 단계가 왜 필요한지를 정리했습니다. Pixel Shader 단계에서는 Fragment마다 최종 색상을 계산하게 되며, Texture Sampling, 조명 계산, Material 표현 같은 다양한 그래픽 처리들이 이 단계에서 수행된다는 점도 함께 살펴봤습니다. 그리고 이…
이전 글에서는 Rasterizer 단계가 왜 필요한지를 정리했습니다. Vertex Shader 단계에서 공간 변환이 끝난 삼각형은 아직 실제 화면 이미지 형태가 아닙니다. GPU는 여전히 삼각형이 화면 위의 어떤 픽셀을 차지하는지를 계산해야 합니다. 그리고 바로 이 작업을…