본문 바로가기

유니티 스파르타 캠프 3주차

25-04-21 드디어 팀프로젝트 시작!

🔴 오늘의 내용  .

  1. 튜터 님의 강의(문자열, Github)  .
  2. 팀 프로젝트 진행 .
  3. 후기 및 내일 일정  .

 

1. 튜터 님들의 강의(문자열과 Github 특강 2주차)

  • 문자열을 다룰 때 좋은 기능 (실용적인 것만 정리)
  • Github를 활용한 팀 프로젝트 방법 및 팁

 

1. 1. 문자열을 다룰 때 좋은 기능 (실용적인 것만 정리)

메서드/속성 설명 예시
Trim() / TrimStart() / TrimEnd() 앞뒤 공백 제거 "제이".Trim() -> "제이"
Substring() 문자열 자르기 "홍길동".Substring(0, 2) -> "홍길"
Split() 구분자 기준 나누기 "exp+30".split('+')
Contains() 포함 여부 검사 "공격 슬라임".Contains("공격");
IndexOf() / LastIndexOf() 문자 위치 찾기 "log:item:효과".LastIndexOf(':')
Replace() / Remove() 문자열 바꾸기 / 제거 "전사_제이".Remove(0, 3)
PadRight() 오른쪽 공백 추가 "HP".PadRight(5)
$("{ }");  문자열 보간 $("{ a }"); a = 5일 경우, 5를 출력
{playerName, -5} 정렬 지정 (왼쪽, 오른쪽) Console.WriteLine {playerName, -5}
= |     playername|  //앞에 글자 띄움

 

1. 2. Github을 활용한 팀 프로젝트 방법 및 팁

 1. Github에서 Public으로 Repositories를 만든다.
 2. Setting - Collaboration에서 이메일이나 이름으로 사람을 초대한다.
 3. Main을 기반으로 Branch를 만든다.
 4. Branch에서 Class를 따로 만들어서 작성하면 오류가 적다.
 5. 공용 클래스를 만들 때는 말하고 만든다.
 6. Commit할 때 최대한 자세한 내용을 포함한다.

 

2. 팀 프로젝트 진행

스파르타 본 캠프에 들어온 지 3주차가 되는 첫 날, 10시 발제로 팀 프로젝트를 받게 되었습니다. 
프로젝트 진행하기 앞서 기획을 하자고 했었는데, 처음이었기에 기획을 조금 갈피를 못잡고 작성하는데 시간이 걸렸습니다. 하지만 서로 의견을 모으니 처음 제작해서 잘 만든건진 모르겠지만 괜찮은 틀을 만들 수 있었습니다. 기획을 더 하기에는 기초 지식이 없는지라 가벼운 파트만 나누고 작업을 하기 시작했는데 팀프로젝트라서 그런지 다들 의견도 많이 교류하고 말을 많이 해서 좋았습니다. 오늘은 코드적으로 진행된 부분이 별로 없어서 기획적인 부분을 어떤식으로 진행했는지 올려보겠습니다.
 

더보기
  1. 게임시작 화면 1.
  2. 상태보기 { Player } 1.
  3. 전투시작 { Player, Monster } 1.
  4. 공격, Enemy Phase, 전투 결과 1.
  5. 캐릭터 생성 { Player }
  6. 직업 선택 { Player, Job }

Player ←<job: 능력치, 아이템, 스킬>

  1. 치명타 기능 { Player }
  2. 회피 기능 { Player }
  3. 스킬 기능 { Player, Skill }
  4. 레벨업 기능 { Player }
  5. 보상 추가 { Player, Monster }
  6. 퀘스트 기능 { Quest }
  7. 퀘스트 선택과 완료 { Player, Quest }
  8. 콘솔 꾸미기 { Console.Color }
  9. 몬스터 종류 추가해보기 { Monster }
  10. 아이템 적용 { Item }
  11. 회복 아이템 { Item }
  12. 스테이지 추가 { Dungeon, Monster }
  13. 게임 저장 { }
  14. 나만의 기능 { ? }

아이템, 스킬{ }, 플레이어, 직업{ }, 퀘스트, 몬스터 { }, 던전

게임 로직 { loadItemData, loadJobData }

플레이어 { 아이템, 스킬, 직업 }

상점 { 아이템, 스킬 }

퀘스트

Json Serialize (gameLogic)

위와 같이 각 기능을 클래스로 나눠서 작업 후 브런치에 올리고 추후에 묶을 수 있는 기능들을 다 만들면 묶기로 했습니다. 여기에서 처음부터 주로 쓰이는 공용 클래스, Player와 Monster는 초기에 제작하고 시작하였습니다. 덕분에 player와 Monster는 별로 수정할 일 없이 코드를 작성하였고 아직까지 문제 없이 진행 중입니다. 오늘 추가로 와이어프레임을 제작한 팀이 있어서 와이어프레임을 볼 기회가 있었고 내일 팀원들에게 오전에 와이어프레임 내용을 공유하면 또 좋은 의견을 얻을 수 있을 거 같습니다.

 

3. 후기 및 내일 일정

오늘은 처음으로 팀 프로젝트를 진행했습니다. 의견을 내줄 때마다 긍정적인 반응을 주셔서 좋았습니다. 외에도 아쉬웠던 부분을 매꿔주는 의견도 주시고 팀 프로젝트를 하는 이유를 느낄 수 있었습니다. 현재 초기 기획을 깔끔하게 작성할 수 있었기에 각자 작업을 하며 다양한 궁리를 하는 것이 좋았고, 내일은 각자 진행중인 코드를 보고 검토하는 시간을 가지기로 하여 기대가 됩니다.

내일은 초기에 코드를 점검하면서 서로 보안점을 찾는 것을 기대하고 있고 이후에 추가 작업을 할 거 같습니다.