Posts

Parkitect Campaign - HappyCo. Bakery (행복 제과)

Image
오랫만에 파키텍트를 플레이했습니다. 출시 5주년 기념으로 HappyCo. Bakery라는 시나리오가 추가되어 있더군요. 메인 캠페인 화면에서 맨 오른쪽으로 이동하면 케이크 모양의 섬이 하나 있는데, 그걸 클릭하면 시작할 수 있습니다. 시나리오를 시작하면 공원 입구 근처에 대형 케이크 모양의 오브젝트가 있고, 왼쪽에는 공장을 본따서 만든 지역이 있습니다. 목표 달성을 위한 플레이에서는 초반에 비용을 절약하는게 중요하므로, 공장 건물 안에 직원 휴게실과 물류창고 등을 설치해 주면 좋을 것 같습니다. 완성된 공원 전경 야경 사진입니다. 공원 입구 지역은 중세시대 마을을 테마로 만들었습니다. 놀이기구 건설 및 건물 테밍까지 다 마무리된 상태에서 이 지역을 가로지르는 미니 모노레일을 만들었기 때문에 경로가 구불구불합니다만, 중간에 막히지 않아서 다행입니다. 공장 지역입니다. 물류센터가 공장지역 외곽에 연결되어 있어서 공원 입구와는 거리가 있습니다. 비교적 넓은 공터가 있는데, 실제 공장에 차량들이 출입하듯이 공원 밖도로에 연결된 것 처럼 꾸며져 있습니다. 보도 색깔도 지면과 비슷해서 마치 손님들이 공터를 가로질러 공장에 들어가는 것처럼 보입니다. 제작진이 의도한 컨셉을 존중하여, 공장 부지를 최대한 보존하기로 했습니다. 앞서 언급했듯이, 저는 공장 건물 안에 첫번째 상점가와 직원 휴게실을 만들어줬습니다. 풍경 점수를 낮추는 요인을 확실하게 가리기 위해서 벽과 천장을 추가로 설치하고 벽을 문으로 바꿔주는 등의 수고가 좀 필요하지만, 꾸미기에 드는 비용도 적고 테마도 맞출 수 있어서 만족합니다. 높이가 낮은 놀이기구 역시 건물 안에 설치하면, 비가 내리거나 폭풍우가 오는 날에도 정상운행이 가능해져서 시나리오 목표 달성에 큰 도움이 됩니다. 롤러코스터 정거장을 꾸미기 위해 성을 하나 만들어줬습니다. 시나리오 필수 목표를 달성하기 위해서는 흥미도 65이상의 롤러코스터를 5대 건설해야 합니다. 다행히도 스틸 롤러코스터가 처음부터 주어지기 때문에, 추가로 연구를 하지 않아도 목표...

C/C++ 전산수학 - 테일러 급수로 알아보는 삼각함수

