스파게티 코드는 '장황한 코드' 보다는 '이해가 힘든 코드'라고 하는 것이 옳다.스파게티 코드라는 이름 만 들으면 이리저리 꼬여서 제대로 알아보기 힘든 코드라고 생각하는 경우가 많다. 본인도 얼마 전 까지는 그러하였고, 그렇기에 최대한 정리하면서, 간단하게 작성하려고 했었다.하지만, 미니 프로젝트[내일 작성할 예정]를 진행하면서 팀원의 피드백으로 알게 된 것이, '장황하다' 보다는 '알아보기 힘들다'가 주된 요인이라는 점이었다. 정확히는 어쩌다가 프로젝트 진행 중에 하나의 메소드에 여러 역할을 넣는 구성이 발생했는데, 이 부분을 다루는 도중에 발언된 팀원의 피드백을 통해서 알게 되었다. 비록 완벽하게 익힌 것은 아니지만, 스파게티 코드를 예방하기 위해서는 다음 요소를 반드시 지켜야 한다.Set[변수 설정..
인스턴스 라이프 사이클※ 자주 사용되는 단계는 굵게(Bold) 표시한다.최초 씬 로드 단계 Awake()프리팹 | 게임 오브젝트가 인스턴스화 된 직후에 호출된다.단, 처음 부터 비활성 상태인 경우에는 호출되지 않으며, 활성화가 되면 그 때 호출된다.주로 변수 초기화나 싱글톤 형성 같은 사전 작업을 위해서 사용된다.┗ 단, 변수 초기화는 Start를 사용하는 경우가 더 많다.OnEnable()오브젝트 활성화 직후 호출된다. Awake() 보다는 타이밍이 늦다. 에디터Reset스크립트가 처음으로 객체에 연결되거나 Reset 커맨드를 사용할 때, 스크립트의 속성(Property)를 초기화 하기 위해서 사용하는 함수.OnValidate오브젝트가 역직렬화 될 때를 포함하여 스크립트의 속성이 설정(변경)되었을 때 ..
금일 새로 습득한 지식Git에서 Merge 시, 충돌이 일어나는 경우에 대하여Git에서 Merge를 수행하면, 해당 프로젝트 내부의 변화점을 한데 모아서 적용하기 시작합니다.이 때, 같은 파일에 변경점이 중복된다면 충돌(Conflict)이 발생하게 됩니다.이 경우, 원래 내용을 따를지, Merge 받는 Branch를 따를지, 둘 다 남길지 사용자가 직접 판단하여 처리해야 합니다.이 사항에 대비하기 위해서 각 문단이 어떤 역할을 하는 지 주석을 다는 것이 중요하게 되며, 마찬가지로 각 기능을 개별 함수로 작성하는 것이 권장되는 이유이기도 합니다. 유니티 애니메이션의 한계점유니티 애니메이션은 간단한 오브젝트 변화를 구현하는데 유용한 기능으로 다양한 방식으로 활용됩니다.캐릭터의 상태에 따른 표시 방식에도 사용..
금일 배운 내용GithubGithub Desctop에 대하여Git의 작동 방식(팀원 교습 + 개인 학습)UI가 아닌 오브젝트에 클릭 이벤트를 추가하는 방법 상세 내용Github에 대하여 + Git의 작동 방식Git은 팀 단위 개발을 위해 개발 과정을 공유할 수 있도록 도와주는 시스템이다.Git은 '로컬 저장소'와 '리모트 저장소'를 이용, 프로그램의 버전을 컨트롤 하는 시스템이다.로컬 저장소: 개인 PC로 대표되는, 단일 구성원의 시스템. 개발의 주체가 되는 시스템이기도 하다.리모트 저장소: 서버로 대표되는, 구성원 공동으로 사용하는 저장 시스템.해당 프로젝트의 변경 사항을 저장하는 Commit Object를 이용하여 프로그램의 버전을 조절한다.Git은 Commit Object로 구성된 트리 형태를 사용..
장르: 하이 스피드 플랫포밍 액션토픽: [르탄이] [창] [달린다] 간단 정리기본적인 조작법달리기: 가속도가 점차 붙는 구성. 최대 속도는 있으나 매우 빠를 예정.대시: 전방으로 일정 거리 빠르게 이동한다. 공중에서도 사용 가능하나, 사용 시 속도가 다소 감소한다.점프: 최대 2단 점프 까지 가능하다.퀵 스텝: 좌 | 우로 1칸 씩 이동 가능.드리프트: 속도 손실을 방지하면서 방향을 꺾을 수 있다.창을 투척할 수 있다. 투척 시 일정 거리를 이동하거나 창이 꽃혔다면 창의 위치로 이동한다.필드는 '성'으로 고정. 대신 스테이지가 높아질 때 마다 필드 기믹이 증가한다.빨: 몬스터 + 창 반사 패널주: 가속 패널 + 점프 패널노: 추가 점프 + 추가 대시초: 바람(특정 방향으로 계속해서 가속시킨다.)파: 수중..
장르: 덱 빌딩 ATB RPG컨셉: [각도] [도형] [쪽패 + 장패] 간단 정리화면 중앙 하단에 LinePoint와 그를 위한 보드판을 구성한다.쪽패를 통해서 스킬을 사용하면서 LinePoint를 이동시킨다.쪽패는 일정 시간 마다 보유한 모든 패를 버린 뒤 8장을 뽑는다.기본적으로 LinePoint는 정지해 있다.쪽패를 사용할 경우, 스킬이 발동하면서 쪽패의 방향으로 LinePoint가 이동한다.단, 이동 중인 LinePoint는 예각 혹은 직각으로만 경로 변경이 가능하다.둔각을 사용할 경우 스킬 효과가 발동되지 않는다.평행(동일 방향)을 사용할 경우 스킬 효과가 발동은 되나 효과가 반감하고 LinePoint의 속도가 배증한다.이렇게 상승한 속도는 해당 턴 동안 지속된다.역행(반대 방향)을 사용할 경우..

구상 글에 여러 번 언급됬던 'Travel with the Bowwow Squadron'(이하 TwtBS)과 'Travel with the Cat's foot Caravan'(이하 TwtCC)을 통합하고 시리즈화한 작품입니다.전체적으로 이전에 잘못 올렸던(...) Journey of the Doggies Companions(이하 JotDC)의 UI가 거의 그대로 쓰이는 시리즈이기 때문에 비슷한 점도 많습니다. 장르: 턴제 RPG기기: PC / 콘솔(PS, XBOX, NS)컨셉: [어린이] [모험] [힐링] [판타지] 특징시나리오가 매우 간단한 대신 풍부한 컨텐츠를 목표로 한다.절차적 생성을 이용해서 실시간으로 제작되는 던전. [던전은 노드 연결 구조(ex. Slay the Spire)로 구성된다.]단, ..

장르: 소울라이크 턴제 RPG기기: PC / 콘솔(PS, XBOX, NS)필드 구성필드: 쿼터뷰 격자구성 타일 맵전투: 1인칭 프론트뷰컨셉: [이세계 전이] [다크 판타지] 특징소규모 스토리를 엮어서 대규모 스토리를 형성하도록 구성한 시나리오. [각 파트 별로 확실한 엔딩 존재]Prologe of our New World: 본편. 조력자의 과거 시나리오.After the Prologue: 1차 확장팩. 주인공들의 과거 시나리오.Before the Epilogue: 2차 확장팩. 주인공들의 현재 시나리오.Epilogue of the Ended World: 3차 확장팩. 조력자의 현재 시나리오.정규 턴 이외에도 행동 가능한 시스템을 통해 턴제임에도 플레이어 주도적이면서 속도감과 박진감이 있는 전투 구성Int..
금일 작업 내용타이틀 작업시작 버튼으로 게임 시작설정 버튼으로 설정 UI 출현 | 퇴장BGM과 SE 볼륨을 조절할 수 있도록 구성퇴장 버튼으로 게임 종료(영상에는 없음)임시용 BGM과 SE 추가BGM 출처: Pixabay - every day -playful cute piano 새로운 요소슬라이드세팅이나 다양한 방면에서 사용 가능한 Unity 자체 지원 UI 프리셋.public void OnSliderEvent(float volume) 을 통해서 슬라이드 바 변경 사항을 적용할 수 있다.┗ 철자가 틀리면 정상 작동이 되지 않으므로 주의할 것. 변수도 그대로 사용해야 한다. 결과물(영상) 코드AudioManager더보기public class Audio_Manager : MonoBehaviour{ pu..
금일 작업 목록필드 최대 범위 지정하기필드 외곽에 벽 설치하기 [벽 6개로 정6각형 구성]몬스터 생성 범위 제한하기 [원형 범위로 제한]벽 통과하지 않도록 플레이어 및 적의 몇몇 요소 수정하기상태이상 구현하기버프 / 디버프 구현하기행동 제한형 상태이상 구현하기 새로운 요소원형/구형 범위 내 랜덤 좌표 지정더보기원형 범위UnityEngine.Random.insideUnitCircle반지름 1.0f 이내의 원형 범위에서 랜덤한 좌표를 지정한다. 구형 범위UnityEngine.Random.insideUnitSphere 반지름 1.0f 이내의 구형 범위에서 랜덤한 좌표를 지정한다.Rigidbody - 정적(Static), 키네마틱(Kinematic), 동적(Dynamic)더보기Rigidbody의 Body Typ..