전체 글
-
[TIL] 객체지향 코드 설계 1TIL 2024. 5. 16. 21:47
객체 지향이란?객체지향(OPP)추상화다형성상속캡슐화프로그래밍 언어와 문법을 배우면서 객체지향이란 말은 강의에서든 어떤 문서를 보든 정말 자주 언급되었다. 그래서 객체지향 어떤요소가 들어가고 각각 무슨 뜻인지는 알지만. 막상 코드를 설계할 때는 이렇게 짜는 것이 맞는지 또는 내가 객체지향에 맞게 작성하고 있는지 의구심이 들었다. 그렇게 감을 못잡고있던 도중 오늘 객체지향 특강이 듣게되었다. 프로그래밍에서 이론과 실무중 뭐가 우선인가?프로그래밍에서는 실무가 먼저다.실무를 관찰한 결과를 바탕으로 이론이 정립되기 때문에 먼저 코드를 짜는것이 먼저다. 따라서 시중에 나온 이론은 현재 쓰는 기술보다 뒤쳐질 수도 있다. (현재 쓰이는 기술은 아직 이론이 정립되있지 않기 때문에)그러나 어느정도 보장되있는 이론이고, 한..
-
[TIL] 유니티 개인과제 2TIL 2024. 5. 14. 21:45
타일맵 콜라이더 끼임더보기TilemapCollider2D로 타일맵에 자동으로 콜라이더를 생성했는데 미묘하게 벽면에 비빌 때 플레이어가 끼는 현상이 발생했다.해결법 TilemapCollider2D가 붙어있는 타일맵에 추가로 Composite collider2D 를 붙여주었다.붙이게 되면 자동으로 Rigidbody2D도 함께 붙여진다.나는 타일맵 그러니깐 움직일 필요가 없는 오브젝트이기 때문에 RigidBody2D의 BodyType을 Static으로 설정하고콜라이더의 UsedByComposite를 체크해줬다. 이후에는 원하는 대로 끼임 문제 없이 잘 작동되었다.https://docs.unity3d.com/kr/2021.3/Manual/class-CompositeCollider2D.html 복합 콜라이더 2D..
-
[TIL] 유니티로 개인과제 1TIL 2024. 5. 13. 22:44
개인과제로 zep 같은 게임을 유니티로 만들고 있다.기능을 구현하면서 사용한 유니티 기능가 겪었던 문제들을 정리해봤다. InputSystem 을 이용하여 대시 만들기더보기만든거에 별 이유는 없고무료로 다운 받은 캐릭터 스프라이트에 걷기와 달리기가 있길래 한번 구현해봤다.// TopDownController.cspublic class TopDownController : MonoBehaviour{ public event Action OnMoveEvent; public event Action OnLookEvent; public event Action OnDashEvent; public void CallMoveEvent(Vector2 direaction) { OnMove..
-
[TIL] Unity 3 + 알고리즘 문제TIL 2024. 5. 10. 21:23
C# 프로그래머스 알고리즘 문제팀장님이 아침에 1시간 알고리즘 문제를 푸는게 어떠냐하셔서 좋다고 해서 풀어 보고 있다.물론 어려운거 말고 쉬운거...ㅎㅎ아침에 졸려서 멍 때릴때가 많았는데 하나 풀고나면 집중이 잘되긴 한다.(이게 왜 안 돼!!!하면서 화내가지고..)1. 기사단원의 무기 Lv.1더보기간단하게 정리하면 이렇다.1. 기사는 자신이 가진 숫자의 약수들(공격력이라 칭한다)을 기반으로 무기를 만든다.2. 그러나 나라간 협정으로 특정 공격력보다 높은 무기는 만들 수 없고, 만약 공격력을 넘는다면 정해진 공격력의 무기를 사용해야한다.3. 무기의 공격력 1당 1Kg의 철이 들어간다고 할 때, 한 기사의 무기를 만들 때 들어갈 철의 양을 구하여라. 내가 생각했을 때의 문제 푸는 법은 다음과 같다.1. 약수..
-
[TIL] Unity 강의 2TIL 2024. 5. 9. 21:25
프리팹 (Prefab)unity 엔진에서 사용되는 게임 오브젝트를 재사용 가능하고 관리하기 쉽게 만들기 위한 프리셋 프리팹을 사용하면 게임 오브젝트와 그에 관련된 컴포넌트 및 설정을 미리 정의하고 여러 장면이나 게임에서 재사용 할 수 있다. 프리팹의 변경사항은 모든 인스턴스에 즉시 반영되므로 일관성을 유지하고 일괄적인 업데이트를 쉽게 할 수 있다. 게임오브젝트를 에셋으로 만든다고 생각하자 Instantiate 함수Unity에서 제공하는 메소드로, 주어진 원본 개체의 복사본을 새로 생성하고 이를 반환한다.주로 오브젝트, 캐릭터, 아이템 등을 동적으로 세계에 추가할 때 사용된다.이 함수를 통해 생성된 게임 오브젝트는 독립적이며 원본 개체에 대한 변화는 영향을 주지 않는다. 열거형(Enum)열거형은 사수형 값..
-
[TIL] Unity 강의 1TIL 2024. 5. 8. 20:51
Unity게임 엔진이란?게임을 개발할 수 있도록 다양한 기능을 제공하는 프로그램그래픽, 물리, 사운드, 애니메이션 , 인공지능 등 다양한 요소 관리 및 통합특징다양한 플랫폼에서 실행 가능한 게임 개발 (크로스 플랫폼)사용자 친화적인 인터페이스와 강력한 기능 제공구조C++로 구성된 코어 엔진을 연결해주는 C#구현부가 있고C# 언어를 통해 스크립트를 작성 유니티는 게임 개발을 위한 통합 개발 환경이다. 주요기능 더보기프로젝트 관리 : 새로운 프로젝트 생성, 프로젝트 파일 구성 및 관리씬(Scene) 관리 : 게임의 각 장면과 화면을 구성하는 요소에셋(Asset) 관리 : 게임에 필요한 리소스 관리컴파일 및 빌드: 스크립트 코드를 컴파일하여 실행 가능한 게임으로 빌드디버깅: 코드 실행 중 오류를 찾고 수정에디..
-
[TIL] 게임 특강TIL 2024. 5. 7. 21:02
게임 플랫폼 종류PC, Console, 모바일, VR 등게임 장르RPG, FPS, RTS(Real Time Simulation) ex) 스타크래프트 , AOS(MOBA) ex) Lol방치형, War Game 등 게임 장르는 새로 생기고 파생되기도 한다. 프로젝트 종류라이브 - 현재 서비스 중인 게임신규AAA - 개발비가 10억이상 들어간 게임인디 게임 회사 구조 (회사마다 조금씩 다르다)디렉터(PD) 프로젝트 매니저 같은 느낌이다. 프로그래머클라이언트: 프로그래머에서 가장 높은 비율을 차지한다.서버: 주로 통신을 담당엔진: 요즘은 Unity나 Unreal엔진을 주로 쓰지만 큰 회사 같은경우 직접 자체엔진을 사용하거나 기존 엔진을 뜯어서 사용하기도 한다.플랫폼: 요즘은 잘 없다고한다. 듣기로는 클라이..
-
[TIL] 2024-05-03 팀 프로젝트 마무리TIL 2024. 5. 3. 21:23
2번 째 팀 프로젝트도 슬슬 마무리가 되고 있다. 사실 팀 인원이 겨우 3명이라 다른팀에 비해 일정이 빡빡할 줄 알았지만 개인과제에서 몇가지 기능은 이미 구현해 본적 있다.오히려 인원이 적어서 그런지 코드간의 충돌이 적은 것 같다.팀원과의 합과 추진력이 좋았다.같은 이유로 예상보다 빠르게 프로젝트 진도를 나갈 수 있었다. 만든 기능들만든 와이어프레임PPT 일부분 이번 프로젝트를 통해서 각자의 클래스를 만들고 합치는 과정에서 메서드에서 참조에 대해 알 수 있었고남의 코드를 계속 보다보니 내가 짠 코드가 아니라도 눈에 조금 들어온 기분이다. 그리고 깃허브를 통해 합치다보니 깃허브도 이제 조금 익숙해진 기분이다. (물론 아직도 Conflict 날까봐 무섭다.) 익숙치 않은 C#으로 팀프로젝트를 한다는 것이 ..