분류 전체보기 165

2025년도 2학기 게임엔진 응용 팀 프로젝트 설명글

이번에 2학기 게임엔진 응용 시간에 팀 프로젝트 게임 개발을 시작하게 되었습니다.9월 중순 ~ 10/31일까지 진행하였습니다. 3D 소코반류 게임으로 주어진 턴 이내에 기믹을 풀고 도착지점까지 도달하여 별을 모아, 도서관을 탈출하는 게임입니다. 다운로드 링크 : https://drive.google.com/drive/folders/1mZqWMArY7rzwNBfiO1q2IwXd7Un2yRKZ 간단 시연 링크 : https://www.youtube.com/watch?v=1VpB41Of8CA 프로젝트 설명게임명Paginae게임 장르소코반시점3D개발 엔진Unity, C#팀원개발 4명, 아트 1명조작 방법아래 참고목적각 스테이지마다 주어진 턴 이내에 기믹을 풀고 도착지점까지 도달하여 별을 모두 모아, 도서관을 ..

Unity 2025.11.08

C# ObserverPattern (옵저버 패턴)

옵저버 패턴옵저버 패턴은 한 객체(Subject / Observable) 의 상태 변화가 있을 때 그 변화를 여러 객체(Observers) 에게 자동으로 통지해 주기 위한 디자인 패턴입니다.주요 목적은 발행자(Subject) 와 구독자(Observer) 를 분리하여 결합도를 낮추는 것입니다.발행자는 누가 구독했는지 몰라도 되고, 구독자는 발행자에게 직접 명령하지 않아도 됩니다. 핵심 요소Subject 발행자 : Observer 등록/해제/알림 기능을 제공하고 상태를 관리합니다.Observer 구독자 : Subject의 변경을 받아 처리하는 쪽입니다.장점느슨한 결합Subject와 Observer가 서로를 구체적으로 몰라도 통신 가능합니다. → 재사용성, 유지보수성이 뛰어납니다.확장성새로운 Observer ..

C#/문법 2025.10.07

2025년도 2학기 사회 프로젝트 설명글

이번에 2학기 사회 시간에 사회 문제와 관련하여 팀 프로젝트 게임 개발을 시작하게 되었습니다.원래는 다른 친구들처럼 한 주마다 글을 작성하며 개발을 할 생각이었으나, 어느새 시간이 다 지나 있었습니다.그래서 제출을 완료한 기념으로 설명글 겸 느낀 점 등등을 작성할 예정입니다. 저희 게임은 건강하고 행복한 삶 보장을 반영하여 게임을 만들기로 하였습니다.가장 먼저 떠오른 것은 현재 늘어나는 스마트폰 보급률과 함께 증가하는 피싱 문제였습니다.그리고 피싱 메시지가 위험하다는 것을 알리기 위해서 게임을 제작하게 되었습니다. 다운로드 링크 : https://drive.google.com/drive/folders/1rqHFQIUzd3uMB_kzNnZouyBjRvJqcCsW간단 시연 영상 링크 : https://you..

Unity 2025.09.29

C# 스레드 임의로 종료하기 / 스레드의 상태들

