로그라이크 장르는 기본적으로 무작위성과 반복성을 기반으로 설계됩니다.같은 콘텐츠를 매번 새롭게 경험하게 만드는 구조는 이 장르의 가장 큰 장점이지만, 동시에 반복의 피로도와 운에 의한 결과라는 비판을 불러올 수 있는 위험도 내포하고 있습니다.이러한 구조 안에서 《슬레이 더 스파이어》는 무작위성을 전략으로 승화시키며, 반복의 지루함 대신 몰입과 도전의 리듬을 설계하는 데 성공한 사례입니다. 특히 이 게임은 플레이어의 자유로운 선택을 보장하는 것처럼 보이지만, 실제로는 핵심 요소에서 전략적 사고를 강제하는 구조를 교묘하게 배치하여 플레이어의 몰입을 유도하고 있습니다. 1. 전투는 선택이 아닌 《필수》슬레이 더 스파이어는 겉보기에는 자유로운 경로 선택이 가능한 맵 구조를 제공하고 있습니다. 플레이어는 각 A..
전체 글
개발 내용과 지식을 정리한 블로그입니다.Step 1: DQN 개념DQN(Deep Q-Network)은 Q-Learning을 딥러닝과 결합한 강화학습 알고리즘입니다. Q-Learning이 Q-테이블을 사용하는 것과 달리, DQN은 신경망을 사용하여 Q-값을 근사합니다. 이를 통해 대규모 상태 공간에서도 Q-값을 학습할 수 있습니다.Step 2: Q-Learning의 한계 해결기존 Q-Learning은 상태-행동 공간이 커질수록 Q-테이블 관리가 어려워집니다. DQN은 신경망을 통해 연속적이거나 고차원인 상태 공간에서도 효과적으로 학습할 수 있습니다.Step 3: DQN의 구조입력: 현재 상태 $s$출력: 각 행동에 대한 Q-값 $Q(s,a)$DQN의 신경망은 상태 $s$를 입력으로 받아 각 행동 $a$에 대한 Q-값을 근사합니다.Step 4: ..
Step 1: Q-Learning 개념Q-Learning은 강화학습 알고리즘 중 하나로, Off-policy 방식입니다. 에이전트가 환경에서 최적의 행동을 찾기 위해 Q-값을 학습합니다.Step 2: Q-값 정의Q-값은 상태-행동 쌍에서 얻을 수 있는 누적 보상의 기대치를 의미합니다. Q(s, a)로 표현됩니다.Step 3: Bellman 방정식Q-Learning은 Bellman 방정식을 기반으로 Q-값을 업데이트합니다.$Q(s,a) = Q(s,a) + \alpha \left( R + \gamma \max_{a'} Q(s', a') - Q(s, a) \right)$$\alpha$: 학습률$\gamma$: 할인율$R$: 즉각적인 보상$\max_{a'} Q(s', a')$: 다음 상태에서 예상되는 최대 보상..
Step 1: 강화학습 개념 이해강화 학습(Reinforcement Learning, RL)은 에이전트(Agent)가 환경(Environment)과 상호작용하면서 보상(Reward)을 통해 최적의 행동(Policy)을 학습하는 방법입니다. 여기서 에이전트는 목표를 달성하기 위해 행동을 선택하고, 그에 따라 보상이나 벌을 받습니다. 목표는 장기적인 누적 보상(Return)을 최대화하는 최적의 정책을 학습하는 것입니다.주요 구성 요소에이전트(Agent): 행동을 수행하고 환경에서 보상을 받는 주체.환경(Environment): 에이전트가 상호작용하는 대상.상태(State): 에이전트가 현재 환경에서 처한 상황.행동(Action): 에이전트가 상태에서 선택할 수 있는 동작.보상(Reward): 행동의 결과로 ..
1. 다익스트라 알고리즘다익스트라 알고리즘은 그래프 상에서 한 정점으로부터 모든 다른 정점까지의 최단 경로를 계산하는 알고리즘이다. 매번 최단 경로를 가진 정점을 선택하여, 이를 반복적으로 탐색함으로써 출발 정점에서 나머지 모든 정점으로의 최단 경로를 찾는다. 단, 모든 링크의 가중치는 양의 값이어야 한다.최단 경로를 구하는 방법으로는 다익스트라 외에도 벨만-포드, 플로이드-워셜 알고리즘이 존재한다. 경로 계산 방식은 크게 세 가지가 있다.한 지점에서 다른 특정 지점까지의 경로를 찾는 방식(One-to-One).한 지점에서 모든 다른 지점까지의 경로를 구하는 방식(One-to-All).모든 지점에서 모든 지점까지의 경로를 찾는 방식(All-to-All)이다. 다익스트라 알고리즘은 이 중 두 번째 유형인..
렌더링 파이프라인3D 오브젝트들을 화면에 표현하기 위한 일련와 과정들.렌더링 파이프라인(Rendering Pipeline) 또는 그래픽스 렌더링 파이프라인(Graphics rendering pipeline)이라 부르며 3차원으로 만들어진 모델을 2차원에 투영하는 렌더링 과정의 프로세스를 자세하게 표현한 것이다. 컴퓨터에 데이터로 존재하는 3D 리소스가 모니터에 출력되는 과정이 렌더링 파이프라인을 따르게 된다.파이프라인의 종류고정 기능 파이프라인(Fixed PipeLine)Direct3D에서 제공하는 미리 정해진 연산을 수행하는 파이프라인.고정적으로 정해진 연산만을 수행하며,프로그래머가 직접 관여할 수 없다.프로그래머블 파이프라인(Programmable PipeLine)고정 기능 파이프 라인에서 제공하는 ..
1. 동적 계획법이란? 동적 계획법(Dynamic Programming)은 주어진 문제를 작은 부분 문제로 분할하고, 그 결과를 저장하여 중복 계산을 방지하는 알고리즘 기법이다. 특히 부분 문제의 수가 기하급수적으로 증가할 때 유용하다. 분할 정복법과는 달리, 중복되는 부분 문제의 결과를 재활용하여 속도를 높인다.각 부분 문제가 서로 독립적일 때: 분할 정복법 사용.부분 문제가 중복될 때: 동적 계획법 사용.2. 메모이제이션이란?메모이제이션(Memoization)은 계산 결과를 저장해두고, 동일한 계산이 다시 필요할 때 저장된 값을 사용하는 최적화 기법이다. 이를 통해 중복 계산을 방지하고 속도를 향상시킬 수 있다. 메모리를 사용해 계산 시간을 줄이는 방식이다.3 - 1. 메모이제이션의 활용: 이항 계수..
게임에서 컴퓨터 그래픽스(Computer Graphics)는 필수적인 요소다. 초기의 단순한 텍스트 기반 게임에서 시작하여, 시각적인 요소를 더해주기 위해 픽셀 게임이 등장했고, 점차 2D에서 3D로 발전해왔다. 이러한 그래픽의 발전은 게임의 몰입감과 현실감을 크게 향상시켰다. 오늘날의 게임은 정교한 그래픽 기술을 활용해 매우 사실적인 시각적 경험을 제공하며, 플레이어의 상상력을 현실로 구현해준다.나 역시 게임 개발자 나부랭이로 발전하기 위해 컴퓨터 그래픽스에 대해 공부하려고 한다. 하지만 그 이전에, 컴퓨터 그래픽스가 어떻게 발전하였는가에 대해 알아보려고 한다.1. 초기 컴퓨터 그래픽스 (1960-1970년대)초기 1960년대, 컴퓨터 그래픽스는 단순한 와이어프레임 모델로 시작됐다. MIT와 같은 선도..