전체 글 91

2024-01-31 학습일지

[ 알고리즘 ] 3진법 뒤집기 - 3진법 해결하는건 쉬우니까.. 제곱 연산이 '**'가 아니라 MathF.Pow로 사용해야하는 것은 처음 알았다. [ 발표 ] 팀 프로젝트는 무사히 마치고 발표까지 깔끔하게 해냈다 결과물로 만들어진 게임이 단순하고 직관적이어서 모두에게 잘 전달되었다고 생각한다. 피드백으로는 단위별로 일정을 잡아 프로젝트 계획을 잘 세워 일정에 맞는 볼륨을 설정하는 것이 중요할 것이다. 다른 조가 진행한 프로젝트를 보니 에셋을 적극적으로 잘 활용한 것 같았다 (몬스터 AI관련 에네레이터 / 사운드 조절용 Config 에셋 등) [ 특강 ] 3D 프로젝트로 마인크래프트나 The Forest같은 서바이벌 게임을 만들려나 보다 3D 프로젝트를 너무 오랜만에 다뤄봐서 기억이 잘 날지는 모르겠는데...

일일학습일지 2024.01.31

2024-01-30 학습일지

[ 코드 카타 ] 최대 공약수 - 유클리드 호제 공식법 최소 공배수 - 두 자연수의 곱 / 최대 공약수 [ 팀 과제 ] 발표 자료 제작 완료 [ 강의 ] 델리게이트 이벤트 액션 함수에 대한 참조 타입 - 어려운말 함수를 변수처럼 저장하거나 매개변수로 전달 할 수 있다 Event - delegate의 한 종류 델리게이트와 같은 경우는 함수에 대한 참조 그 자체 - 다른 객체에 함수를 전달 -> 저장 -> 실행 UI, controller, manager가 계속해서 플레이어를 체크하다가 체력이 0이 되면 실행 -> 계속 체크해야 하기 때문에 성능에 무리 여기서 적용 가능한 것이 옵저버 패턴 델리게이트 -> 함수를 저장해서 전달할 때 이벤트 -> 이벤트를 예약해두고 필요할때 기능 실행 액션을 활용하면 델리게이트..

일일학습일지 2024.01.30

2024-01-29 학습일지

[ 코드 카타 ] 2차원 배열은 'GetLength(0) / (1)'로 길이를 구할 수 있다. [ 팀 과제 ] 팀 과제는 마무리 되었다 지엽님이 조금 따라오는 속도가 뒤쳐지셔서 빠르게 과제를 마무리하고 개인 공부를 하는 시간을 가져 모두들 이후 프로젝트에서 더 좋은 퍼포먼스를 보여주었으면 한다. 오전에는 지엽님이 주말에 맡으신다고 하셨던 사운드 부분이 잘 되지 않아 그냥 내가 사운드 에셋을 구하고 사운드 관련 시스템을 구축하여 프로젝트를 완성했다. 이후 간단한 QA와 난이도 조절을 한 후 모바일 환경에서 구동되나 확인해보려고 빌드를 해봤는데 모바일 환경에서는 Player의 조작이 원활하게 이루어지지 않았고 UI의 배치도 뒤죽박죽이었다. 모바일 환경에서 빌드를 하기 위해서는 고려해야할 사항이 더 많다는 것..

일일학습일지 2024.01.29

2024-01-26 학습일지

[ 코드 카타 ] 자료형은 조심하자 엄청 높을것 같으면 Long형이다 아스키 코드를 적용해서 문자열에 조건을 둘 수 있다 [ 팀 과제 ] - 결과창 애니메이션 적용 밑에서 쑥 올라오는게 뭔가 보는 맛이 있는데 그 전에 약간의 텀이 신경쓰인다 뭐.. 사운드 넣고나서도 허전하면 방법을 고민해보자 - 카운트 다운 적용 구현된 기능을 오브젝트 추가해서 메인씬 한가운데 딱 시작하게 배치했다 - TimeScale에 영향을 받지 않는 Animator 컴포넌트가 있다 이를 이용하여 TimeScale을 0으로 만들고 결과창 애니메이션을 진행시켜 게임 결과창을 구성할 수 있었다. - Title Scene 꾸미기 Title 배경이 회전한다~ UI도 가운데 몰아서 보기 편하게 - 파티클 적용 과일이 꽃힐땐 청량한게 파란계열로..

일일학습일지 2024.01.26

2024-01-25 학습일지

[ 알고리즘 ] 무난하게 풀었다. 막혔던 문제는 없는듯.. [ 팀 과제 ] 진행상황이 양호하다 하지만 TitleScene에서 환경 설정 UI가 변수에 할당되지 않는 이슈가 있다. Start() 나 Awake() 쪽 문제인 것 같다. UIManager와 ButtonManager가 왜 분류되었는지는 모르겠으나.. 뭐.. 확장성을 생각해서라고 치자 이후 Score 표시, HighScore 표시, UI에 로직 할당 등을 진행 할 예정이다 팀원들 모두 역할 수행 속도가 천천히 같이나아가는 느낌이라 따라가기 수월하고 게임 결과도 만족스럽게 나올 것 같은 느낌이다 [ 특강 ] 델리게이트에 대한 개념은 이해했다. 필요한 기능을 별도로 구현해두지 않고 전달받은 기능만 실행하도록 여러 상황에 대응할 수 있습니다 이를 위임..

