Road to 2024

나는 우주에 갈 정도로 충분한가
대천명을 기다릴만큼 진인사 하였는가?

- 이론을 정리하자
- 구조와 스토리를 정리하자
- 경험에서 나온 실물을 기반으로 실력을 상승시키자

왜 이것을 제작하려 하는 가?

일정

  • 마감: 2023-02-28
  • 갱신: 2023-02-10

3줄 로드맵

  1. 기초 구조 제작: App → Lobby → Stage → Play → Stage or Lobby 반복
  2. 3-Match 퍼즐 맵 메이커를 제작한다.
  3. 3-Match 로직을 제작한다.

실행하기 전 참고사항

  • 3-Match는 사각 타일로 제작한다.
    • 가장 기본, 특수 블록 없음
    • 10x10 한계지만 늘릴 수 있게 처리
  • 아이콘은 고철로 통일한다.
  • <차라시 프로젝트: Live with Seoul>의 컨셉을 그대로 사용한다.

실행

  1. 기초 구조 제작: App → Lobby → Stage → Puzzle → Stage or Lobby or Puzzle 반복
    • 명명 규칙 리스트 제작
      • Roslyn Analyzer 사용법 정리
    • App 제작
    • ManagerScene 제작
    • 각 Scene 제작
      • 각 Scene 스크립트 제작
        • Lobby
        • Stage
        • Puzzle
      • App 제외 각 Scene에서 버튼을 통해서 씬 이동 처리
        • UIContainer 제작
        • Puzzle만 예외 처리
    • ManagerGame 제작
      • Win, Lose 이벤트 제작
        • Puzzle 시작 시에 무작위로 Win 혹은 Lose 이벤트 시작
  2. 3-Match 퍼즐 맵 메이커를 제작한다.
  3. 3-Match 로직을 제작한다.

'Road To 2024' 카테고리의 다른 글

5. My Adventure  (0) 2023.02.20
4. 차라시 유니버스 로드맵  (0) 2023.02.20
[완료] 3. 이론 카드 제작  (0) 2023.02.11
[완료] 1. 블로그 내 이론 리스트 배너 제작  (0) 2023.02.10
블로그 이미지

RIsN

,

5줄 요약

  • 프로그래밍에서 사용되는 메모리는 크게 스택(stack)과 힙(heap)으로 나뉩니다.
  • 스택은 지역 변수와 매개변수와 같은 작은 크기의 데이터를 저장하는 데 사용되며, 스택 메모리는 후입선출(LIFO) 방식으로 동작합니다.
  • 스택 메모리는 함수가 호출될 때마다 스택 프레임(Stack Frame)이 만들어지며, 이 프레임에 지역 변수와 매개변수가 저장됩니다. 함수가 종료되면 해당 프레임은 스택에서 제거됩니다.
  • 힙 메모리는 프로그램에서 동적으로 할당된 데이터를 저장하는 데 사용되며 전역 변수와 지역 변수와는 달리, 프로그램 실행 중에 크기가 변경될 수 있으며, 스택과는 달리 임의의 순서로 접근할 수 있습니다.
  • 또한, 프로그램 코드는 실행 파일의 데이터 섹션에 저장 되며, 프로그램의 명령어와 상수 데이터가 저장됩니다.

경험

  • 프로그래밍 최적화에 기본적으로 중요한 것이라 무조건 기억해야 합니다.

블로그 이미지

RIsN

,

5줄 요약

  • 다형성(Polymorphism)은 객체지향 프로그래밍에서 객체들이 동일한 인터페이스를 사용하면서 다른 구현을 가질 수 있는 능력을 말합니다.
  • 부모 클래스에서 파생된 자식 클래스는 부모 클래스의 메서드를 오버라이딩(Overriding)하여 자식 클래스에서 다른 구현을 제공할 수 있습니다.
  • 또한, 인터페이스를 구현하는 클래스들은 같은 인터페이스를 사용하면서 서로 다른 구현을 제공할 수 있습니다.
  • 다형성은 코드의 재사용성과 유지보수성을 높이는데 중요한 역할을 합니다.
  • 예를 들어, 같은 인터페이스를 구현하는 다른 클래스들은 동일한 메서드 호출로 다른 동작을 수행할 수 있으므로, 코드 중복을 방지하고 개발 시간과 비용을 절약할 수 있습니다.

경험

  • 뭔지도 모르고 정말 많이 썼습니다.

블로그 이미지

RIsN

,

