- 방문자 수
- 인기 포스트
전체 방문자
오늘 방문자
어제 방문자
최근 포스트
-
[무한의 기둥] #04 - 배경 오브젝트와 최적화
어김없이 일지 부채를 상환하러 왔습니다.사실 이미 한번 작성하다가 중간에 브라우저가 뻗어버리고자동저장도 통째로 날아가버려서 다시 작성하고 있습니다..(하.. 열심히 다시 써보겠습니다)시작하기에 앞서,3편에서 아주 짧게 앱스토어 출시 준비에 대한 이야기를 했었는데요빠르게 초기 버전 심사까지 24시간 내로 승인받고,업데이트 버전까지 추가로 업로드 + 심사 요청까지 완료하여예약 출시로 3월 18일에는 플레이 해볼 수 있도록 모든 준비가 완료되었습니다.https://apps.apple.com/kr/app/%EB%AC%B4%ED%95%9C%EC%9D%98-%EA%B8%B0%EB%91%A5/id6743107597 무한의 기둥끝없이 솟아오르는 기둥을 타고 우주로 도약하세요! 끊임없이 이어지는 무한한 기둥, 간단한..
-
[무한의 기둥] #03 - 방해 이벤트와 리더보드
타임머신을 타고 2025년으로 왔습니다.(빠른 시일내라고 했지만 너무 많은 시간이 흘러버렸다)최근 프로젝트 근황은 최소한으로 만족할 수 있는 플레이 수준까지 개발을 진행하여구글 플레이 스토어에 무사히 정식 출시를 완료했고, 트레일러 영상도 따로 제작했습니다.https://youtu.be/w77TQx4cb4w(채널에 가면 영문 버전 영상도 있답니다)https://play.google.com/store/apps/details?id=com.TeamCampfire.InfinityColumn 무한의 기둥 - Google Play 앱끝없이 솟아오르는 기둥을 타고 우주로 도약하세요!play.google.comhttps://teamcampfire.tistory.com/ TeamCampfire창작을 태워 게임을 만듭니다..
-
[무한의 기둥] #02 - 부동 소수점 이야기
작업물이 어느 정도 생길 때마다 개발 일지를 작성하겠다고 했는데벌써 한 달하고도 2주나 더 지나버렸습니다..변명 아닌 변명을 해보자면 작업 자체는 꾸준히 진행하고 있었지만, 10월 중순부터 혼자 15일 동안 일본 도쿄 여행을 다녀오느라잠깐의 강제 휴식기가 있었습니다.물론 맥북을 챙겨갔기 때문에 틈날 때마다"여행 중에도 작업을 할 수 있겠지!" 라는 생각을 했으나,뚜벅이 여행을 많이하는 바람에 15일 중 작업한건 단 2일!(정말 이곳저곳을 한참동안 걸어서 많이 돌아다녔다)하지만 현재 개발 일지 내용이 꽤나 밀렸기 때문에..이번에는 아직 프로토타입 초기 버전 개발이 진행 중이던 시점부텨 가장 최근까지 있었던 이슈들을 몇 가지 이야기해 보려고 합니다.(저번 첫 편에 다뤄보려고 했으나 내용이 길어지는 것 같아서..
-
[무한의 기둥] #01 - 다시 돌아온 개발자
2024년 6월 25일, 드디어 전역을 했습니다.(육군 병장 만기전역)물론 이 글을 쓰고 있는 현재는 약 3개월 이상이 지난 시점입니다.(이렇게 보니 국방부의 시계가 정말 느렸었다는게 느껴집니다..)처음 입사했던 게임회사에서 산업기능요원으로 현업의 경험도 쌓으면서군 복무를 마치겠다는 계획은 TO 신청 막바지에 물거품이 되어버렸지만,GOTY급(?) 게임을 개발해보겠다는 목표는 아직 건재합니다.그런데 1년 6개월이라는 공백기가 생각 외로 크게 느껴져다시 재활을 해야겠다는 필요성을 느꼈습니다.(물론 군 복무 중에도 게임 그래픽스나 최적화, 기획과 관련된 이론 공부들은 주기적으로 했습니다)그래서 최근에 작은 게임 프로젝트 하나를 진행하여 출시까지 해보기로 결심했습니다.프로젝트 소개영어로는 "Infinity Co..
-
[Unity] 좌표계에 대해 알아보기
이번 글에서는 좌표계가 무엇이고 Unity 에서 좌표계는 어떻게 쓰이는지 알아볼 것이다. 시작하기 앞서, 정말 처음 입문하는 사람들에게도 알기 쉽게 정리된 참고 블로그와 영상 자료가 있어서 적어둔다. https://wergia.tistory.com/161 [Unity3D] Tutorial (5) - 유니티의 좌표계Tutorial (5) 유니티의 좌표계 작성 기준 버전 :: 2018.3.1f1 [본 튜토리얼의 내용은 유튜브 영상으로도 시청할 수 있습니다] 이번 섹션에서는 유니티의 좌표계에 대해서 알아보자. 좌표계란? 좌표계란wergia.tistory.com좌표계 좌표계는 특정 차원의 공간에서 특정한 위치를 나타내기 위한 방식이다.(이 글에서 다루게 될 특정 차원은 3D 게임의 3차원 공간을 의미한다) 그리..
-
[C#] 직렬화 (Serialization)
직렬화직렬화는 클래스의 객체를 바이너리화하는 것=> 클래스 내부에 있는 데이터, 변수 등의 값들을 byte 형식의 데이터로 만드는 것쉽게 말하면 클래스 객체의 상태를 그대로 컴퓨터 환경에 저장하고 나중에 재구성할 수 있는 포맷으로 변환하는 과정=> 데이터 파일 형태로 영구 저장 장치에 저장함 먼저 알아야 할 내용기본적으로 C# 환경에서는 데이터 형식을 스트림에 쓰고 읽을 수 있도록 관련 메서드가 제공된다.(BinaryWriter/Reader 와 StreamWriter/Reader) 하지만 복합 데이터 형식을 기록하고 읽으려면, 그 형식이 갖고 있는 필드의 값을 순서에 따라 저장하고 읽는 코드를 작성해야 한다. 그래서 C# 환경에서 복합 데이터 형식을 쉽게 읽기 / 쓰기 할 수 있는 직렬화 (Seriali..
-
[Unity] 콜라이더 (Collider) 에 대해 알아보기 #2
https://dbsckdqja75.tistory.com/39 [Unity] 콜라이더 (Collider) 에 대해 알아보기 #1이번 글에서는 Unity 의 콜라이더 컴포넌트 (Collider Component) 에 대해서 알아볼 것이다. Unity Docs (Collider) Unity - 스크립팅 API: Collider See Also: BoxCollider, SphereCollider, CapsuleCollider, Me..dbsckdqja75.tistory.com 지난번 글에서 Unity 에서 3D 환경의 Collider 에 대해 알아봤었는데, 이번에는 2D 환경에서의 Collider 를 알아보고자 한다. Unity Docs (Collider 2D) 콜라이더 2D - Unity 매뉴얼콜라이더 2D..
-
[Unity] 콜라이더 (Collider) 에 대해 알아보기 #1
이번 글에서는 Unity 의 콜라이더 컴포넌트 (Collider Component) 에 대해서 알아볼 것이다. Unity Docs (Collider) Unity - 스크립팅 API: ColliderSee Also: BoxCollider, SphereCollider, CapsuleCollider, MeshCollider, PhysicMaterial, Rigidbody. 콜라이더를 가진 오브젝트가 게임플레이 중에 움직여질 경우, 해당 오브젝트에는 Rigidbody 컴포넌트를 붙여야 합니다. 만docs.unity3d.com Collider 는 UnityEngine 클래스에 포함되어 있으며, 단어는 충돌의 의미를 가지고 있다. 물리적인 상호작용, 접촉, 충돌에 대해서 모든 것을 관리한다고 보면 된다. 당연하지만..
-
[C#] 구조체 (Struct)
구조체구조체는 사용자 정의 데이터 유형으로 기본적으로 제공되는 변수 유형이 아님=> 새로운 데이터 유형으로 사용자가 직접 정의하여 사용함클래스의 참조형식과 달리 구조체는 값 형식 참조먼저 알아야 할 내용값 형식 참조와 참조 형식의 차이 (Value type reference, Reference type reference)클래스는 Heap 에 인스턴스가 생성 및 할당되고 Stack 에 변수로 주소 값을 설정함 (인스턴스에 대한 참조를 포함)구조체는 Stack 에 할당되고 생성과 복사 모두 각각의 변수에 포함된 인스턴스에게 이루어짐 (인스턴스를 포함)=> 구조체 변수에 다른 변수를 대입할 경우, 참조 값이 변하는게 아니라 값 형식으로 구조체가 복사됨구조체는 매개변수가 없는 생성자를 만들 수 없음 => nul..
-
[C#] 얕은 복사와 깊은 복사 (Shallow Copy & Deep Copy)
얕은 복사와 깊은 복사C# 의 클래스는 기본적으로 참조 형식스택 영역에 있는 참조가 힙 영역에 할당된 객체의 메모리를 가리킴 (참조값)얕은 복사는 객체의 참조만 복사하는 것 (단순 복사)깊은 복사는 객체를 복사하여 '새로운 객체' 를 만드는 것 (복사본 / 전체 복사)먼저 알아야 할 내용할당 (Assign)일반적으로 생성된 객체를 다른 변수로 참조할 경우를 '할당' 한다고 함 얕은 복사얕은 복사는 아래의 간단한 코드를 예시로 볼 수 있음* 포인터는 참조값이 정말 동일한지 판단하기 위한 목적으로 작성하였으며, 실제 적용 시에는 필요하지 않음 혹시나 이해가 되지 않는다면, 다른 변수와 클래스를 예시로 한 아래의 그림을 참고 위의 내용을 얕은 복사라고 하기도 하지만, .NET 프레임워크에서 제공하는 Ob..
-
[C# 자료구조] LinkedList, SortedList
LinkedList 와 SortedList2개의 자료구조 모두 List 에서 파생된 클래스LinkedList 는 데이터를 포함하는 노드들을 연결하여 각 노드가 데이터와 다음/이전 링크 포인터를 갖게 되는 자료구조(앞/뒤, 이중 연결 리스트 형태)LinkedList 는 특정 노드에서 삽입, 삭제가 편리하나 특정 노드를 검색하기 위해서는 시간이 다소 걸림 [O(n)]SortedList 는 Hashtable 과 ArrayList 의 혼합형이며 내부 데이터는 Key 와 Value 로 이루저져 있고, Key 와 Index 로 접근 가능SortedList 는 내부적으로 정렬된 컬렉션을 유지하고 있다는게 큰 특징임(정렬은 Value 이 아닌 별도의 Key 를 통해 정렬하고, Key 는 중복이 불가능함)선언 & 사용 ..
-
[C# 자료구조] Hashtable, Dictionary
Hashtable 과 Dictionary키 (Key) 와 값 (Value) 를 한쌍으로 저장됨 (공통)키 (Key) 값은 유일해야 함 (공통)키를 통한 값을 찾아서 탐색 속도가 빠름 (공통)Hashtable 은 선언 시, 자료형을 명시하지 않음 (ArrayList 와 동일)Dictionary 는 선언 시, 특정 자료형을 명시해야함 (나머지는 Hashtable 과 동일)Hashtable 보다 Dictionary 가 연산속도가 빠름 (모든 타입을 받는지 여부에 따른 차이)선언 & 사용 방법마무리Hashtable 과 Dictionary 의 속성 및 메서드에 대한 정보는 참고자료를 확인참고자료1참고자료2참고자료3참고자료4참고자료5참고자료6
-
[C# 자료구조] Stack, Queue
Stack 과 QueueStack 은 나중에 들어온 데이터가 먼저 나가는 선입선출 (LIFO) 방식 (Enqueue, Dequeue)Queue 는 먼저 들어간 데이터가 먼저 나가는 선입선출 (FIFO) 방식 (Push, Pop)두 자료구조 모두 데이터와 작업을 순서대로 입력하고 차례대로 처리하기에 용이함 선언 & 사용방법마무리되돌리기, 뒤로가기 등의 기능을 구현한다면 스택 (Stack) 이 예시로 적합여러 도전과제를 한꺼번에 달성했을 경우에 차례대로 뜨는 알림 기능을 구현한다면 큐 (Queue) 가 적합스택과 큐의 자세한 설명 자료참고자료1참고자료2참고자료3 (이미지 출처)
-
[C# 자료구조] ArrayList, List
ArrayList 와 ListArrayList 는 길이가 고정되지 않는 추가 & 삭제의 변형이 가능한 가변형 객체 타입 (동적 배열)ArrayList 는 서로 다른 타입의 데이터를 배열에 저장 가능 => (박싱과 언박싱이 발생함)List 도 동일하게 동적 배열List 는 ArrayList 의 단점을 보완하여 같은 타입만 저장이 가능함 => (박싱과 언박싱이 발생하지 않음)특별한 목적이 없다면 ArrayList 를 사용하는 것은 권장하지 않음선언 & 사용 방법마무리처음에 장단점을 몇몇 포함한 내용이 있기 때문에 일부 내용은 생략함ArrayList 와 List 의 속성 및 메서드 그리고 성능에 대한 정보나 이슈는 참고자료를 확인박스와 언박싱이란? (매우 중요한 정보)참고자료1 (정리형)참고자료2 (예제형)참..
-
[C# 자료구조] Array
Array데이터 형식이 같은 변수를 한번에 모아놓은 데이터의 집합이며, 자료구조 중에서 가장 기본이 되는 데이터 타입기본적으로 배열의 데이터 형식은 값 형식, 배열 변수는 참조 형식선언 방법 * 만약 데이터 타입이 참조 형식일 경우에는 요소들이 null 참조로 초기화됨 사용 방법 응용 방법 장단점인덱스를 통한 검색이 용이함연속된 메모리 공간으로 이루어져 있기 때문에 메모리 관리가 편함크기가 고정되기 때문에 배열 요소가 삭제되면, 빈 공간으로 남겨두어야 함 (메모리 낭비)컴파일 이전에 배열의 크기를 정해야함 (정적 배열)컴파일 이후에 배열의 크기를 변동하기 어려움 (동적 배열은 가능)마무리이외에 가변 배열과 배열의 속성과 메서드 그리고 배열 종류별 성능에 대한 정보는 참고자료로 확인참고자료1참고자료2 ..
-
[C# / Unity] 디자인 패턴 - 싱글톤 패턴
싱글톤 패턴의 경우, 이 글에 굳이 예시를 적지 않아도 될 정도로 이미 많은 자료들이 나와있다.(거의 다른 패턴들보다도 비교적 참고자료가 많은 게 아닐까라는 생각이 든다) 패턴에 대한 설명은glikmakesworld.tistory.com/2 유니티 디자인패턴 - 싱글톤 (Unity Design Patterns - Singleton)싱글톤 패턴은 초보 개발자들이 가장 많이 쓰는 디자인 패턴이 아닐까 싶다. 클래스 구조를 짜다보면 다른 클래스의 함수를 사용해야 할 수도 있고, 전체 클래스들이 공유하는 전역변수가 필요glikmakesworld.tistory.com wergia.tistory.com/192 [Unity3D] Programming - 유니티에서의 싱글톤 패턴 활용Programming - 유니티에서..
-
[C# / Unity] 디자인 패턴 - 추상 팩토리
추상 팩토리는 이전 패턴 일지에 있었던 팩토리 관련 패턴 참고 자료에 나와있는 내용과 예시가 가장 이해하기 쉽고 적절한 것 같아서 그대로 여기에 적는 것 보다는 해당 자료를 참고하는게 좋을 것 같다. glikmakesworld.tistory.com/5 유니티 디자인패턴 - 팩토리(심플팩토리, 팩토리 메소드, 추상팩토리) (Unity Design Patterns - Factory)흔한 프로그래밍 언어서 새로운 인스턴스를 만들 때 new를 사용한다. 만약 내 게임의 스테이지1에서 그린고블린을 만든다면 아래와 같이 만들것이다. GreenGoblin greenGoblin = new GreenGglikmakesworld.tistory.com앞서 알아봤던 2개의 패턴보다는 좀 더 세부적으로, 조립식 부품을 끼워 ..
-
[C# / Unity] 디자인 패턴 - 팩토리 메서드
※ 읽기 전에 한번 숙지하면 좋은 내용 math-development-geometry.tistory.com/40 C# - 추상 클래스, 가상 클래스 - abstract, virtual 사용법지난 포스팅 인터페이스에서 잠시 언급된 추상과 가상에 대한 이야기를 하도록 하겠습니다. 추상과 가상을 먼저 이야기 했으면 좋았겠지만, 제 포스팅은 그냥 의식의 흐름으로 적는 포스팅이기math-development-geometry.tistory.com glikmakesworld.tistory.com/5 유니티 디자인패턴 - 팩토리(심플팩토리, 팩토리 메소드, 추상팩토리) (Unity Design Patterns - Factory)흔한 프로그래밍 언어서 새로운 인스턴스를 만들 때 new를 사용한다. 만약 내 게임의 스테..
-
[C# / Unity] 디자인 패턴 - 심플 팩토리
※ 읽기 전에 한번 숙지하면 좋은 내용 math-development-geometry.tistory.com/40 C# - 추상 클래스, 가상 클래스 - abstract, virtual 사용법지난 포스팅 인터페이스에서 잠시 언급된 추상과 가상에 대한 이야기를 하도록 하겠습니다. 추상과 가상을 먼저 이야기 했으면 좋았겠지만, 제 포스팅은 그냥 의식의 흐름으로 적는 포스팅이기math-development-geometry.tistory.com glikmakesworld.tistory.com/5 유니티 디자인패턴 - 팩토리(심플팩토리, 팩토리 메소드, 추상팩토리) (Unity Design Patterns - Factory)흔한 프로그래밍 언어서 새로운 인스턴스를 만들 때 new를 사용한다. 만약 내 게임의 스테..
-
[C++] 2-1. 자료형, 변수 정의, void, 변수 크기, sizeof 연산자
※ 공부 / 복습 메모 일지 ※ 해당 일지에서 알고 있는 부분들은 간단히 정리 및 생략하여 넘어가는 내용으로 구성 boycoding.tistory.com/147 C++ 02.01 - 자료형과 변수 정의의 기본 (The basis of data type and variable definition) 02.01 - 자료형과 변수 정의의 기본 (The basis of data type and variable definition) 메모리 주소 지정 (Addressing memory) '01-02 - 변수, 초기화 및 할당' 포스트에서 변수란 '값을 저장하고 사용할 수 있는.. boycoding.tistory.com boycoding.tistory.com/148 C++ 02.02 - void 02.02 - void..
Unity DevLog
-
[무한의 기둥] #04 - 배경 오브젝트와 최적화
어김없이 일지 부채를 상환하러 왔습니다.사실 이미 한번 작성하다가 중간에 브라우저가 뻗어버리고자동저장도 통째로 날아가버려서 다시 작성하고 있습니다..(하.. 열심히 다시 써보겠습니다)시작하기에 앞서,3편에서 아주 짧게 앱스토어 출시 준비에 대한 이야기를 했었는데요빠르게 초기 버전 심사까지 24시간 내로 승인받고,업데이트 버전까지 추가로 업로드 + 심사 요청까지 완료하여예약 출시로 3월 18일에는 플레이 해볼 수 있도록 모든 준비가 완료되었습니다.https://apps.apple.com/kr/app/%EB%AC%B4%ED%95%9C%EC%9D%98-%EA%B8%B0%EB%91%A5/id6743107597 무한의 기둥끝없이 솟아오르는 기둥을 타고 우주로 도약하세요! 끊임없이 이어지는 무한한 기둥, 간단한..
-
[무한의 기둥] #03 - 방해 이벤트와 리더보드
타임머신을 타고 2025년으로 왔습니다.(빠른 시일내라고 했지만 너무 많은 시간이 흘러버렸다)최근 프로젝트 근황은 최소한으로 만족할 수 있는 플레이 수준까지 개발을 진행하여구글 플레이 스토어에 무사히 정식 출시를 완료했고, 트레일러 영상도 따로 제작했습니다.https://youtu.be/w77TQx4cb4w(채널에 가면 영문 버전 영상도 있답니다)https://play.google.com/store/apps/details?id=com.TeamCampfire.InfinityColumn 무한의 기둥 - Google Play 앱끝없이 솟아오르는 기둥을 타고 우주로 도약하세요!play.google.comhttps://teamcampfire.tistory.com/ TeamCampfire창작을 태워 게임을 만듭니다..
-
[무한의 기둥] #02 - 부동 소수점 이야기
작업물이 어느 정도 생길 때마다 개발 일지를 작성하겠다고 했는데벌써 한 달하고도 2주나 더 지나버렸습니다..변명 아닌 변명을 해보자면 작업 자체는 꾸준히 진행하고 있었지만, 10월 중순부터 혼자 15일 동안 일본 도쿄 여행을 다녀오느라잠깐의 강제 휴식기가 있었습니다.물론 맥북을 챙겨갔기 때문에 틈날 때마다"여행 중에도 작업을 할 수 있겠지!" 라는 생각을 했으나,뚜벅이 여행을 많이하는 바람에 15일 중 작업한건 단 2일!(정말 이곳저곳을 한참동안 걸어서 많이 돌아다녔다)하지만 현재 개발 일지 내용이 꽤나 밀렸기 때문에..이번에는 아직 프로토타입 초기 버전 개발이 진행 중이던 시점부텨 가장 최근까지 있었던 이슈들을 몇 가지 이야기해 보려고 합니다.(저번 첫 편에 다뤄보려고 했으나 내용이 길어지는 것 같아서..
-
[무한의 기둥] #01 - 다시 돌아온 개발자
2024년 6월 25일, 드디어 전역을 했습니다.(육군 병장 만기전역)물론 이 글을 쓰고 있는 현재는 약 3개월 이상이 지난 시점입니다.(이렇게 보니 국방부의 시계가 정말 느렸었다는게 느껴집니다..)처음 입사했던 게임회사에서 산업기능요원으로 현업의 경험도 쌓으면서군 복무를 마치겠다는 계획은 TO 신청 막바지에 물거품이 되어버렸지만,GOTY급(?) 게임을 개발해보겠다는 목표는 아직 건재합니다.그런데 1년 6개월이라는 공백기가 생각 외로 크게 느껴져다시 재활을 해야겠다는 필요성을 느꼈습니다.(물론 군 복무 중에도 게임 그래픽스나 최적화, 기획과 관련된 이론 공부들은 주기적으로 했습니다)그래서 최근에 작은 게임 프로젝트 하나를 진행하여 출시까지 해보기로 결심했습니다.프로젝트 소개영어로는 "Infinity Co..