일일학습일지 2024.01.25

2024-01-24 학습일지

[ 코드 카타 ] 그냥 뭐.. 꼼수로 해결한듯? [ 팀과제 ] 똥피하기 / 닷지 / 벽돌깨기 중에서 똥피하기로 결정 내 의견이 통과해서 좀 뿌듯하다 하지만 근거있는 선택이었고 제대로 리드해서 좋은 결과물을 만들어서 팀원에게 보답하자 스크럼 일지 꼬박꼬박 작성해서 노션에 제대로 넣어보자 [ 발표 참고 ] 최종제출 1/31(수) 12:00 2분 게임 소개 3분 시연 영상 7분 개발 진행중 어려웠던점, 해결한내용 - 트러블 슈팅 : 진행하며 부딪힌 어려움 1분 팀원 소개 및 짧은 소감 컨셉 기획서 작성에 많은 시간을 투자했다. 꽤 잘 작성되었다고 생각하지만 좀더 전문적인 툴을 이용하여 만들 수 있으면 개발할때 더 편하지 좋지않을까 생각했다. 또한 구현 리스트를 좀 더 구체적으로 생각할 수 있었다면 개발할때 더..

일일학습일지 2024.01.24

2024-01-23 학습일지

[ 알고리즘 ] 1~9까지의 배열에 없는 수의 합을 구하는건데 45에서 배열의 숫자를 모두 빼버렸다.. 꼼수인거같으니 정답 따로 확인해봤더니 Contain을 이용하여 배열안에 없는 수를 더하여 구하는 방법이 있더라 해당 방법이 더 취지에 맞는듯.. [ 개인과제 ] 모두 해결했다 어제 해결하지 못한 입력필드에 글자 수 제한은 Update를 이용하여 글자수의 조건이 맞지 않으면 Join 버튼을 비활성화 하는 방법을 사용하여 구현했다 그 후 과제 제출을 하고 추가 구현 사항을 따로 구현했다 가장 쉬운 현재 시간 표시는 DateTime을 이용했고 UI와 기존에 Title에서 썼던 코드들을 이용하여 캐릭터 재선택과 닉네임 재설정을 구현했다. NPC 대화와 현재 인원 표시는 NPC와 플레이어의 Name을 읽어와서 ..

일일학습일지 2024.01.23

2024-01-22 학습일지

[ 코드 카타 ] string 에는 +연산자를 사용하여 문자열에 추가할 수 있다. ex) string Name = ""; Name += "Chad"; ㄴ 위에서 Name은 "Chad" 가 저장된다 [ 객체지향 특강 ] 객체지향 절차지향 - 절차지향 있는 데이터 위주로 사용한다 그렇게 된다면 데이터 만큼 코드가 길어진다. -> 코드가 길어지면 한눈에 코드를 보기 힘들어지고 가독성이 떨어지게 된다. 하나의 클래스에 800줄이 넘는 코드 -> 가독성이 떨어진다 객체지향 - OOP (Object Oriented Programming) 연관된 데이터 묶기 - 코드 가독성이 높아진다 -> 코드 분석이 쉬움 - 재활용하기 좋다 -> 작업속도 향상 - 목적에 맞게 기능도 포함 가능 -> 함수 사용 목적에 맞게 코드를 ..

일일학습일지 2024.01.22

2024-01-19 학습일지

1] 코드카타 - 배열보다 리스트가 굉장히 편하다는 사실을 알게되었다, 리스트에 좀 더 익숙해지도록 학습하자 - 물론 배열도 알아야 기본기가 탄탄해진다고 생각한다 2] 튜터 OT - 가독성이 좋은 코드를 짜는 것이 훌륭한 개발자가 되기 위한 길 - 자신이 구현해낸 기능의 이유를 이해하고 인지하고 설명할 줄 알아야함 - oop(객체지향)을 어떻게 바라봐야하는지에 대한 관점 - 협업을 어떤방식으로 진행해야할지 / 역할 배분 방식 (기능별) - 앞으로 배울 것 : 유니티의 핵심 '최적화' (메모리사용) / UI나 씬을 사용하는 팁 3] 강의 : 우선 기본적으로 이해하기 어려웠다. (이후 코드를 다시 살펴보며 제대로된 기능 인지가 필요하다고 생각한다) 파일 이름과 변수가 생각한 것 보다 더 길게 작성하여 (물론..

일일학습일지 2024.01.19

2024-01-18 학습일지

본격적으로 유니티 사용하기 시작 - 게임 개발 맛보기용 Pong 게임 구현 코드 복붙.. 그런데 직접 구현하라면 할 수 있을거 같은 느낌 - Unity로 만드는 TopDown Shooting게임 구현 프로젝트 세팅 - 입력과 캐릭터 이동 - 충동 처리와 맵 구성 - 조준 시스템 - 공격 시스템 프로젝트 세팅 : 이미 알고 있는 내용 충동 처리와 맵 구성 : tilemap을 이용한 맵 생성은 여러번 해본 경험이 있음 공격 시스템 : Spawn Point를 잡고 Initiate를 이용한 투사체 프리팹 생성 [ 입력과 캐릭터 이동 ] input System 처음 사용해보는 기능인데 게임 내 입력키를 관리해주는 기능인것같다 Window - PackageManager - 2D 를 인스톨하면 사용할 수 있는 기능으..

일일학습일지 2024.01.18