5줄 요약

  • 상속(Inheritance)은 객체지향 프로그래밍에서 객체 간의 관계를 구현하는 방법 중 하나입니다.
  • 상속은 이미 정의된 클래스(상위 클래스 또는 부모 클래스)를 기반으로 새로운 클래스(하위 클래스 또는 자식 클래스)를 생성하는 것을 말합니다.
  • 이를 통해 상위 클래스의 속성과 메서드를 하위 클래스에서 상속받아 재사용할 수 있으며, 이를 기반으로 하위 클래스에서 추가적인 기능을 확장하거나 수정할 수 있습니다.
  • 이미 정의된 클래스를 기반으로 새로운 클래스를 생성하면, 코드를 중복 작성하지 않아도 되므로 개발 시간과 비용을 절약할 수 있습니다.
  • 또한, 상속을 통해 코드를 일관성 있게 유지할 수 있고, 수정이 필요한 경우, 하위 클래스에서만 수정하면 되므로 유지보수성이 높아집니다.

경험

  • Unity에서는 Character와 Skill 등을 사용할 때 많이 사용했습니다.
  • Scene마다 동일하게 쓰는 것을 가져오기 위해 해당 부분을 많이 사용했습니다.

 
 

 

 

블로그 이미지

RIsN

,

5줄 요약

  • 캡슐화(Encapsulation)는 객체지향 프로그래밍에서 객체의 상태와 행위를 하나로 묶고, 외부에서 직접 접근하지 못하도록 차단하는 것을 말합니다.
  • 이를 통해 객체의 상태를 숨기고 보호함으로써, 외부에서 객체의 상태를 무분별하게 변경하는 것을 방지하고, 객체의 일관성을 유지할 수 있습니다.
  • 캡슐화를 구현하는 가장 대표적인 방법은 정보 은닉(Information Hiding)입니다.
  • 정보 은닉은 객체의 내부 상태를 외부에서 접근할 수 없도록 private 등의 접근 제한자를 이용하여 제한하고, 외부에서는 제공되는 public 인터페이스를 통해 객체의 상태를 조작하도록 합니다.
  • 캡슐화는 소프트웨어 개발에서 유지보수성과 재사용성을 높이고, 객체 간의 결합도를 낮추는 데 중요한 개념 중 하나입니다.

추가 내용

경험

블로그 이미지

RIsN

,

5줄 요약

  • 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 소프트웨어 개발 패러다임 중 하나로, 현실 세계의 객체를 소프트웨어 객체로 모델링하여 소프트웨어를 개발하는 방법입니다.
  • 객체는 데이터와 그 데이터를 조작하는 메서드로 이루어져 있으며, 소프트웨어 개발에서는 이러한 객체를 생성하여 조합하여 프로그램을 만듭니다.
  • 객체지향 프로그래밍에서는 상속, 다형성, 캡슐화와 같은 개념을 사용하여 코드의 재사용성과 유지보수성을 높이고, 복잡한 문제를 해결하는 데 유용합니다.
  • 또한, 객체의 상태 변경과 관련된 동작들은 객체 내부에 캡슐화되어 있으므로, 프로그램의 안정성과 보안성도 높일 수 있습니다.
  • 자바(Java), C++, 파이썬(Python)과 같은 프로그래밍 언어는 객체지향 프로그래밍을 지원하는 언어입니다.

추가 내용

경험

  • 면접에서 물어봤는데 제대로 대답 못했습니다.

블로그 이미지

RIsN

,
Road to 2024

나는 우주에 갈 정도로 충분한가
대천명을 기다릴만큼 진인사 하였는가?

- 이론을 정리하자
- 구조와 스토리를 정리하자
- 경험에서 나온 실물을 기반으로 실력을 상승시키자

왜 이것을 제작하려 하는 가?

  • 내가 이론을 꾸준히 찾아볼 수 있도록 하기 위해
  • 누군가 다른 사람도 이런 게 필요하지 않을까?
  • 셀프 브랜딩

마감 일정

  • 2023-02-10

3줄 로드맵

  1. 블로그에서 이론 리스트인 노션으로 올 수 있는 배너를 제작한다.
  2. 노션에 리스트를 제작한다.
  3. 해당 리스트 배너와 노션을 연결한다.

실행하기 전 참고사항

  • 블로그는 조회수를 보기 위한, 거의 없을지도 모르지만 피드백이 올 가능성이 높은 창구로 이해하고 있다. 추가로 광고 수익이 나올 수도 있는 구조이기에 리스트만 삽입 삭제가 편한 노션을 활용하고, 실제 글은 블로그에 작성한다.
    • 리스트에 추가할 것
      • 노션은 검색 사이트에서 검색이 되는가?
      • 노션은 광고 수익을 얻을 수 있는가?
  • 카테고리 만들 것

