
오늘은 9 to 9 이라는 시간동안 기초 강의로 제공된 간단한 게임들을 직접 만들어보면서 처음 개발을 했던 때를 떠올려보며 다시 기본적인 구조들을 돌아보는 시간을 가졌다.르탄이를 좌우로 움직이며 떨어지는 빗물을 받아내는 게임.마우스를 클릭하면 좌우 방향이 전환되고, 랜

프로그래머스 코딩 테스트 문제 풀이 '파이트 오브 던전' 인앱결제 및 광고 제거, 구글 클라우드 저장 문제 해결 및 출시 검토 요청 점프 게임 캐릭터 애니메이션 작업프로그래머스에서 코딩 테스트 문제를 풀며 하루를 시작했다.아침에 문제 풀이를 하니 머리가 더 빠르게 돌

프로그래머스 코딩 테스트 문제 풀이 점프 게임의 UI 작업 및 점프 거리 가이드라인 구현 플레이어 애니메이션 세부 조정오늘은 탐욕(Greedy) 알고리즘에 관한 내용을 공부하고 프로그래머스에서 그 알고리즘과 관련된 문제들을 풀어봤다.문제 접근 방식과 효율적인 풀이를

프로그래머스 Lv. 0 문제 풀이로 가볍게 머리 깨우기디자인 패턴 중 명령(Command) 패턴 학습 및 간단한 예제 구현 팀원들과 함께하는 시스템 분석 활동 참여\-> 리그오브레전드 챔피언 제리(Zeri)의 Q 스킬 구조 분석 오전에는 간단한 Lv. 0 문제들을

디자인 패턴 중 경량(Flyweight) 패턴에 대해 공부함점프 게임에 업그레이드 시스템 코드 리팩토링 진행→ 복잡하고 지저분했던 코드를 깔끔하게 정리사운드 시스템 추가플레이어 HP 및 Shield UI와 실제 상태 연동 구현→ 구현은 성공했지만, 코드가 다소 지저분해

