목록분류 전체보기 (34)
흔한 덕후의 잡동사니
Unity를 활용하여 쿠키런 스타일의 2D 러닝 게임을 개발하는 과정에서 사용된 기술과 문제 해결 방법을 정리했습니다. 게임은 플레이어가 지속적으로 오른쪽으로 이동하면서 장애물을 피하고 아이템을 획득하는 방식으로 진행됩니다. 작성자 GitHub: https://github.com/ChinoDaiski ChinoDaiski - OverviewChinoDaiski has 28 repositories available. Follow their code on GitHub.github.com 프로젝트 링크 : https://github.com/YataGarasu8/CookieRuner GitHub - YataGarasu8/CookieRunerContribute to YataGarasu8/CookieRuner de..
관련 내용 정리 중입니다.
TextRPG_Maple은 텍스트 기반 RPG 게임으로, C#에 대한 이해도를 높이고, 팀프로젝트를 경험하기 위해 진행되었습니다. 또한 객체지향 프로그래밍(OOP)과 다양한 디자인 패턴을 적용하여 추후의 확장성과 유지보수성을 높이는 데 중점을 두었습니다. 작성자 GitHub: ChinoDaiski ChinoDaiski - OverviewChinoDaiski has 27 repositories available. Follow their code on GitHub.github.com프로젝트 링크 GitHub - ColdEgg98/TextRPG_MapleContribute to ColdEgg98/TextRPG_Maple development by creating an account on GitHub.g..
C#의 제네릭(Generic)과 C++의 템플릿(Template)은 모두 타입에 독립적인 코드를 작성할 수 있도록 해주는 기능이지만, 구현 방식과 동작 원리에서 차이점이 있다. 1. 컴파일 시점 vs 런타임 시점[ C++ Template ] C++ 템플릿은 컴파일 시점에 인스턴스화된다. 컴파일러는 템플릿 코드를 사용하는 각 타입에 대해 별도의 코드를 생성한다. 예를 들어, std::vector와 std::vector은 컴파일 시점에 서로 다른 코드로 생성된다.이로 인해 템플릿은 컴파일 시간에 타입 검사를 수행하며, 잘못된 타입이 사용되면 컴파일 오류가 발생한다.[ C# Generic ]C#의 제네릭은 런타임 시점에 인스턴스화된다. 제네릭 코드는 컴파일 시점에 중간 언어(IL)로 컴파일되고, 런타임에 JI..
1. Trigger란?Trigger는 Collider 컴포넌트의 속성 중 하나로, Is Trigger 옵션을 활성화하면 해당 Collider는 물리적인 충돌을 일으키지 않는다. 대신, 다른 Collider와 겹치는지 여부만 감지한다. Trigger로 설정된 Collider는 물리 엔진에 의해 이동하거나 밀려나지 않는다. 이 기능은 주로 물리적 충돌이 필요 없는 상황에서 오브젝트 간의 상호작용을 감지할 때 유용하다. 주로 게임 내에서 특정 영역에 진입하거나 아이템을 획득하는 등의 이벤트를 구현할 때 사용된다. 2. Trigger 사용 방법 Trigger의 사용 방법은 3단계로 나누어 볼 수 있다. 1. Collider 추가Trigger로 사용할 오브젝트에 Collider 컴포넌트를 추가한다. Collid..
이 글은 Unity API에 대한 설명을 기반으로 따로 찾은 내용과 함께 정리한 내용이다. 보다 자세한 내용을 보고 싶다면 글 아래 참조 쪽에 공식 API 사이트 링크를 참고하자. Raycast란?Raycast는 3D 공간에서 특정 방향으로 광선(Ray)을 쏘아 충돌을 감지하는 기능이다. 주로 오브젝트 간의 충돌 감지, 시야 확인, 마우스 포인터로 오브젝트 선택 등에 사용된다. 1. Raycast 사용 방법1.1 좌표, 방향, 거리를 사용하는 Raycast Raycast는 특정 시작점(origin)에서 특정 방향(direction)으로 광선을 쏘아, 지정된 거리(maxDistance) 내에서 충돌을 감지한다. 이때 Physics.Raycast 함수를 사용한다.using UnityEngine;public..
게임 서버 개발은 크게 Stateful과 Stateless 두 가지 방식으로 나뉜다. 이 두 기술은 각각 실시간 온라인 게임과 비동기 온라인 게임에 적합하며, 서로 다른 특징과 장단점을 가지고 있다. 두 기술의 차이점과 적용 사례를 살펴보자. 1. 실시간 온라인 게임 (Stateful 서버)[ 특징 ]실시간 상호작용: 다른 유저와의 실시간 상호작용이 핵심으로 대표적인 장르로는 MMORPG, MOBA, FPS 등이 있다.연결 유지: 클라이언트와 서버는 지속적으로 연결을 유지하며, 모든 게임 로직은 서버에서 처리된다.서버 메모리 사용: 모든 유저의 데이터와 게임 상태는 서버 메모리에 저장되어 실시간으로 처리된다.빠른 처리 속도: C/C++과 같은 고성능 언어를 주로 사용하여 빠른 처리가 가능하다.확장의 한계..
1. IL2CPP란? IL2CPP(Intermediate Language To C++)는 유니티에서 C#으로 작성된 코드를 IL(Intermediate Language)로 변환한 후 C++ 코드로 변환하여 네이티브 바이너리를 생성하는 스크립팅 백엔드다. 이를 통해 실행 성능을 높이고 보안을 강화할 수 있다. 기존 Mono 방식에서는 C# 코드를 IL로 전환하고 실행하는 반면, IL2CPP는 IL에서 추가적인 변환 과정을 거쳐 만들어진 네이티브 코드로 실행된다. Unity의 내부는 C++로 작성되어 있으며, 개발자는 C#을 사용하여 API에 접근한다. IL2CPP를 사용하면 C# 코드도 C++로 변환되므로, 전체적인 성능이 향상된다.또한 C#은 메모리 관리 및 쓰레드 관리가 자동화되어 있어 생산성이 높지만..