Image
여기서는 테일러 급수 전개를 통해 삼각함수들의 값을 구하는 방법에 대해서 알아보고, C언어 및 C++ 프로그램을 통해서 이를 구현해보도록 하겠습니다. 특정 지점에서의 함수의 미분값들을 알면, 무한한 차수의 다항식을 통해 함수의 형태를 파악할 수 있다는 것이 테일러 급수 전개의 요점입니다. 주어진 함수의 미분들을 통해 테일러 급수 전개를 방법에 대한 기본적인 내용들은 다음 포스팅에 더 자세하게 소개되어 있습니다. 수학 상식 : 테일러 급수 전개 사인 (sine) 함수의 미분은 코사인 (cosine) 함수에 따라 그 형태가 결정되고, 코사인 함수의 미분은 사인 함수와 연결됩니다. 이 점을 이용해서 삼각함수를 반복적으로 미분하면 어떻게 되는지를 쉽게 파악할 수 있겠죠. 먼저 사인 함수의 테일러 급수 전개에 대해서 알아봅시다. \[ \begin{array}{rl} \sin{x} = & \displaystyle \sum_{k = 0}^{\infty} \frac{1}{k!} \left( \left. \frac{d^k}{dx^k} \sin{x} \right|_{x = n\pi} \right) (x - n\pi)^k \\ = & \displaystyle  (-1)^n \sum_{k = 0}^{\infty} \frac{1}{k!} \mathcal{A}_{\textrm{sin},k} (x - n\pi)^k \\ \mathcal{A}_{\textrm{sin},k} = & \displaystyle \left\{ \begin{array}{ll} 1 & \textrm{if} \quad k \mod 4 = 1 \\ -1 & \textrm{if} \quad k \mod 4 = 3 \\ 0 & \textrm{otherwise} \end{array} \right. \end{array} \] 사인 함수와 코사인 함수의 테일러 급수 전개는 무한대의 수렴반경을 가지고 있기 때문에 기준점을 어디에 잡아도 테일러 급수는 수렴하게 됩니...

서브노티카 번외편 : 레비아탄 아쿠아리움

Image
 지난 포스팅에서 외계 바다행성에서 생존하고 탈출하는 게임인 서브노티카에 대해서 이야기한 바 있죠. 서브노티카 : 불시착한 바다행성에서 살아남기 처음 플레이할 당시에는 방해가 되는 생물들은 밀어버리고 간다는 컨셉으로 공격적인 레비아탄들을 죽이는 일이 있었습니다만, 이번에는 현지 생태계와의 공존을 추구해 보기로 했습니다. 생존용 칼 이외에는 게임에서 만들 수 있는 살상무기가 없는데, 이 역시 토착생물들과의 공존을 지향하는 개발진들의 생각이 반영되어 있는 결과라고 합니다. 제가 동물들을 해칠 일이 없어지기 위해서는 동물들이 저를 위협하지 못하도록 하는것이 좋겠죠. 그래서 사신 레비아탄을 위한 거대한 집을 만들어 봤습니다. 이런식으로 레비아탄을 반려동물로 만들기 위해서는 그들의 서식지 주변에 기지를 지어야 되기 때문에, 위치선정에 제약이 좀 있습니다. 사신 레비아탄의 덩치가 워낙 크기 때문에 기지도 그에 걸맞게 크게 지어야 합니다. 기지 기반을 가로, 세로 5개씩 지어서 바닥을 만들고, 복도와 기둥을 사용해서 거대한 케이지를 만들었는데요. 4면중에 3면을 먼저 만들고 사신 레비아탄을 유인한 다음, 정지장 소총으로 세워둔 상태로 나머지 1면과 천장을 만들어 줬습니다. 레비아탄이 기지에서 너무 멀리 떨어진 곳으로 가서 배회하면 꼬셔서 데려오기가 어렵기 때문에, 세이브와 로드 역시 적당히 활용하면 좋습니다. 이런 기지를 짓는 과정에서 엄청난 양의 자원이 소모되기 때문에, 자원 수집을 위한 노가다가 필요합니다. 건축에 소요되는 시간 중 상당부분은 자원을 수집하기 위해 사이클롭스를 운전하며 이동하는 시간이었다고 해도 과언이 아닙니다. 사이클롭스에 이온결합 파워셀 6개를 장착하고 열발전 (thermal reactor) 모듈까지 달아주면 편리하게 진행할 수 있습니다. 티타늄과 석영이 1000개 단위로 소모되고, 보강판을 만드는데 필요한 리튬 역시 100개 단위로 소모됩니다. 안전한 여울과 해초숲 뿐만 아니라 오로라호 추락지역과 모래언덕 (Dunes) 및 전구지대 (Bul...

서브노티카 (Subnautica) : 불시착한 바다행성에서 살아남기

Image
새 컴퓨터를 구입한 김에 플레이해 본 해양생존게임 서브노티카 이야기입니다. 알테라 (Alterra)라는 거대 기업에서 제작한 우주선 오로라 호 (Aurora)는 의문의 에너지 빔을 맞고 바다행성 4546B 에 추락합니다. 유일한 생존자인 주인공이 수렵 및 채집을 통해 생존하고, 잔해와 외계 선구자들로부터 획득한 기술들을 바탕으로 로켓을 만들어 탈출하는것이 이 게임의 스토리입니다. 서기 27세기라는 시간적 배경으로 인해 인류는 기술적으로 상당히 발전되어 있다는 설정 덕분에, 제작기와 건축기 등을 통해 재료가 되는 물질을 원자 단위로 재배치해서 물건과 건물을 만들 수 있다고 합니다. 다만 이를 위해서는 청사진 (blueprint)들이 필요한데요. 오로라 호 추락의 여파로 데이터가 상당수 손상되어 파편을 스캔하거나 데이터 박스 등을 통해 청사진을 확보해야 합니다. 주인공이 탑승한 5번 구명포드 는 안전한 여울 (safe shallow)이라는 지역에 떨어졌는데, 적대적이고 위험한 생명체가 거의 없고 수심도 얕아서 초반을 보내기에는 좋은 곳입니다. 행성 4546B는 표면의 대부분이 수심 8km를 넘는 바다로 덮여 있지만, 화산활동으로 인해 크기가 4km 가량 되는 분화구가 형성되었고 태양광이 도달할 정도로 수심이 얕아져 다양한 생태계가 형성될 수 있었다고 합니다. 이 분화구 지역이 게임의 무대이며, 오로라 호가 분화구 가장자리에 떨어진 것은 불행 중 다행이죠. 게임을 진행할수록 수심이 깊은 곳으로 내려가야 하는 관계로, 규모가 좀 되는 본거지는 수심 100m 가량 되는 평야지역에 만들었습니다. 더 깊고 위험한 지역으로 진출하기 위한 교두보 역할도 되고, 유사시에는 수면으로 급부상하는데도 문제가 없으므로 입지 선정은 나름 잘 된 것 같네요. 엔딩까지 스토리를 진행해보고 느끼는건데, 처음 건설하는 기지는 분화구 외곽같은 뜬금없는 곳이 아닌 이상 어디에 지어도 별로 상관없지 싶습니다. 각종 장비와 업그레이드를 위해서 파편과 잔해를 찾아다니다 보면 결국 모든 지역을 탐험하...