📝 오늘의 요약 C# 문법의 기초 개념들을 정리하며 기초를 다시 다졌고, 점프 게임 프로젝트에서 해상도의 비율에 따라 Joystick을 이용한 점프가 제대로 작동하지 않는 것을 발견하고 수정했다. 🔍 세부 학습 내용 C# 기초 개념 정리 C#의 특징 및 변
오늘도 C그리고 금요일까지 제출해야 하는 과제인 TextRpg의 구상을 하며 조금씩 작업해나가고 있다.메서드와 구조체클래스와 객체 (생성자, 소멸자, 상속, 다형성)인터페이스제네릭(Generic)과 out, ref 키워드 LINQ, StringBuilder\[C조금 더
Text Rpg 필수 기능들을 모두 구현했다. \-> 화면에 출력되는 줄 간격 이런거 신경쓰느라고 시간이 좀 많이 썼다.(멍도 조금씩 때리며)TextRpg 게임의 전체적인 흐름과 흐름 제어를 담당하는 메인 컨트롤러 역할게임 시작 및 플레이어 생성Main에서 Game 클
✅ 오늘의 요약 Text Rpg 도전 기능들을 데이터 저장빼고 모두 구현했다. 기존에 있던 코드들도 열심히 리팩토링해서 최대한 깔끔하게 정리하려고 노력했다. >간단하게 아스키 아트(텍스트) 넣을거 없나 찾아보다가 좋은 사이트를 발견했다. snskeyboard 🎮

Text Rpg 데이터 저장기능까지 구현 완료했다.예상과는 다르게 쉽게 흘러가주지 않아서 당황했지만 그래도 결국은 이겨냈다.정렬(Sorting) 알고리즘에 대해 공부하고 정리했다.플레이어의 진행 정보를 저장하고, 다시 게임을 실행했을 때 이어서 플레이 할 수 있게 저장

팀프로젝트 TextRpg 주차가 시작되었다.대략적인 프로젝트의 구조를 다같이 상의하며 잡는 과정을 겪었다.탐색 알고리즘에 공부하고 정리하는 시간을 가졌다.그래프 자료구조와 DFS, BFS 알고리즘에 대해 공부하였다.\-> 많이 봐왔던 내용이지만 전에는 잘 이해가 안됐었

팀프로젝트 TextRpg 전투 시스템 작업을 진행하였다.프로그래머스에서 Day 12일차, 13일차 기초 트레이닝 문제를 풀었다.프로그래머스에서 제공해주는 기초 트레이닝 문제를 풀었다. 천천히 풀어가며 감을 계속해서 잡아가야겠다.Programmers - 2의 영역Prog

코딩 테스트 문제 풀이팀프로젝트 작업을 진행오늘도 코딩테스트 문제를 풀었다.이제는 기초와 입문은 뇌를 깨우는 용도로 풀고, Lv. 1 문제를 풀려고 한다.조건에 맞게 수열 반환하기 2콜라 문제팀원분과 같이 Skill 클래스를 구현하고, 전투 부분에서 플레이어의 Skil

코딩 테스트 문제 풀이팀프로젝트 작업을 진행오늘도 코딩테스트 문제를 풀었다.가볍게 Lv. 0 문제들 몇 개 풀어주고 Lv. 1 문제들을 시작했다.외계행성의 나이진료순서 정하기명예의 전당(1)레벨 하나 올라갔는데 왜이리... 어렵게만 느껴지는지 모르겠다. 아직 C전투 종

팀프로젝트 작업 마무리!!오늘까지 추가 기능들을 작업 후 마지막으로 모든 코드들을 병합하여 팀원분들과 같이 확인하며 기능에 문제는 없는지 테스트하며 마무리 하는 작업을 진행했다.기존 ItemType에 Potion을 추가하고 관련 메서드들을 추가하였다.Potion타입은

예비군을 끝내고 돌아와 힘든 몸을 이끌로 어떻게든 이겨내었다... 💪굳어있는 머리를 가벼운 문제들로 풀어주기밀려있는 강의 건실하게 듣기이번주 화요일부터인가 유니티 입문 챕터가 시작되었다. 월, 화, 수 예비군을 다녀오는 바람에 할 게 엄청나게 쌓여버렸다. (강의, 개

모든 강의를 듣고 이제 개인 프로젝트 과제에 돌입하였다!늦게 시작한만큼 열심히 듣고 이해하며 모든 강의를 수강을 완료하였다. 마지막으로 만든 게임은 약간 탑다운 슈팅게임...? 같은 느낌의 게임인데 코드의 구조가 잘 나뉘어 져있는거 같아서 앞으로 코드를 짜는데 해당 방

개인과제로 진행하는 메타버스 만들기 프로젝트에서 미니게임으로 FlappyBird와 같은 게임을 만들어보았다.플레이어가 이동하는 것이 아닌 배경이 움직이는 것으로 구현해보고자 하였고,장애물들을 일정 거리마다 반복 재배치하여 무한히 스크롤되는 느낌을 주는 구조를 구현해보았

메타버스 미니게임 추가로 농작물을 받아라 !! 라는 게임을 만들어보았다.떨어지는 농작물을 캐릭터를 움직여 받으면 되는 게임으로로컬로 동작하는 1P, 2P를 만들어 2명이서 할 수 있도록 만들고자 하였다.먼저 어떻게 따로 동작하게 만들까라는 생각에서 나온 것은 바로 In

하늘에서 떨어지는 랜덤한 농작물들과 그걸 받아서 점수로 올리는 내용을 구현하였다.빈 게임 오브젝트에 SpriteRendere와, Rigidbody2D, BoxCollider2D (IsTrigger = true) 추가를 해주고 농작물이 랜덤으로 초기화 될 수 있는 Cro

개인 과제 제출 완료.코테 문제 살짝.코딩테스트 문제 풀이\[기사단원의 무기 (C\[2016년 (C과제 작업을 마무리 하였다.예비군때 공지가 있었는데, 에셋을 강의에서 제공한 에셋만 사용하라는 공지가 있었다고 한다.확인하지 못하고 다른 에셋 사용해서 구현을 했는데...

팀프로젝트가 시작되어서 우리팀은 '궁수의 전설' 같은 게임을 만들자고 정하고, 나는 스테이지 관련된 기능 개발을 맡게 되었다.그래서 예전 대학교 때 멘토링을 하던 시절 멘토님이 "현업에서는 디자이너들 작업하기 편하게 에디터를 개발자들이 만들어 준다."라고 이야기하셨던게

스테이지 프리셋 에디터 기능 추가아이템 추가더 많은 스테이지 구조를 위해 BaseTileMap도 저장해서 생성하도록 하였고, StageID의 저장된 데이터를 불러와 화면에 표시해주는 Preview 기능과 기존에 존재하는 프리셋이 있으면 확인 후 덮어쓰는 Overwrit

Unity에서 yield return new WaitForSeconds(1f) 같은 코드를 자주 사용할 때, GC(가비지 컬렉션)으로 인해 성능 저하가 발생할 수 있다.이를 방지하기 위해 WaitForSeconds 객체를 미리 만들어 캐싱해두고 재사용하는 방법에 대해

Unity는 MonoBehaviour 인스턴스들을 모두 순회하며 Update, FixedUpdate 등 메시지 함수를 호출 가능한지 검사한다.비어있는 함수라도 존재하면 오버헤드 발생 → 프로젝트가 클수록 CPU 사용량 증가.사용하지 않는 메시지 함수 제거이벤트 기반 시

1\. Stage Preset EditorUnity의 Custom Editor 기능을 활용해 개발.프리셋 생성, 저장, 덮어쓰기 기능 구현.현재 프리셋을 미리보기(Preview) 하여 편집 편의성 향상.관련 기능:StagePresetManager에서 랜덤 프리셋 선택

작업할 때 마우스에 손을 덜 올리기 위한 단축키들을 정리해보았다.자주 사용되는 친구들을 손에 익혀 사용하면 앞으로의 개발과 디버깅에 도움이 될 것 같다. 커서가 위치한 변수, 함수, 클래스 등의 정의부로 이동자주 사용하는 단축키로 다른 사람의 코드를 확인할 때 아주

디자인 패턴(Design Pattern)이란,반복적으로 발생하는 소프트웨어 설계 문제를 해결하기 위한 ‘검증된 설계 방법’이다.즉, 어떤 문제를 어떻게 해결하면 좋은지에 대한 ‘재사용 가능한 해결 템플릿’이다.객체지향 설계 원칙에 기반하여 만들어짐특정 언어나 기술에 한

Unity에서 Animation Curve라는 기능을 알게되어 이를 통해 UI PopUp 애니메이션을 간단하게 구현하려고 한다Animation Curve는 시간에 따라 값이 어떻게 변화할지를 곡선 형태로 표현하는 기능이다.X축 : 시간 (보통 0 ~ 1)Y축 : 값 (

두 벡터 사이의 각도와 관련된 값을 구하는 연산으로두 벡터의 방향이 얼마나 비슷한지를 수치로 나타냄두 벡터가 이루는 평면의 수직 방향 벡터를 구할 수 있다즉, 외적의 결과 벡터는 두 벡터가 이루는 회전 방향을 알려준다.회전 방향을 알고 싶다면 외적의 결과를 기준축과 비

게임 플레이 도중 숫자 키(1~0)를 이용해 슬롯을 선택하고, 선택된 아이템을 사용할 수 있는 툴바 시스템을 구현하는 것이 목표였다.아이템은 포션과 같은 소비형 아이템과 장비형 아이템으로 나뉘며, 툴바 슬롯에 등록된 아이템을 사용하면 해당 효과가 적용되도록 만들었다.I

게임의 다양한 설정 값이나 로직 데이터를 코드에 직접 하드코딩하지 않고,JSON, CSV, ScriptableObject 등의 외부 데이터로 분리하여 처리하는 설계 방식이다.빠른 수정과 반복 테스트 용이→ 코드 수정 없이 밸런스나 콘텐츠 수치를 변경할 수 있어 작업 속

게임 데이터를 설계할 때는 불변 데이터와 변동 데이터를 구분하는 것이 중요하다.기획자 중심의 콘텐츠 제작을 위해 데이터 수정이 쉽고 직관적이어야 하며, 보통 다음과 같은 형태로 데이터를 관리한다.기획자가 엑셀로 작성한 데이터를 CSV로 저장 후 Unity에서 파싱가장

게임 개발에서 Manager 클래스는 여러 시스템과 객체들을 조율하는 핵심 역할을 수행한다.하지만 "매니저는 관리만 하고, 직접 일하지 않는다"는 원칙을 명확히 이해하는 것이 중요하다.매니저는 실제 기능을 수행하기보다는, 객체나 시스템 간의 연결을 관리하고 흐름을 조율

플레이어가 조준 시 마우스 방향에 따라 투척 궤도(trajectory) 를 시각적으로 보여주는 시스템 구현궤도 계산에 물리 엔진을 고려한 포물선 적용마우스 위치를 기반으로 45도 위쪽으로 향하는 투척 방향 계산 로직 구현매 프레임마다 pointCount 만큼의 궤도 점

오늘은 현재 진행중인 Unity 프로젝트에서 구성한 Player 시스템 전체 구조를 정리해보았다. Player 컴포넌트를 중심으로 각각의 기능을 전담하는 모듈을 컴포넌트 기반 설계로 분리하여 유지보수성과 확장성을 높였다.모든 플레이어 관련 로직은 Player 스크립트가

오늘은 객체지향 설계의 핵심 원칙인 SOLID에 대해 공부했고, 이를 게임 개발 관점에서 어떻게 적용할 수 있는지도 함께 정리해봤다.이 원칙들은 Unity 같은 엔진에서 개발할 때도 유지보수성과 확장성을 높이기 위해 매우 중요하다.객체지향 설계의 5가지 핵심원칙하나의

효율적인 Unity 프로젝트 구조 설계에 대해 학습하고, 정리해보았다.특히 유지보수성과 성능, 확장성 관점에서 중요한 요소들을 중심으로 정리하였다.자동완성 지원으로 오타를 줄이고 가독성을 향상상수 값보다 타입 안정성 확보코드 작성 시 값의 명확한 의미 부여값 타입으로

프로그래밍을 잘하고 싶다면, 자료구조는 선택이 아니라 필수많은 사람들이 List, Dictionary만 쓰면서 그 내부 동작이나 다른 대안 구조를 잘 모르는 경우가 많다.특히 게임 개발이나 알고리즘 문제 풀이, 실무 최적화에서 자료구조 선택은 성능과 직결된다.오늘은 주

이번 3D 방치형 프로젝트에 몬스터와 플레이어 AI에 상태 패턴을 적용하여 FSM(Finite State Machine)을 간단하게 구현해보았다.객체의 상태에 따라 행위가 달라지는 상황에서, 각 상태를 클래스로 분리하고 상태 전이를 명확하게 만드는 패턴FSM은 게임 A

Unity에서 여러 개의 탭 버튼을 생성하고, 각각 클릭했을 때 해당 인덱스의 탭으로 전환되도록 코드를 작성했다.문제는, 버튼을 클릭했을 때 항상 마지막 인덱스 (tabButtons.Length)가 전달되어모든 버튼이 같은 탭을 여는 현상이 발생했다.C위 코드에서 i는