스레드 임의로 종료하기 Thread.Abort 메서드를 사용해서 강제로 종료할 수 있습니다.Thread Abort는 .NET 프레임워크에서만 지원됩니다. 사용자는 작업 관리자 등을 이용하여 프로세스를 임의로 죽일 수 있습니다.아쉽게도 프로세스 안에서 동작하는 각 스레드는 죽일 수 없습니다.스레드를 죽이려면 앞으로 설명할 Abort를 이용해야 합니다. static void DoSomething(){ try { for (int i = 0; i Abort 메서드를 사용할 때는 조심할 점이 있습니다.Abort 메서드가 실행되었을 때 바로 스레드가 종료되는 것이 아닙니다.Abort 메서드가 실행되면 ThreadAbortException을 던집니다.그다음 catch문과 finally문을 실..

C#/문법 2025.08.25

C# 프로세스와 스레드

프로세스란?실행 파일이 실행되어 있는 메모리에 적재된 인스턴스(하나의 클래스에서 생성된 객체) 만약 unity.exe가 실행 파일이라면, 이 실행 파일에 담겨있는 데이터와 코드가 메모리에 적재되어 동작하게 하는 것이 프로세스입니다. + 힙과 스택도 구성 요소입니다. 특징으로는운영체제로부터 독립된 메모리 공간과 자원을 할당받는다는 점과,프로세스는 하나 이상의 스레드로 구성된다는 점입니다.이는 하나만 사용하는 단일 스레드의 구조거나 여러 개의 스레드를 사용하는 멀티 스레드의 구조가 있습니다. 스레드(Thread)란?프로세스 내에서 실행되는 흐름의 단위입니다.운영체제가 CPU 시간을 직접 할당하는 기본 단위가 바로 스레드입니다. 특징으로같은 프로세스의 다른 스레드와 코드, 데이터, 힙을 공유합니다.하지만 스택..

C#/문법 2025.08.21

C# object와 박싱, 언박싱

object란??object 형식은 모든 형식을 다룰 수 있는 데이터 형식입니다. object가 모든 형식을 다룰 수 있는 이유는 상속 덕분입니다.C#은 object가 모든 데이터 형식을 다룰 수 있도록 모든 데이터 형식이 object 형식으로 부터 상속받게 했습니다.즉 object 형식은 모든 데이터 형식의 부모가 된 것입니다. object a = 2025;object b = 3.14159265358979323846m;object c = false;object d = "반갑습니다";Console.WriteLine(a);Console.WriteLine(b);Console.WriteLine(c);Console.WriteLine(d); 어떻게 object가 모든 데이터를 담을 수 있을까요?박싱과 언박싱에 ..

C#/문법 2025.08.13

방학 개인 프로젝트 개발 일지 - 5주차

이번주는 개인프로젝트는 사운드 작업만 한 뒤, 다른 프로젝트를 했습니다.Netcode를 활용한 초대 코드로 연결 및 로비 만들기, 이름 정한 뒤 띄우기 등등 작업을 했습니다.그리고 유니티 에셋인 Multiplayer Play Mode를 활용하여 멀티 테스트를 했습니다. 간단한 실행 영상입니다. 이름을 정한 뒤 호스트가 방을 열면, 클라이언트가 들어갈 수 있으며, 로비도 활용 가능합니다. 이렇게 플레이어의 이름으로 로비가 생성 됩니다.영상에선 나와있지 않지만, 코인이 생성되고 코인을 먹으면 그 코인으로 체력을 회복할 수 있습니다. 남은 시간동안 UI 좀 바꾸고, 킬 로그를 수정한 뒤, 플레이어가 나갔을 때 킬 로그가 적용이 되도록 해보고 싶습니다.너무 어려워서 포기했었는데, 만들어 보고 성공하면 글 수정..

Unity 2025.08.09

방학 개인 프로젝트 개발 일지 - 4주차

적의 BT를 만들고 테스트를 했습니다적의 종류는 3 종류로, 평범한 적, 빠른 적, 탱커로 구성되어 있습니다. 적을 모두 처치하고 라운드를 넘어가기 전에 스탯을 증가시킬 수 있는 UI가 뜨게 됩니다. 테스트로 공격력을 150으로 해놓고 하여 체력과 이동속도 증가만 영상에 담겨 있습니다. 승리 화면입니다. 패배 화면입니다. 인 게임 설정창입니다.esc를 누르면 켜지며, 이 상태로 소리 설정을 할 수 있습니다.소리 설정창을 킨 뒤 esc를 누르면 소리 설정창이 먼저 꺼지며, 그 다음으로 설정창이 꺼지는 방식입니다. 플레이어와 적이 맞을 때 애니메이션이 재생됩니다.플레이어와 적 모두 죽을 때 애니메이션이 재생됩니다. 만들다 보니 SOLID를 모두 지키진 못한 것 같습니다.다음주에는 다른 프로젝트를 해야 ..

Unity 2025.08.03

방학 개인 프로젝트 개발 일지 - 3주차

이번주에는 게임의 승리, 패배를 만들고 UI 작업을 했습니다.라운드 시스템을 만들어 적 소환을 만들었습니다. 라운드 UI에는 현재 라운드와 남은 적 수를 표시합니다.최대 라운드(15)에 도착하면 클리어 하며, 만약 그 전에 플레이어가 죽거나 넥서스가 파괴되면 게임은 종료됩니다.미니 맵을 만들어서 적 위치를 알려줍니다. 그 외에 플레이어, 적, 넥서스의 체력을 표시하는 UI도 만들었습니다.맵도 완성했습니다. 앞으로는 적 기획을 하고 에셋도 만들 예정입니다. 그리고 라운드가 지나면 스탯이 증가하도록 만들고 싶어서 기획하는 중이며, UI를 어떻게 만들지 생각하고 있습니다. 다음주에는 스탯 증가 기능 완성, 적 완성을 목표로 잡고 그주 주말에 게임 완성을 해야 할 것 같습니다. 방학 첫 주에 수업을 듣고 프로..

Unity 2025.07.26