본문 바로가기

분류 전체보기

(72)
근황 보고 요즘 뭐 하고 살았는가Insomniac을 개발하다가 어느 순간 블로그 글이 끊겼다. 정신을 차리고보니 벌써 5월 말이어서, 늦었지만 지금이라도 근황을 써보려 한다.WAP 프로젝트 - 좀비 아포칼립스 GitHub - pknu-wap/2024-1-Game-2-Team: 부경대학교 중앙동아리 WAP, 2024년 1학기 게임 2팀 프로젝트입니다.부경대학교 중앙동아리 WAP, 2024년 1학기 게임 2팀 프로젝트입니다. Contribute to pknu-wap/2024-1-Game-2-Team development by creating an account on GitHub.github.com WAP은 부경대학교 중앙동아리 소속, 프로젝트 개발 동아리다. 또한 내가 속한 동아리기도 하다.위 링크는 내가 작업 중인 ..
[Unity] '맵 메이킹 게임' 4 - 타일에 블럭 배치 지난 시간에 아이템 선택까지 했으니, 이제 배치를 구현해보자. 간단하게 취소부터 이전에 블럭을 잡는 것은 구현했지만, 잡은 블럭을 다시 돌려놓는 취소는 개발하지 않았다. 그러니 우클릭하면 취소하는 것부터 구현해보자. 선택 취소에 영향받는 오브젝트는 무엇이 있을까? 마우스에 붙어 있는 선택 블럭 블럭이 들어 있던 인벤토리 또 이는 선택 시 인벤토리에서 즉시 차감되느냐, 배치 시 차감되느냐에 따라 갈리는데, 나는 후자로 개발할 것이다. 그럼 내가 해야할 일은 우클릭 시 취소 함수 실행 선택 블럭 - 자기 자신의 내용물을 비우기 인벤토리 - 아무 일도 일어나지 않음. 선택 블럭만 영향을 받으니, 이 안에 우클릭 감지와 함수를 만들어보자. 함수는 이전에 ClearSelector를 SelectBlock과 함께 만..
[Unity] Unity Recorder - 게임 화면 녹화하기 Unity Korea, [유니티 TIPS] 원하는 분위기를 간편하게 연출 가능!, YouTube, 2023.8.2., Unity Color Lookup, https://www.youtube.com/watch?v=TuE2DhhLruc&t=518s Insomniac의 엔딩 연출을 위해 동영상을 찾아보다가, 위 영상에서 엄청난 꿀팁을 하나 발견해 가져오게 되었다. 그건 바로, 유니티 화면을 녹화해주는 Unity Recorder다. 이거 없이 어떻게 살았지? 지금까지 난 블로그에 올릴 영상, 혹은 홍보 영상을 찍을 때 Win + G 키로 진입, 녹화를 눌러 화면을 녹화하고, 크롭, 트리밍, GIF로 변환 과정을 거쳐 GIF 파일을 만들었다. 하지만, Unity Recorder를 쓰면 그럴 필요 없이 깔끔하게 녹..
[Unity] '맵 메이킹 게임' 3 - 블럭 선택 이번엔 블럭을 잡는 부분을 개발해보자. 생각난 방법은 있었으나 다른 방법도 참고하기 위해 구글링을 했고, Poly Bridge에 비슷한 기능이 있었기에 'how to make polybridge in unity'로 검색해 자료를 찾았다. URocks!, "How to make a Bridge Building Game in Unity Part 1", YouTube, 2020.5.21, https://www.youtube.com/watch?v=ejStfmwNYtw 이후 이런 게임들이 Building game으로 불리는 걸 알았고, 유튜브에 'how to make a building game'으로 검색해 가장 비슷한 자료를 찾아냈다. Blackthornprod, "How to make a basic CITY ..
[Unity] '맵 메이킹 게임' 2 - 캐릭터 이동과 오브젝트 생성, 모드 전환, UI 처음부터 개발 과정을 공유했으면 더 좋았겠지만, 아쉽게도 어느정도 개발이 진행된 후 포스팅을 올려야겠단 생각이 들었다. 그래서 이번엔 현재 개발된 부분을 간략하게 정리해보려 한다. 먼저, 지금까지의 플레이 영상은 이런 느낌이다. 노란 건 스프링, 파란 건 뒤돌기, 빨간 건 적 오브젝트. 적에게 닿거나 낙사하면 초기 위치로 돌아온다. 캐릭터 이동 가장 먼저 구현한 건 자동으로 움직이는 캐릭터다. 아무 생각없이 이름을 Player로 지었는데, 딱히 틀린 말은 아니었기에 앞으로 플레이어라 지칭한다. void Update() { if(isPlaying == false) { return; } if (canMove) { MoveForward(); } } 게임은 크게 플레이 모드와 배치 모드로 나뉜다. 만약 플레이 ..
[Unity] '맵 메이킹 게임' 1 - 개발 일지의 시작 원래 블로그엔 게임을 만드는 과정에서 생기는 팁이나, 특별한 걸 구현했을 때 포스팅하는 정도로 하려 했었다. 그러다보니 실제로 게임 개발이 진행 중이었음에도, 블로그엔 아무 것도 올리지 않는 일이 많았다. 그래서 이번엔 '방학 중 진행할 개인 프로젝트'(이미 방학이 다 지나갔지만)인 '맵 메이킹 게임'으로, 연재처럼 시작해보려고 한다. 기획 동기 게임을 기획할 땐, 플레이 요소를 먼저 기획한 후 스토리를 넣어야 잘 굴러간다. 예를 들어, 용사가 마왕을 무찌르는 게임을 만들겠어! 하고 RPG, 소울라이크, 액션 중 어떤 걸 고를까?로 넘어가버리면 두 가지로 나뉜다. 스토리에 집중해 재미없는 게임이 되거나 스토리와 플레이가 완전히 분리된 게임이 되거나. 그런데 애석하게도 내가 이런 타입이다. 그래서 게임 자..
[백준/C++] 1081번. 합 문제 1081번: 합 L보다 크거나 같고, U보다 작거나 같은 모든 정수의 각 자리의 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 1. 첫 번째 풀이 사고 과정 자릿수는 아래와 같은 특징이 있다. k + 1의 자릿수는 k의 자릿수의 합 + 1이다. 예를 들어 316의 자릿수의 합은 10으로, 315의 자릿수의 합인 9보다 1 큰 값이다. 이를 통해 L부터 U까지, 모든 자릿수의 합의 합을 구할 수 있는데 위와 같은 원리로 구할 수 있다. 하지만 여기엔 함정이 있는데, 이렇게 9 -> 0으로 넘어가는(꺾이는) 부분에서, 자릿수가 -9를 한다는 점이다. (왜 -8이 아닌 -9냐면, 20은 원래 자릿수의 합이 11이어야 하는 자리기 때문.) 그럼, 이런 부분이 몇 개 존재하는가? 14와 5..
[백준/C++] 1793번. 타일링 문제 1793번: 타일링 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 n이 주어진다. www.acmicpc.net https://www.acmicpc.net/problem/2133 이 문제의 좀 더 쉬운 버전. 1. 첫 번째 풀이 사고 과정 매우 단순한 형태의 DP였기에, 간단히 풀었다. 타일은 1x2, 2x1, 2x2가 있다. 행은 2행으로 고정이니, 열만 생각해보자. 1개의 열에 놓을 수 있는 타일 수는 몇 개인가? 1x2 한 개다. 2개의 열엔? 1x2 2개, 2x1 2개, 2x2 1개. 3가지 경우의 수가 있다. 하지만 이 중 1x2를 2개 놓는 건, 1번째 경우의 수(1개의 열에 놓는 경우)와 겹치니 제외한다. 그러니 타일링은 1칸 전 최..