본문 바로가기
  • 식초 한잔 할래..?

Unity12

게임 기획은 갈아 엎음의 연속이다. 게임의 MVP가 거의 완성된 상태입니다. 이제 연출, 이펙트, 사운드, 비쥬얼 등을 추가해야 하지만. 여기까지 와서 결정해야할 사항이 있습니다.지금 제가 만들고 있는 게임은 액션 로그라이크 장르와 8번 출구의 연출을 합치는게 목적인 게임입니다.전투를 하면서 맵에 있는 이상현상등을 발견하고, 이상상들의 유무에 따라서, 그리고 플레이어의 판단에 따라서 그 다음 전투에 영향을 가게 합니다.다만 액션과 판단을 하는 사이에서, 액션의 템포를 오히려 이상현상 판단을 하는 시간에 없애는 문제가 지속적으로 발견되었습니다.처음 프로토타입때부터 계속해서 기획이 변경됨에 따라서 짜임새 있는 기획을 만들지 못한 탓입니다. 기획과 개발이 동시에 진행되는 이 상황에서, 초기 컨셉 기획은 모두가 마음에 들었지만 막상 프로토타입을 .. 2026. 1. 16.
AI를 이용한 DontDestroyOnLoad오류 트러블슈팅 (feat.ChatGPT) UIManager와 팀원들의 코드를 병합하면서 문제가 발생했습니다.게임 오버가 되거나, 설정창을 누른 후 저 집모양의 아이콘을 클릭하면 TitleScene으로 되돌아가게끔 만들었습니다. 하지만 되돌아간 후에 버튼이 클릭이 안되는 문제가 발생했습니다. Scene자체는 TitleScene으로 넘어왔기 때문에 문제가 없지만 DontDestroyOnLoad항목에 AudioManager와 GameManager가 존재한 상태였습니다. 때문에 처음에는 이전 Scene의 매니저들과 TitleScene의 UI가 겹쳐 있는 상태라고 생각을 했기 때문에 EventSystem이 2개인건 아닌지, Inspector설정이 잘못 되어 있는 것은 아닌지 알아 보았습니다. Inspector는 모두 정상이었기 때문에 내가 모르는 Gam.. 2025. 11. 3.
Run게임이 Map을 만드는 방식 지금 제가 만들고 있는 것은 쿠키런류인 런게임입니다. Run게임은 사실 제가 많이 하는 장르는 아닙니다.물론 안해본건 아니지만 가벼운 만큼 쉽게 잊혀지더라구요. 가장 잘된 게임이 아마 쿠키런이지 않을까 합니다. 그 전에 템플런, 슈퍼 펭귄, 보드나 오토바이 타기 등등이 있는데, 그 중 쿠키런같은 게임을 만드는게 목적입니다. 팀원간 의사소통, 이해오류 문제처음에 역할분담을 했습니다.- GameManaer 담당자- Player 담당자- BackGround 담당자- Obstacle 담당자- UIManager 담당자. 제가 UIManager 담당자이고, UI만 만지는건 양이 적다고 생각해서 Audio와 Effect도 스스로 추가한 상태입니다. 처음에 말한 대화 내용에는 배경은 움직이고, 장애물들 즉 몬스터는 스.. 2025. 11. 3.
쿠키런을 만들어 보자 with Unity 5명이서 쿠키런류 프로토타입을 만들어 보는 시간입니다. 필수로 구현해야 하는 기능은캐릭터의 자동 이동장애물과 아이템속도 증가와 난이도 조절UI 시스템게임 오버와 재시작이며, 이 외에 도전 기능으로 사운드, 타이틀, 스테이지, 튜툐리얼, 업적, 캐릭터 커스터마이징 등이 있습니다. 사람이 5명이기 때문에 역할 대략적인 기능들을 알아보고 역할분담을 진행했습니다. 팀원들은 각자Player : 플레이어 관련 기능GameManager : 중앙관리 및 리팩토링Environment : 배경 및 환경 조성, 맵Obstacle : 장애물 및 아이템등을 나눠서 맡았고 저는 UI쪽 담당을 맡았습니다. UI쪽을 맡은 이유는, 목적이 기획자이기 때문에 전체적인 구조 파악 및 다른 팀원들을 도와주기 좋은 위치라고 생각했지요. 이.. 2025. 10. 30.
Unity로 가상 공간을 만들어 보자. 이번에 만들어볼건 Zep처럼 가상의 공간을 만들어서 Player의 이동, 간단한 상호작용, 거기에서 할 수 있는 미니게임등을 만들어 보는 시간입니다. 필수로 만들어야 하는 기능들로는캐릭터 이동 및 맵 탐색맵 설계 및 상호작용 역역미니게임 실행점수 시스템게임 종료 및 복귀카메라 추적 기능입니다. 위의 필수 기능들은 전부 다 만들 자신이 있었기 때문에, 초기 설계에서 도전 기능들까지도 생각했습니다.NPC대화 기능, 미니게임 추가, 탈 것 추가, 캐릭터 커스터마이징 추가, 리더보드 시스템 등.이 도전 기능들 또한 다 구현할 자신이 있었기 때문에, 기능에 대한 생각은 하지 않고, 일단은 원래 계획했던 2DGTA형식을 만들어보려고 했습니다. 그 중 가장 넣고 싶었던 기능이 오브젝트를 잡고 던지는 기능이었습니다.잡.. 2025. 10. 28.
TIL을 왜 써야 하는가? <그걸 ㄹㅇ 모르냐?>라는 강의 오늘은 발표를 제외하면 정해져 있는 것은 아니기 때문에 개인 자습 시간에 가까운 날입니다. 미니 프로젝트를 하면서 약간 이해가 덜 됐던 부분들, 해보고 싶었던 기능들을 하나씩 해보겠습니다. 일단 이 코드. 람다식인데,제가 예전에 배웠을 때는 매서드 방식, 람다식 등이 있다. 근데 다들 매서드 방식 쓰길래 매서드만 썼었던..? 기억이 있습니다.솔직히 쓴 적 없습니다.정해져 있는 함수가 아니라 약간 쓰고 버리는 용도에 가깝다 보니 AI에서 추천한 것 같습니다. 매서드와 람다식 비입니다.코드 길이길다 (함수 따로 정의)짧다 (즉석에서 작성)가독성명확 (함수 이름으로 의도 알 수 있음)간단하지만 길면 읽기 힘듦재사용성여러 곳에서 호출 가능일회성 (다시 쓰기 어려움)권장 상황복잡한 로직, 여러 군데서 쓰이.. 2025. 9. 26.
팀원들이 만든 기능들 리팩토링 및 구조 확장 오늘은 그동안 만든 게임을 정리하고 발표 자료 검토 등을 해야 하는 날입니다. 제가 PPT 정리, 팀원 A화 B는 마저 코드 작성팀원 C는 병합, 팀원 D는 PPT 자료 추가 정리 등등을 하면서 시간을 보내고 있었습니다. 이때부터는 사실 추가 실습 보다는 발표 준비(?)에 가깝습니다 고수분이 병합을 해주고 계십니다.다들 코드와 한걸 공유하는 시간입니다. 병합을 하는 과정에서 꽤나 많은 오류가 나서, 한 분은 병합하러 떠나셨습니다.그 다음날 발표하는 분과, 티는 안내고 있지만 사실 아는게 거의 없는 저에게, 그리고 다른 분들이 알 수 있도록, 누가 발표해도 괜찮도록 지식을 공유하고, 에러를 잡고, 발표 준비를 위해 다양한 도형을 만들고, 만들면서 다시 이해를 하는 시간을 가졌습니다. 이건 저희 팀장님이 .. 2025. 9. 25.
게임 플로우 차트와 갤러리 씬 Today! 오늘은! 하던거 계속합니다. 좋은 아침 그냥 말해봤습니다. 갤러리 씬을 만들었습니다대강 이런 식인데, 쉽게 정리하자면1. 사진 여러장 있는 화면 보여주기2. 사진 갯수가 ㅁ장 이상이면 그 다음 page로 넘기기3. page를 넘기기 위해, 그 다음 page와 이전 page를 조건문을 통해 넘길 수 있는지 아닌지 확인하기4. 해당 사진 클릭하면 사진 확대와 설명 나오게 하기5. 뒤로가기 버튼, 메뉴로 돌아가는 버튼, AI가 없었다면 못했을 겁니다. 제가 전공이 공대고 코딩이지만, 적성이 안맞아서 도망간 만큼 이 코딩에 대한 두려움이 정말 큽니다. 머리가 나쁜 편은 아니고 문장을 보면 다 해석이 가능한데, 막상 아무 것도 없는 백지에서 써보라고 하면 못 쓰는 느낌입니다. 때문에 AI의 도움을 .. 2025. 9. 24.
팀으로 함께 하는 <같은 팀원 찾기 게임> 예전에 카드 뒤집기 게임을 만들었었는데요.이번 미니 프로젝트는 그 카드 뒤집기 응용입니다. 이런 식으로 어떤 식으로 만들지 구성하고, 이에 따라 역할분담을 나누었습니다.넣어야할 필수 기능은4주차 ‘카드 뒤집기 게임’ 만들기[SCC]르탄이 카드 뒤집기 게임 만들기강의 내용을 바탕으로 ‘카드 뒤집기 게임’을 만드는게 목표입니다. 단, 그냥 카드 뒤집기가 아닌 **‘우리 팀원 매칭 카드 게임’**을 만들어봅시다.한 사람 당 본인을 대표할 수 있는 이미지를 필요한만큼 준비해주세요.예시) ZEP 캠 화면, Slack 프로필 사진, 본인을 상징하는 이미지모든 카드 매칭 성공 시, 팀원들의 이름 및 사진 한 눈에 보여주기 / 실패 시 실패를 알리는 문구 노출 **추가 기능 구현을 살펴보고 게임에 여러 요소를 더하여 .. 2025. 9. 23.
github 알아보기 9월 22일 / 오늘부터 내일배움캠프의 본캠프가 시작됩니다. 오전 9시부터 오후 9시까지 공부를 하는 구조인데, 예전에 한창 공부를 열심히 했을 떄인 고3, 재수, 대학생 때가 생각납니다.어차피 일을 하고 야근을 하면 이 정도 시간을 하는 건데, 남의 것이 아닌 제 것을 하는 것이니 개꿀이라고 할 수 있습니다. 화상채팅 어플인 ZUM을 통해서 약 2시간 동안 OT 및 Q&A를 진행합니다.저는 일 한 번 시작하면 정공법으로 하기 때문에 딱히 문제가 되거나 힘들었던 부분들이 없어서 평소에도 질문이 적은 편입니다. (하다 보면 알게 되는 것들이 대부분이기 때문에) 근데 이 질의응답이 되게 재밌었습니다. 내배캠 매니저분이 계시는데 말빨이 장난 아니십니다.거의 강의 영상 2배속 해둔 것 같았어요.발음, 발성.. 2025. 9. 22.
Unity로 다가오는 적들 처치하기 이번에는 그동안 배운것들을 활용하여, 이미 만들어져 있는 이미즈들을 이용해 간단한 슈팅 게임은 만 들어 보는 시간입니다. 만...다시 이 오류가 떴습니다. 저번에 해결한 적이 있는 오류인데요. 무언가 새로운 프로젝트를 할 때마다 생기네요. 그냥 파일 찾아서 지운 다음에 다시 시작하면 해결됐었던 것 같습니다. 저 위에 Play라고 되어 있는 버튼이 구동이 되기 위해서는요렇게 StartButton이라 명명하고 스크립트를 짜서 연동시켜야 합니다. Script를 StartButton에 붙인 뒤 버튼을 누르면이렇게 게임 화면으로 넘어갑니다. 사진이지만, 강아지가 무언가를 쏘고 있는 것입니다.게임 컨셉이 고양이에게 먹이를 줘서 Fish Shop을 지키는 것이기 때문에, 저게 먹이입니다.다만 이렇게 계속 반복적으로 .. 2025. 9. 12.
Unity로 결과 화면 나타내기 황홀한 주말을 보내고 난 뒤, 지난번에 만들던 게임을 이어나가겠습니다. 게임오버가 되었을 때, 게임 결과와 함께 다시하기 버튼을 만들어 보고, 최고 점수를 나타나게 해야 합니다. 다시하기는 RetryButton을 만드는데, 저번 시간에 했던 대로 또오오옥같이 하면 될 것 같습니다.다시하기를 눌렀을 때 시간이 멈춰 있기 때문에 스타트할 때 시간을 1.0f로 맞춰주는 것도 잊지 않겠습니다. 이 부분 저번에 왜 이렇게 해야하는지 정확히 머리로 이해가 가지 않았었는데요. 물론 아직 모릅니다. 최고점수를 나타내는 방법은, 퀘스트에서 했던 구문인 if 조건문을 통해 알아보겠습니다.만약 이번에 나온 점수가 그 전에 나왔던 최고점수보다 높다면, 최고점수가 바뀌고, 그렇지 않다면 바뀌지 않겠죠. 최고점수를 가져오기 위.. 2025. 9. 10.