목차
※ 역기획서 : 이미 만들어진 게임을 보고 기획서를 써보는 것
--> 역기획서를 만들라는 게 아니라 다른 게임에 있는 게임 화면의 구성을 참고해야 한다.
※ 개인 프로젝트를 할 때 Readme.md 파일을 잘 꾸며놓는게 좋다.
※ 개인적으로 강사님이 추천하는 Git에 적응하는 순서
1. 혼자서 커밋해보기
2. 깃허브에 커밋 푸쉬 해보기
3. 여러 사람과 작업해보기
프로젝트 관리
25.01.20
Figma와 Confluence, 그리고 Jira 연동
1. Figma에서 만든 화면을 복사
--> PNG도 괜찮음
2. Confluence에서 원하는 곳에 붙여넣기
3. 바로 Jira에 연동되도록 이슈 만들기
--> 담당자 : 정해졌으면 할당, 아니면 안 해도 됨
--> 레이블 : 작업을 식별할 수 있는 데이터 넣기 ex) 개발, 디자인, 사운드
--> 카드형태가 미리보기 좋음
※ 바로 연동되어 이슈가 만들어진 모습
객체지향 프로그래밍
객체지향 프로그래밍
: 프로그래밍은 다른 기능을 가진 클래스를 만드는 과정
- 클래스는 특정 기능을 가진 객체를 만들기 위한 객체의 설계도 --> 클래스는 멤버 변수와 메서드로 구성
- 하나의 설계도로 같은 모습을 가진 여러 객체를 제작 가능 --> 같은 설계도로 만들어진 객체라도 각각 다른 객체
- 객체는 메모리에 만들어진 요소
- 게임을 만드는 과정은 개발할 내용을 기능별로 분류해 클래스를 정의하고 해당 기능이 필요한 시점에 클래스를 이용해 객체를 생성시켜 동작 시키는 과정
UML (Unified Modeling Language)
: 통합 모델링 언어 --> 코딩에 앞서 표준화된 방법으로 소프트웨어를 설계하고 토론하기 위한 용도
종류
- 유스케이스 다이어그램
- 시퀀스 다이어그램
- 클래스 다이어그램
- 액티비티 다이어그램
- 상태 다이어그램
- 컴포넌트 다이어그램
클래스 다이어그램
: 클래스를 설계할 때 사용하는 UML 다이어그램
- 클래스의 멤버와 메서드 정의
- 클래스와 클래스의 관계 정의
- 클래스의 상속 관계 정의
--> 멤버명: 자료형
--> 메서드명(매개변수): 리턴타입
>> 관계도
연관 관계
: 객체간의 개념적 연관 관계 정의 --> 다중성의 표현
집합 관계
: 각 객체는 독립성과 연관성을 가짐 --> 집합 관계를 통해 객체의 기능 확장
※ 일반적인 연관 관계와 유사
--> 속이 빈 네모난 화살표
복합 관계
: 객체에서 다른 객체를 이용해 추가적인 동작을 구현
--> 복합 관계를 가진 객체는 주 객체에 의해 생성되는 형태
--> 속이 꽉 찬 네모난 화살표
일반화 관계
: 객체의 상속 관계 --> 자식 클래스는 부모 클래스의 한 종류
--> 속이 빈 화살표
>> Confluence에 다이어그램을 작성하기
1. 다이어그램을 그려주는 앱 추가
--> Gliffy 추가 / draw.io도 많이 쓰임
2. 페이지에서 Gliffy 사용
※ 다이어그램이 그려진 모습
※ 내가 작성해본 다이어그램
소스 관리
소스 관리
: 프로젝트의 변경 사항을 체계적으로 관리하는 것이 목적
- 여러 사람이 함께 하나의 프로젝트 작업 진행
- 동일한 영역에 여러 사람이 동시에 수정했을 경우 최종본 결정
- 변경 사항에 대한 팀원들의 리뷰
- 변경 사항에 대한 통합
- 완성된 내용에 대한 배포
- 소스 코드 외에도 문서, 이미지, 사운드 파일 등 관리 가능
버전 관리 시스템 종류
- Git : 분산 버전 관리 시스템 --> Github, Bitbucket, Gitlab
- PlasticSCM : 중앙 버전 관리 시스템 --> 게임 개발에 특화된 버전 관리 시스템
- Mercurial
- Perforce
- Subversion (SVN)
분산 버전 관리 시스템
: 로컬에서 소스 관리가 가능하며 필요에 따라 소스를 병합하는 형태
- 중앙 시스템이 없어 인터넷, 중앙 시스템 환경과 무관하게 개발 가능
- 중앙 시스템이 없어 전체 최종본을 받기 위해서는 전체 개발자들의 통합 과정 필요
- 전체 통합을 위해 별도의 중앙 관리 시스템 운영
중앙 버전 관리 시스템
: 모든 소스를 중앙 시스템을 통해 관리하는 시스템
- 중앙에 최종 소스를 관리하는 방식이라 관리가 용이하다.
- 중앙 시스템이 동작하지 않으면 소스 동기화, 통합, 저장 등을 할 수 없는 단점이 존재한다.
Git을 이용한 소스 관리
: Git, Github Desktop, Visual Studio Code 설치
Git 명령어
- pwd : 현재 git bash로 위치한 곳 표시해주는 명령어
- ls : 현재 위치에서 접근 가능한 파일이나 폴더가 모두 나오는 명령어 (list의 줄임말)
- cd 경로 : Directory를 변경하는 명령어 (Change Directory의 줄임말)
- ls -al : 현재 위치의 숨겨진 파일까지 모두 표시해주는 명령어
- git init : git으로 소스 관리를 시작하는 명령어
- remote add origin 주소 : 작성한 repository주소를 origin이라는 이름으로 github(원격저장소)에다가 연동
- rm -rf 파일(폴더) : Git에서 관리하는 파일 삭제
개인 프로젝트 관리
방법 1. 로컬에 있는 폴더를 Git으로 init 하고 Github와 연동
>> Visual Studio Code에서 폴더 열기
>> Git Bash로 폴더 관리 시작
>> Visual Studio Code에서 Git Add 및 Commit
>> Github에 Repository 생성해서 Git 연동
: repository 생성한 뒤 나오는 명령어 git bash로 실행
>> Readme.md 추가 --> 프로젝트의 설명문을 담는 파일
※ md : txt와 거의 같은데, 마크다운 문법을 지원함 --> 사진에선 # 이 마크다운 문법
--> Push와 Pull을 같이 하는..? (아마 Github에 올라간 것과 로컬을 동기화하는 듯하다)
--> 추가된 모습
방법 2. Github에서 repository를 만들고 Clone하기
>> 새 repository 생성
: README file을 생성해야 한다.
>> Github Desktop으로 Clone
--> 이후 Clone할 repository 선택하고, 경로 선택 후 Clone
>> Visual Studio Code에서 파일 추가 및 Push
다른 사람과 같이 Git 다루기 (소스 파일 주고 받기)
: 팀의 대표 1명만 Github에 새로 Repository 추가 후, Repository에 멤버 초대하기
--> 이메일이나 username을 받아서 추가
'Development > C#' 카테고리의 다른 글
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 43일차 (0) | 2025.01.22 |
---|---|
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 42일차 (0) | 2025.01.21 |
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 40일차 (0) | 2025.01.17 |
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 39일차 (1) | 2025.01.16 |
멋쟁이사자처럼부트캠프 Unity 게임 개발 3기 38일차 (1) | 2025.01.15 |