본문 바로가기

Unity

(9)
[NO SWEET] 레벨 디자인 기록 23.04.15 ◆ 서론 지난 글에서 말했던 제가 기획을 맡고 있는 게임입니다. 현재 맵 레벨 디자인을 맡고 있고 이런 형태의 레벨 디자인은 처음이라 많이 부족하지만, 기록을 좀 남겨두고자 합니다. ◆ 진행 상황 우선 위의 사진은 스테이지의 흐름을 보여주고자 임시 오브젝트들로 구성해 둔 것입니다. 각 지점에서 어떤 요소가 있는지 정리해 둔 번호를 줘서 보기 쉽게 정리해 봤습니다. 위 사진은 몇 가지 요소들을 수정하고 임시로 배치해 둔 오브젝트들을 에셋들로 대체한 사진입니다. 아직 몇 가지 추가할 요소들이 있기는 하지만 스테이지당 플레이 타임을 짧게 잡아둔 상태여서 맵 자체의 크기가 더 커지지는 않을 것 같습니다. ◆ 계획 빠르면 이번 주, 늦어도 다음 주까지는 이 스테이지를 완성할 예정이고 이 스테이지의 구현이 끝나면 ..
JackPot 2.0 개발일지 23.02.08 ◆ 서론 지난번에 글을 쓰고 2주가 지났는데 그사이 두 번의 회의가 있었습니다. 회의 때 정한 내용들과 개발 진행 상황에 대한 기록을 조금 남겨 두고자 합니다. ◆ 진행 상황(기획) 이전과 가장 크게 달라진 점은 노션을 쓰기로 했다는 것입니다. 개발은 깃허브로 협업하고 기획서는 구글 문서로 정리하며 진행하고 있었는데 진행 상황, 계획의 정리와 공유에 대한 부족함을 느껴 협업툴을 사용하자는 의견이 나왔고 노션을 사용하게 되었습니다. 확실히 사람들이 많이 사용하는 데는 이유가 있더군요. 직관적으로 보기 쉽고 다양한 기능들이 있어 편리했습니다. 우선 할 일을 달별로 나누어 구분해두고 그달에 세부적으로 할 일을 채우는 방식으로 진행하기로 했습니다. 또한 아이디어를 적는 공간을 만들고 회의 때 같이 보면서 피드백..
[TIL] RaycastAll, NameToLayer, Array.Exists 지난 글에서 언급했던 잭팟 2.0을 제작하고 있는데 그 중 카드 구현을 위해 케이디님의 유튜브를 참고했습니다. 참고한 영상에서 나온 내용 중 제가 새롭게 알게된 내용들을 복습 겸 정리해두고자 TIL(Today I Learn)을 써둡니다. 참고 영상 : https://www.youtube.com/watch?v=zmv0doyQ9LY&t=230s 1. RaycastAll 원래 Raycast는 최초 충돌 오브젝트만 감지하죠. 그런데 ray에 닿는 모든 오브젝트를 감지하는 RaycastAll이라는 기능이 있더군요. 이와 같이 사용하여 충돌하는 모든 오브젝트에 대한 정보를 배열로 받아옵니다. 2. NameToLayer 저는 조건문으로 layer가 일치하는지 검사할 때 그냥 번호를 입력했었는데 이렇게 하면 layer..
JackPot 2.0 개발일지 23.01.27 서론 예전에 만들었던 게임인 JackPot을 리메이크할 예정이라고 지난번 글에서 얘기했었습니다. 그 후로 2주 정도 시간이 지났는데 벌써 몇 번의 회의를 하고 기획을 끝냈으며 개발을 시작했습니다. 그래서 개발일지를 조금 써보고자 합니다. 진행 상황 기획서는 나중에 깔끔하게 정리해서 올릴 예정이고 게임의 핵심 요소들은 다 기획을 해뒀습니다. 몬스터의 체력 수치, 웨이브 당 골드 지급량 등 밸런스 적인 부분은 큰 틀만 잡아두고 게임이 제대로 동작하면 세부적으로 조절할 예정입니다. 이렇게 기획을 끝낸 후 프로토타입을 만들어봤습니다. https://youtu.be/JRjyEWlmYDE 아래 유튜브를 참고해서 패스파인딩을 구현하고 임시로 카드를 만들어서 카드를 쥔 상태에서 길을 클릭하면 카드가 배치되었다고 가정하..
[Practice Unity] 코루틴(Coroutine) 사용법 정리 1. 코루틴을 사용하는 이유 코루틴은 어떤 행동에 딜레이를 주거나 점진적으로 하고자 할 때 사용합니다. Update 문은 프레임 단위로 실행이 되기 때문에 Update 문 내에서 점진적으로 변하는 함수를 호출한다고 해서 원하는 대로 실행되지 않고 한 프레임 만에 작동하게 됩니다. 따라서 아래와 같이 코드를 짜면 한 프레임 만에 3개의 prefab 오브젝트가 생성되게 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 void Update() { if (Input.GetKeyDown("s")) { Spawn(); } } void Spawn() { for(int i=0; i
[메이커즈] 팀 프로젝트 게임 개발 일지 22-12-04 이전에 얘기했던 메이커즈라는 동아리에서 팀 프로젝트로 개발한 게임 Kick&Run입니다. 러닝 액션과 로그라이크 장르를 합친 게임이고 플레이어는 장애물을 피하고 몬스터를 잡아, 성장하며 보스 몬스터를 잡는 게 최종 목표입니다. 현재 기획한 곳까지 개발은 끝냈고 밸런스 조절과 버그 수정이 남아있는 상태입니다. 그리고 이번 주 목요일인 8일에 다른 동아리와 게임모바일공학과와 함께 전시회를 하는데 거기에 출시될 예정입니다. 완성은 됐지만, 퀄리티가 좀 떨어지는데 다른 팀들과 같이 전시될 거 생각하니 약간 부끄럽네요ㅋㅋ... 어찌어찌 마무리 단계가 되었는데 아쉬움이 많이 남네요. 개발시간도 한 달 정도 밖에 안됐고 학기 중인 사람이 대부분이어서 회의에 참여 못하시는 분들도 좀 계셨고 개인 사정으로 중간에 빠지신..
[Practice Unity] Unity 2D - Tile Map 이번에 혼자서 게임 개발을 하나 하고 있는데 스테이지가 있어서 맵을 여러 개 만들어야 하는 상황이 생겼습니다. 그런데 마침 타일맵이라는 기능이 있더군요. Unity 공식 문서와 Unity Forum, 골드메탈 님의 강좌를 참고해서 이번 게임 제작에 활용한 것들을 정리해 둘 생각입니다. 골드메탈님 유튜브 : https://www.youtube.com/watch?v=f8ixw9IpnD8&list=PLO-mt5Iu5TeZGR_y6mHmTWyo0RyGgO0N_&index=5 타일맵 생성 : Hierarchy 우클릭 - 2D Object - TileMap - Rectangular 팔레트 생성 : Window - 2D - Tile Palette - Create New Palette - Save 팔레트에 그림 등록 ..
22.10.08 Unity 공부 일지 원래는 지난번에 만든 닷지 게임에 몇 가지 기능을 추가하고 있었는데, 이번에 들어간 게임 제작 동아리에서 팀 프로젝트를 시작하기 전 간단한 과제를 줘서 그걸 만들어 봤습니다. https://youtu.be/7iNrRlbdgoI 별건 없고 위에서 떨어지는 적들을 공격해서 제거하는 게임입니다. 간단한 게임을 만들면 되는 것이어서 플레이어의 이동과 공격, 충돌, 적 유닛들의 생성 및 이동, 충돌 같은 걸 만들었고 간단한 UI를 넣어서 만들었습니다. 하루 만에 만들긴 했는데 확실히 Unity로는 게임을 많이 안 만들어 봐서 막히는 부분이 조금씩 있었네요. 그리고 게임처럼 보이려고 이것저것 추가하다 보니 시간이 좀 걸렸습니다. 그래도 역시 게임 만드는 건 재밌네요ㅎㅎ 시간 가는 줄 모르고 작업했습니다. 아 그리고..