부트캠프 77

[멋쟁이사자처럼 부트캠프 TIL회고] 57일차 : 새로운 시작

오늘의 주제 : 게임 개발에 관한 이모저모 게임 소프트웨어 공학이란 ?  게임 소프트웨어 공학게임 소프트웨어를 효율적으로 개발하기 위한 학문아이디어부터 게임 출시까지의 과정을 총체즉  "재미있는 게임을 중도에 포기하지 않고 버그없이 잘 돌아가게 만드는 과정" 왜 배워야 할까 ? 다른 개발자들의 시행착오를 바탕으로 안정적인 프로젝트 진행원활한 소통, 진행 가능성 판단안정된 프로그램 구조 확립 등 게임은 일반적인 소프트웨어와는 다르다. 소프트웨어는 '요구사항'을 받아서 이를 실행할 것을 만들지만,게임의 목적은 '재미'이다.   게임 요소와 개발 과정  아이디어 : 일상적인 메모, 숙성, 추가 등을 통해 꾸준히 기록해 두는 것을 추천프로토 타입 :  기본적인 기능만 구현해 보고, 재미 없으면 과감히 폐기할 것..

TIL 2025.01.15

[멋쟁이사자처럼 부트캠프 TIL회고] 56일차 : 버그 수정과 구상

버그 수정 //원래 코드 //cameraTransform.rotation = Quaternion.Euler(eulerAngleX, eulerAngleY, 0f);transform.rotation = Quaternion.Euler(0f, eulerAngleY, 0f); // 플레이어 회전cameraTransform.localRotation = Quaternion.Euler(eulerAngleX, 0f, 0f); // 카메라 회전  원래 코드의 문제는 , 지금 캡슐의 자식 오브젝트로 카메라가 들어가 있기 때문에 어딘가에 충돌했을 경우자동으로 camerTransform.rotation이 0,0,0 상태에서 벗어나게 된다. float mouseX = lookInput.x * mouseSensitivity;flo..

TIL 2025.01.14

[멋쟁이사자처럼 부트캠프 TIL회고] 51일차 : 스스로 공부하기

아이템 습득 구현 목표 1인칭 시점에 맞는 조작 구현커서 만들기아이템에 커서를 대면 아이템 정보가 나오게 만들기아이템 정보가 뜨고 있을 떄 습득 키(E)를 누르면 "아이템 습득" 로그 찍기아이템 정보를 연동해 인벤토리에 연동하기 1. 1인칭 시점에 맞는 조작 구현하고 '마우스 움직임'으로 회전을 조작하는 방식은 익숙하지 않았다. '이동'관련 코딩은 몇 번 해봤음에도 오래걸렸다.  단순히 목표 오브젝트의 방향대로 힘을 가하거나, 이동을 시키는 것이 아닌 '바라보는 방향' 기준으로 조작해야 한다. public void Move(Vector2 moveInput){ Vector3 forward = cameraTransform.forward; Vector3 right = cameraTransform.rig..

TIL 2025.01.11

[멋쟁이사자처럼 부트캠프 TIL회고] 50일차 :

디자인 패턴 : 컴포지트 패턴(Composite Pattern)   단일 객체(Leaf)와 복합 객체(Composite)로 이루어지며, 이 둘을 동일한 컴포넌트로 취급하고 동일한 인터페이스로 묶는다. 그리고 재귀적으로 계속 아래로 내려가며, Leaf에 있는 함수를 호출하는 패턴, 파일(Leaf)와 폴더(Compositie)를 생각하면 편하다. 파일 안에 파일이 있을 수도, 파일 안에 파일과 폴더가 있을 수도 있다.   https://febelo0524.tistory.com/73 디자인 패턴 : 컴포지트 패턴간단한 패턴이다. leaf와 Composite 모두 같은 인터페이스를 상속받고, 구현은 leaf에서, 하며 composite에서는 재귀적으로 자신의 리스트 안에 있는 leaf에서 구현을 호출하게 한다...

카테고리 없음 2025.01.10

디자인 패턴 : 중재자 패턴

중재자 패턴다대 다 (N : N)의 관계에서 객체 간의 직접 통신을 막고, 모든 통신을 중재자를 통해서 해결객체들 간의 상호작용은 직접적으로 연결되지 않음객체는 오직 중재자만 참조함예를 들자면, 카카오톡을 생각하면 된다. 다른 사람 1,2,3 에게 메세지를 보내고 싶다면 하나하나씩 보내는 것보다중재자(카카오톡 그룹방)에 올리면 사람들이 그걸 보는 방식이라고 이해하면 편하다.  옵저버 패턴과의 다른 점은 다음과 같다.   옵저버 패턴의 예시를 먼저 보자// Subject 인터페이스public interface ISubject{ void RegisterObserver(IObserver observer); void UnregisterObserver(IObserver observer); void..

개념공부 2025.01.08

[멋쟁이사자처럼 부트캠프 TIL회고] 48일차 : 오류 오류 오류

코딩테스트 : 가까운 수정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 가장 먼저 생각나는 방법은, 1씩 더해주어서 +로 더해준 쪽과 -로 더해준 쪽을 비교하는 것이다.번갈아가면서 비교하는 것도 같은 방식이지만 조금 더 한눈에 보이는 방식인 것 같다. using System;using System.Linq;public class Solution{ public int solution(int[] array, int n) { int answer = 0; if (array.Contains(n)) { return n; ..

TIL 2025.01.08

[멋쟁이사자처럼 부트캠프 TIL회고] 47일차 : 몬스터 상태

코딩테스트 : 소인수분해소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.처음에는 아무 생각 없이 다음과 같이 코드를 짰다.using System;using System.Collections.Generic;public class Solution { public int[] solution(int n) { List answer = new List(); for (int i=2; i  세 가지 문제가 있다.  answer[j]..

TIL 2025.01.07

[멋쟁이사자처럼 부트캠프 TIL회고] 46일차 : 휴식

일요일은 운동과 공부에서 살짝 떨어져서 쉬는 날 !코딩테스트 : 공 던지기머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.using System;using System.Linq;public class Solution { public int solution(int[] numbers, int k) { int answer = 0; int[] evenLength; int[] double..

TIL 2025.01.05

[멋쟁이사자처럼 부트캠프TIL회고] 43일차 : FSM 패턴

FSM 패턴Fineite State machine : 유한 상태 기계 객체의 상태에 따라 모션, 애니메이션 등을 달리 할 때에 사용enum /interface/ai behavior tree / hfsm / playmaker fsm(only unity asset) 등 다양한 방식이 있음 enum 방식으로 switch case로 상태를 검사하고 애니메이션을 추가함.using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.InputSystem;public enum CharacterFSMState{ Idle, Walk, Jump}public class CharacterFSM : Mono..

TIL 2025.01.03