실행

  1. 블로그에서 이론 리스트인 노션으로 올 수 있는 배너를 제작한다.
    • 배너 제작
      • 사이즈: 가로 300px 세로 150px 72dpi
        • 리스트에 추가
          • 픽셀이란?
          • dpi란?
      • 글: 프로그래머의 이론 리스트
        • 폰트: 도현체
      • 사용 프로그램: Clip Studio Paint
        • 리스트에 추가
          • Clip Studio Paint란?
    • 배너 업로드 및 해당 링크를 토대로 블로그에 배치
    • 배너
  2. 노션에 리스트를 제작한다.
    • 제목: 프로그래머의 이론 리스트
  3. 해당 리스트 배너와 노션을 연결한다.
    • 하이퍼텍스트 사용

'Road To 2024' 카테고리의 다른 글

5. My Adventure  (0) 2023.02.20
4. 차라시 유니버스 로드맵  (0) 2023.02.20
[완료] 3. 이론 카드 제작  (0) 2023.02.11
2. 차라시 프로젝트: 퍼즐  (0) 2023.02.10
블로그 이미지

RIsN

,

목표를 쓰게 된 계기: 실패 + 자기성찰

목표의 정의 규칙

  • 나는 우주에 갈 정도로 충분한가, 자문자답
  • 진인사대천명 중 진인사를 제대로 하고 있는가?

목표

  • 이론을 정리하자
    • 이유: 실용만 충실해도 협업이 된다는 상상에 빠지는 순간 난 결국 끝이다.
    • 내가 하는 것에 대해 제대로 알고 시작한다.
    • 해당에 대해서 설명할 수 있는 글을 블로그에 써 놓는다.
      • 자세한 것 외에 간단히 최대 5줄로 설명 가능하도록 한다.
    • 해당을 돌아볼 수 있도록 시험처럼 매주 무작위로 몇 가지를 띄워서 해당을 주간식으로 확인한다.
      • 간단히 할 수 있는 웹 사이트를 제작하자.
        • Ex) Road to Creator
  • 구조와 스토리를 정리하자
    • 이유: 동일한 상황에서 2번 실패하지 않는다.
    • 지금 하고 있는 것에서 제대로 정리, 내가 무엇을 했는 지 정리한다.
      • 제대로 기억이 나지 않는다고 적당히 이해한 것을 지어내지 않는다.
      • 나는 미숙하다는 것을 인정한다.
    • 일지를 쓰듯이 해당 구조 중 문제 발생과 해결에 대해서 간결히 정리한다.
      • 문제가 발생한 경우 원인에 대해서도 제대로 성찰한다.
  • 경험에서 나온 실물을 기반으로 실력을 상승시키자
    • 이유: 내가 살면서 실패한 것 또한 내 경험이다, 그것을 감정과 기억으로만 가지고 있는 것은 너무 아깝다.
    • 빠르게 정리하고, 빠르게 만들어서 볼품 없더라도 사람들에게 공개한다.

'_Diary' 카테고리의 다른 글

[SH PROJECT 개발일지] 2022-05-25  (0) 2022.05.26
2022년 키워드  (0) 2022.01.01
개발자 일지 2021-07-25  (0) 2021.07.25
블로그 이미지

RIsN

,

문제: Cinemachine을 사용할 때 Virtual Camera를 캐릭터에서 오브젝트(모닥불)로 변경할 때 흔들림이 발생

  • 원인
    • Follow와 LookAt에 오브젝트를 넣을 때 해당 카메라가 따라가고, 바라보며 흔들리는 현상
  • 제약 및 현 상황
    • 한 번만 발생
    • Follow와 LookAt 둘 다 써야 조금 더 보기 좋은 상황, 즉, 둘 다 써야 함
    • Delay를 넣으면 미묘하게 느낌이 안 좋음
  • 해결
    • Follow와 LookAt을 따로 메소드로 변경
    • 우선도를 바꾸기 전에 전 단계(현재 케이스는 설치 결정 팝업 화면)에서 이미 해당 메소드를 실행
      • (기존 변경) 현재 Instantiate될 오브젝트를 카메라가 따라가고 있는데, 좌표 타일 자체를 따라가도록 변경
  • 추가
    • 오브젝트가 움직일 때(위치가 바뀔 때) Follow와 LookAt도 그대로 놔둔 채로 움직이면 흔들림이 발생
      • 어차피 방향이 정해졌다면 Follow만 처리해서 위치 변경
블로그 이미지

RIsN

,

목표: 설치할 때 해당 오브젝트가 투명으로 보이도록 하는 처리

  • 아래와 같이 Unlit에서 Transparent를 사용 후 투명도 변경

블로그 이미지

RIsN

,