분류 전체보기
-
내일배움캠프 21일차 TIL - 스파르타타운 제작 마무리TIL/Unity 2024. 5. 14. 19:48
[학습목표]스파르타타운 게임 제작을 마무리하고, 과제 해설 강의를 공부한다.[학습내용]일단 어제 필수 요구사항을 모두 구현했기 때문에, 오늘은 선택 요구사항에 도전했다. 시간 구현이건 크게 어렵지 않았다. 텍스트 UI를 하나 추가하고, 현재 시간 정보를 받아서 띄워주기만 하면 됐다.시간 정보는 System.DateTime을 이용했다. Time 클래스인가 잠깐 헷갈렸으나, 그건 아예 다른 곳에 쓰는 클래스였다.현재 정보를 DateTime.Now로 받아와서, 알맞은 형식으로 출력해주면 해결되었다.using System;using UnityEngine;using UnityEngine.UI;public class TimeUI : MonoBehaviour{ private DateTime nowTime; ..
-
내일배움캠프 20일차 TIL - 스파르타타운 게임 제작TIL/Unity 2024. 5. 13. 20:04
[학습목표]유니티를 이용하여 ZEP과 유사한 시점의 탑뷰 게임을 제작하고 주차 개인 과제를 제출한다.[학습내용]이번 과제에서 구현해야 할 요구사항들은 다음과 같다. 필수캐릭터 만들기캐릭터 이동방 만들기 (맵)카메라 따라가기캐릭터 애니메이션 추가이름 입력 시스템캐릭터 선택 시스템선택시간 표시인게임에서 이름 변경참석 인원 UI인게임에서 캐릭터 변경NPC 대화 캐릭터 만들기플레이어 캐릭터를 생성해주었다. 에셋 링크 Player 오브젝트 아래에 CharacterSprite 오브젝트를 만들어서 스프라이트를 배치해주었다. 캐릭터 이동캐릭터를 이동시키기 위해서 먼저 패키지 매니저에서 Input System을 설치해주었다. 그 다음 Input Action을 하나 생성하여 작성해주었다. 마우스 위치에 따라서 캐릭터를..
-
내일배움캠프 19일차 TIL - 2D게임 기초 개발 입문 2TIL/Unity 2024. 5. 10. 20:00
[학습목표]Top-Down 게임을 제작하면서 유니티 2D 게임 개발 기초를 학습한다. 강의를 시청하고 레이어와 투사체, 오브젝트 풀, 애니메이션, 에너미와 피격 기능을 학습하고 구현한다.[학습내용]오늘까지 해서 유니티 기초 개발 입문 강의를 모두 시청했다. 내일부터는 개인 과제 구현에 시간을 쏟을 계획이다. 비트 연산자와 레이어 마스크유니티에서 각 게임 오브젝트는 특정 레이어에 속할 수 있다.레이어는 비트 필드로 표현되어 각 비트가 다른 레이어를 나타낸다.비트 연산자에는 AND(&), OR(|), XOR(^), NOT(~), 4가지 종류가 있다.1 n번째 레이어를 나타내는 비트마스크를 생성하는 데 사용되기도 한다.충돌 검사, 레이캐스팅 제어, 카메라 렌더링 설정 등이 가능하다. 투사체 구현우선 Ene..
-
내일배움캠프 18일차 TIL - 2D게임 기초 개발 입문 1TIL/Unity 2024. 5. 9. 20:48
[학습목표]Top-Down 게임을 제작하면서 유니티 2D 게임 개발 기초를 학습한다. 강의를 시청하고 입력과 캐릭터 이동, Input System, 충돌 처리와 타일맵, 쿼터니언과 조준 시스템, 공격시스템, 스텟 시스템 등에 대해 학습하고 구현한다.[학습내용]유니티 공부가 본격적으로 시작된 거 같다. 이번주에 강의를 완강하는 것을 목표로 열심히 들었다. 오늘부터는 Top-Down 뷰로 구성된 슈팅게임을 구현한다. 개요 갈수록 프로젝트가 복잡해지기 때문에 이런 도식화가 필요해지는 걸 느끼는 거 같다. 대충 둘러보면 입력과 관련된 클래스, 공격과 관련된 클래스, 애니메이션과 관련된 클래스, 에너미 시스템과 관련된 클래스 등이 보인다. 오브젝트 풀도 배울 수 있을 것으로 보인다. 유니티 스크립트유니티 스크..
-
내일배움캠프 17일차 TIL - Pong 게임 구현TIL/Unity 2024. 5. 8. 21:04
[학습목표]Unity 기초를 배우고 간단한 Pong 게임을 만들어본다.[학습내용]오늘부터 유니티 입문 주차가 시작되었다. 9시에 발제를 통해 개인 과제가 나눠졌고, 수준별 진행은 다음주부터 진행한다고 한다. 미니 프로젝트 때와는 별개이기 때문에 다시 기초부터 배우는 것으로 보인다. 오늘 시청한 강의에서는 간단한 Pong 게임을 구현했다. 어려운 내용이 아니었기 때문에 낯선 기능을 위주로 정리했다. 학습 Rigidbody 2D 컴포넌트를 추가해주면 중력의 영향을 받게 된다. Gravity Scale을 0으로 설정해주면 중력의 영향을 없앨 수 있다. 지난 미니프로젝트 때에는 Rigidbody 2D 컴포넌트를 스크립트 변수에 직접 넣었던 기억은 없었던 거 같다. 그래서 이번에 넣어보면서 어색함을 느꼈다. ..
-
내일배움캠프 16일차 TIL - 프로젝트 발표TIL/C# 2024. 5. 7. 21:11
[학습목표]3주차 팀 프로젝트를 마치고 발표를 진행한다. 피드백을 받고 팀 회고를 진행한다.[학습내용]오늘은 3주차 팀 프로젝트 발표를 진행했다. 다른 팀들의 발표도 보고 얻을 수 있는 게 있기 때문에 좋은 시간이었다. 우선 발표가 끝나고 튜터님들로부터 받은 피드백은 아래와 같다. 로그인 기능 관련아이디랑 비밀번호를 입력하는 로그인 기능을 넣는 것은 참신했다. 게임을 하는 것 같은 느낌이 나서 좋았다. 하지만 게임 저장 등에서 Json을 활용할 수 있게 되었다면, 추가적으로 그것들을 활용해서 회원가입 기능을 만들어보면 좋겠다.코드 관련프로젝트 폴더 구성 등이 잘 정리되어 있다.ColorManager의 CheckName() 메소드를 if else문으로 구현하게 되면, 추후 몬스터가 늘어났을 때 부가작업이 ..
-
내일배움캠프 15일차 TIL - 팀 프로젝트 마무리TIL/C# 2024. 5. 3. 20:30
[학습목표]저장/불러오기 기능을 구현하고, 클래스 파일들을 정리하거나 버그를 수정하는 등의 작업을 통해 프로젝트를 마무리한다.[학습내용]오늘은 우선 저장 기능을 구현했다. 개인 과제에서 진행했던 부분이라 어렵지 않게 끝낼 수 있을 거 같았다. 그런데 막상 해보니 계속 에러가 발생했다. 3가지 객체를 저장하려고 했는데, 3가지 객체 모두에서 각자의 에러가 떴다. 여러 에러가 동시에 나오니까 직렬화가 문제인지 역직렬화가 문제인지조차 알기 힘들었다. 구글에 검색해도 나와 비슷한 경우를 찾을 수 없어서 꽤 시간이 오래 걸렸다. ! 문제 발생 1Inventory 객체가 모종의 이유로 역직렬화가 되지 않는다. 시도우선 직렬화가 정상적으로 되었는지 저장 파일을 열어보았다. 그 곳에서는 이상을 찾을 수 없었다. 그래서..
-
내일배움캠프 14일차 TIL - 퀘스트 구현TIL/C# 2024. 5. 2. 20:48
[학습목표]팀 프로젝트 추가 요구사항 중 퀘스트 기능을 구현한다.[학습내용]오늘은 어제 구현을 끝내지 못한 퀘스트 기능을 구현 완료하였다. 마침 팀원분이 아이템과 인벤토리 기능을 구현하셔서 아이템 클래스를 가져다가 퀘스트 보상으로 사용할 수 있었다. 퀘스트 클래스는 다음과 같다.using System;using System.Collections.Generic;using System.Linq;using System.Security.Cryptography.X509Certificates;using System.Text;using System.Threading.Tasks;namespace OceanStory{ internal class Quest { public string QuestNa..