게임개발 6

내일배움캠프 14일차: 이벤트

오늘 공부한 내용📝오늘은 C#에서 event라는 개념을 배웠다. delegate를 활용할 때 왜 event를 사용해야 하는지 헷갈렸지만, 여러 예제를 보며 delegate와의 차이를 이해할 수 있었다. event는 delegate의 접근을 제어하는 역할을 하며, 외부 클래스에서 직접 delegate를 호출하지 못하도록 막아주는 역할을 한다.왜 event를 사용해야 할까?🤔 event는 delegate의 외부 접근을 제한하고, 클래스 내에서만 안전하게 호출할 수 있게 해준기 때문이다. 예를 들어, delegate를 사용한 경우 외부에서 호출을 막지 않으면 예상치 못한 메서드가 실행될 수 있다. 이를 방지하기 위해 event를 사용해 이벤트 구독만 가능하게 하고 호출 권한을 클래스 내부로 한정시키는 것이..

내일배움캠프 2024.10.01

내일배움캠프 12일차: const와 readonly

오늘의 공부: const와 readonly 📝오늘은 팀원 분께서 가르쳐주신 const와 readonly 키워드에 대해 추가적으로 공부해보았다. const와 readonly는 모두 값을 변경할 수 없도록 설정하는 키워드이지만, 각각의 사용 시점과 용도가 다르다.const란?const 키워드는 상수(Constant)를 정의할 때 사용됩니다. 상수는 선언과 동시에 값을 지정해야 하며, 이후에 값을 변경할 수 없습니다. const는 컴파일 타임에 결정되는 상수로, 기본형 타입(정수, 실수, 문자열 등)이나 불변적인 값에 주로 사용됩니다. 클래스 내에서 const는 암시적으로 static이므로, 인스턴스가 아닌 클래스 자체와 연관되어 사용됩니다. const 특징반드시 초기화 시 값을 할당해야 함:const 변수..

내일배움캠프 2024.09.27

Newtonsoft.Json을 사용한 게임 데이터 저장(내일배움캠프 10일차)

오늘 공부한 내용 📝오늘은 C#을 활용한 TEXT RPG 만들기 과제를 하면서 데이터 저장 방식에 대해 고민하던 중, Newtonsoft.Json을 알게 되어 사용해보았다. 이 라이브러리는 JSON 포맷으로 데이터를 쉽게 직렬화하고, 다시 객체로 역직렬화하는 데 매우 유용했다. JSON을 통해 데이터의 구조를 직관적으로 관리할 수 있었고, 게임 데이터를 저장하고 불러오는 기능을 간단하게 구현할 수 있었다. JSON이란?JSON(JavaScript Object Notation)은 데이터를 텍스트 형식으로 저장하고 교환하는 데 사용되는 경량 데이터 포맷 Javascript의 문법을 따르지만, Javascript가 아니더라도 다수의 프로그래밍 언어에서 라이브러리를 제공 키-값 쌍으로 데이터를 표현하며, 데이..

내일배움캠프 2024.09.25

내일배움캠프 게임개발 과정 6일차: float 데이터형 끼리의 비교

오늘 공부한 내용📝오늘은 float 자료형끼리의 비교에 대해 배웠다.  float은 정확한 값이 아니기 때문에 ==로 비교하면 오류가 발생할 수 있다. 이를 해결하기 위해 "허용 오차(Epsilon)"를 사용하여 두 값의 차이가 매우 작은 경우, 같다고 간주하는 방법을 배웠다.float a = 0.1f + 0.2f;float b = 0.3f;float epsilon = 0.00001f;if (Math.Abs(a - b)  이 코드는 float 값이 부정확하게 저장될 수 있다는 점을 보완해, 좀 더 안정적인 비교를 가능하게 해준다.궁금한 내용 / 부족한 내용 🤔비슷한 원리로 double 자료형끼리도 비교할 때 주의가 필요하다는 것을 알게 되었다.double은 float에 비해 더 높은 정밀도를 제공하지..

내일배움캠프 2024.09.19

내일배움캠프 게임개발 과정 5일차

오늘 공부한 내용📝 개발자로서 가져야 할 사고어려웠던 부분😭좋은 코드 구조에 대해서 아직 감이 잘 안 잡혔다. 예를 들어, 특정 메서드를 어떤 클래스에 선언하고 사용하는 것이 좋은지, 새로운 클래스를 만드는 것이 적절한지, 아니면 기존 클래스에서 사용하는 것이 더 나은지에 대한 고민이 많았다.궁금한 내용 / 부족한 내용🤔게임 프로그래밍 컨벤션 느낀점😺오늘 라이브 세션 강의에서 개발자로서 필수적인 사고 방식에 대해 들었다. 개발하고 싶은 게임의 레퍼런스를 분석하며, 게임의 구성과 기능 우선순위, 변수명 선정 등 게임 개발을 위한 사고 방식에 대해 깊이 있게 배울 수 있었다. 이 지식을 바탕으로, 기존에 강의를 보며 구현했던 프로젝트들을 다시 분석하며 무엇을 개선할 수 있을지 고민한 하루였다. 이제 ..

내일배움캠프 2024.09.13

내일배움캠프 게임개발 과정 4일차 - 카드 뒤집기 게임 보완하기

오늘 공부한 내용📝4주 차 강의를 바탕으로 카드 뒤집기 게임의 도전 기능을 구현해 보았다. 이번 학습은 주로 게임의 몰입도를 높이기 위한 디테일한 개선 작업에 집중했다.특히 유니티 애니메이션, 문제 해결 능력, 그리고 게임 리소스를 어떻게 효율적으로 활용할지에 대해 깊이 있게 탐구했다. 프로그래밍 외적인 부분들에도 많은 시간을 투자한 하루였다.어려웠던 부분😭몰입도를 높이기 위해 여러 기능을 추가했지만, 주변 요소들이 만족스럽지 않았다. 게임의 전체적인 완성도를 높이기 위해서는 코딩 외에도 더 많은 작업이 필요하다는 것을 느꼈다.궁금한 내용 / 부족한 내용🤔좋은 게임 디자인이란?느낀점😺오늘의 학습을 통해 좋은 게임을 만들기 위해서는 프로그래밍 능력 외에도 내가 가지고 있는 도구들을 효과적으로 활용하..

내일배움캠프 2024.09.12