의도 게임 시간 진행을 유저 입력, 프로세서 속도와 디커플링 한다. 동기 대화형 프로그램 게임 루프에 대해서 살펴보기 전에, 과거에는 프로그램이 배치 모드로 동작했다. 코드를 입력해 넣은 뒤 한참 뒤에 결과를 볼 수 있었다. 즉각적인 피드백을 원했던 프로그래머들은 대화형 프로그램(interactive)을 만들었다. 초기 대화형 프로그램 중에선 게임도 있었다. 예를 들면 다음과 같은 텍스트 어드벤처 게임이다. 당신은 던전 안에서 해골 전사와 마주쳤다. 해골 전사는 뼈 부딪히는 소리를 내며 당신에게 다가오고 있다. > 공격한다 당신은 해골 전사를 공격해 산산조각 냈다! 경험치 10 획득 이제 프로그램과 실시간으로 대화를 나눌 수 있게 되었다. 프로그램은 입력을 기다렸다가 응답한다. 코드로 표현하면 다음과 같..
전체 글
게임 좋아합니다. 연락처: khd1323@naver.com 깃허브: https://github.com/virtus2문제 https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 풀이 방법 (0,0)부터 시작해서 (10,10)까지 종이에 1이 적혀있으면 큰 색종이부터 작은 색종이까지 붙일 수 있는 종이를 다 붙혔다 뗐다하면서(백트래킹) 깊이 우선 탐색을 한다. 2580번 스도쿠와 비슷할 수도 있는 문제. 코드 #include #include #include using namespace std; int answer = 0x6FFFFFFF; void dfs(ve..
문제 https://www.acmicpc.net/problem/1039 1039번: 교환 첫째 줄에 정수 N과 K가 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, K는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 방법 문제에 설명되어있는 것처럼 i번 위치와 j번 위치를 바꾸는 연산을 K번 했을 때 나오는 수들의 최댓값을 구하면 된다. 헷갈릴 수 있는데, 탐색 과정 중의 최댓값을 구하는 게 아니라 탐색을 K번한 후의 최댓값을 구하는 것이다. 예를 들면 예제 입력2의 132 3에서 연산을 2번 했을 때의 수는 132, 213, 321이고 이 중 최댓값은 321이지만 연산을 3번 했을 때는 123, 231, 312로 최댓값은 312가 나온다. 그리고 132->123 , ..
실력 군대 전역하고 지난 2년간 여러 경험을 해보면서 시야가 넓어지긴 했지만, 게임 개발 실력이 성장했는가를 되돌아보면 쉽게 그렇다는 말이 나오지 않는다. 이번에 인턴십을 지원해보면서 나는 아직 부족하다는 것을 느꼈다. 처음엔 3인 이하의 인디게임 위주로 작업했던 나의 경험을 잘 어필하지 못했다고 생각했다. 그러나 사실 기업이나 취업은 둘째치고 장기적으로 봤을 때 게임 개발에 임하는 나의 태도, 크게 보면 프로그래밍에 대한 나의 태도에 문제가 있었다. 나는 어느 정도 실력이 된 후에 그 실력으로 만들 수 있는 게임들만 만드려고 했다. 변명하자면, 최근 몇 년간 재밌는 게임을 만들고 싶다는 욕심에 목표를 크게 잡았지만 자꾸 실력이 부족해 프로젝트를 뒤엎으니 욕심을 덜어야겠다는 생각이 들었다. 그래서 뭔가를..