[TIL] 53 강의 디버깅(CodeCoverage), 게임개발TIP, 팀프로젝트 수정 ⭐⭐⭐
카테고리: Til
Debugging
,CodeCoverage
Debugging
[o] 알고리즘 문제 - 52
[o] 다른반 강의 듣기
[x] 심화주차 강의 듣기.
디버깅(Debugging), CodeCoverage
패키지 Code Coverage ->
enable Code Coverage
assemblies -> c#
녹화버튼 누르고 실행하면 - 분석
- included Paths 에 검사 할 cs
- Report Option에 검사하고싶은 항목 체크
게임개발 Tip 20
1. 가능한 빨리 주요한 게임의 요소를 기반으로 프로토타입
을 만들어라.
2. 점진적으로 게임을 구축
, 큰 디자인 문서를 만들지 마라.
3. 만들어 가면서 강점은 더 강하
게, 약점은 잘라내라.
4. 예상치 못한 것에도 열린 마음을 가지고 우연을 활용하라.
5. 플레이어는 항상 목표가 있음을 명심
하라. 목표가 무엇인지 알고 있어야한다.
6. 목표에 가까워지는지 알 수 있도록
피드백 제공.
7. 때로는 값싼 트릭이 비싼 기술보다 낫다. (선택).
8. 처음 플레이순간 기대보다 재미없어도 놀라지 마라.
9. 비판적 의견을 수용
하라. 그것은 항상 옳으며 어떤 방식으로든 해결
해라.
10. 원래의 목표을 신성시 하지 말라
. 그것은 대략적인 초안이다.
11. 얼만큼 잘라내도, 더 일찍 잘라 냈어야 했다고 생각할 것이다.
12. 큰 변화를 고려하는 것을 두려워 하지 마라
.
13. 모든순간 영감을 얻어라
14. 한걸음 물러나서 전체 그림을 보는
개인적 습관을 개발하라.
15. 모니터에서만 하지 말고 종이로도 작업
하라.
16. 제약은 당신의 친구
이다. (제약은 창의성을 찾게 하고, 더 멋진 해결책을 찾도록 강요한다.)
17. 게임의 핵심이 무엇인지 발견
하면 전부 재구성하고 투자하라.
18. 자부심은 옆으로 내려두라
.
19. 개발일지
를 기록하라.
20. 무엇이 대박 날지 아무도 모른다
.
리소스 관리
ACC0001 악세사리 설명
ACC0002 악세사리 설명
Resources.Load(“/Texture/Acc/ACC0001);
리소스의 이름을 팀원과 정한 이름으로 맞추어서 관리.
빌더
빌더 패턴은 객체의 초기화를 체계적으로 하도록 도와주는 패턴
탐색방법
깊이 우선(DFS)
Depth-First Search
class Graph
{
int[,] adj = new int[6, 6]
{
{ 0, 1, 0, 1, 0, 0},
{ 1, 0, 1, 1, 0, 0},
{ 0, 1, 0, 0, 0, 0},
{ 1, 1, 0, 0, 1, 0},
{ 0, 0, 0, 1, 0, 1},
{ 0, 0, 0, 0, 1, 0},
};
bool[] visited = new bool[6];
//1) now부터 방문
//2) now와 연결된 정점들을 하나씩 확인해서 [아직 미방문 상태라면]방문
public void DFS(int now)
{
Console.WriteLine(now);
visited[now] = true; //1) now부터 방문
for (int next = 0; next < 6; next++)
{
if (adj[now, next] == 0)//연결된 정점이라면 스킵
continue;
if (visited[next])//이미 방문한 곳이라면 스킵
continue;
DFS(next);
}
}
}
너비 우선(BFS)
Breadth-First Search
SoundManager mixer 수정
Slider 어떻게 쓸 지 수정, 움직이는벽 소리 추가. 상어 소리 추가.
public Slider _masterSlider;
public void SFXSoundVolume()
{
float masterSlider = _masterSlider.value;
Mixer.SetFloat("SFXVolume", masterSlider);
}
public void MasterVolume(Slider _masterSlider)
{
_soundValue = _masterSlider.value;
Mixer.SetFloat("Master", _soundValue);
}
깃털 이펙트 추가
ParticleSystem
PlayerController
private void Attack()
{
lastAttackTime += Time.deltaTime;
if (_isAttack && (lastAttackTime >= (1 / attackSpeed)))
{
GameObject chicken= Instantiate(chickenPrefab, chickenSpaawnPos.transform.position, Quaternion.identity);
ParticleEffectManager.Instance.Playfeather(chicken);
}
}
ParticleEffectManager
public void Playfeather(GameObject chicken)
{
StartCoroutine(feather(chicken));
}
IEnumerator feather(GameObject chicken)
{
int count = 0;
while (count<=3)
{
ParticleSystem FeaterEffect = Resources.Load<ParticleSystem>("FeaterEffect");
ParticleSystem particle = Instantiate(FeaterEffect, chicken.transform.position, Quaternion.identity);
particle.Play();
yield return new WaitForSeconds(0.3f);
count++;
}
}
잡담,정리
게임 기획 -> 처음기획 너무 크게x, 처음기획에 집착, 점진적으로 아이디어 추가
댓글남기기