바바이즈유 개발 일지
24.04.19
할 일
-
STOP 목적어 만들자
- 어제 해놓고갔네?ㅋㅋ
- WALL IS STOP 했더니 WALLTEXT도 STOP이 됨
- Info에 MyObjectiveType말고 연결된 텍스트의 목적어를 저장하는 TextObjective를 추가해서 구분해서 씀.
-
FLAG, FLAGTEXT, WIN 리소스 추가
-
FLAGTEXT
-
FLAG 플레이어
-
WIN TEXT
-
flag 애니메이션 on으로해놨다고해도 OFF로바껴있어야하지않나
- 시작할때 AniOnOff함수 실행하면 되니까 ㄱㅊ
-
GUI로 맵찍는거
- 버튼으로 액터 선택할 수 있게하고, 화면 인덱스 위치가져와서 그 인덱스위치에 생성되게하면되나?
- 걔를 어캐 저장해야하지? 이미지가 아닌디
- [오브젝트 종류 - 오브젝트 인덱스 위치] 가지는 맵 정보를 저장하고 맵 불러올 때 파일읽어서 불러오는걸로?
- 나중에
이펙트 나중에 하고싶다
- 문장 완성되거나 깨질 때 이펙트
- 바바 이동할 때 이펙트
- flag is win하면 깃발에 반짝이같은 이펙트
24.04.22
오늘 목표
- 03 스테이지 캡처

- WIN이랑 DEFEAT 대충 OK
- 게임 끝을 만들면 YOU가 한개도없을때 끝나는 것도 가능 OK
- PUSH, SINK, WATER, ROCK
- 게임모드에 오브젝트 자동으로 생성하는 함수 만들자… OK
기록
-
게임모드에 오브젝트 자동으로 생성하는 함수
-
Win, Defeat인 곳에 YOU가 간걸 언제검사해야하지?
-
MyObjectiveType이 YOU인 애가 MyObjectiveType이 DEFEAT인 애를 만나면 죽어야 함. 근데 둘다 PlayerObject임.
-
파괴상태를 어디에만들어야되지? 텍스트도 파괴될 수 있으니까 Object에 넣어야할것같ㅊ은데 애니메이션 설정을 어캐해야하징?
-
DEFEAT속성인 애한테 올라간 YOU속성 개체 죽음. 롤백하면 살아나야함.
-
SINK는 YOU속성 개체 죽지만 자기도 파괴됨.
-
생각해보니까 Stack에 얘네가 죽는지 마는지도 넣어야할듯!? ⇒ 아니다.. Defeat상태나 Sink상태면 안보이게 하는거로만 해도 되나? 아 그것도 바꿔줘야하는구나..
- 모든 오브젝트 파괴여부 Stack을 들고있는 것도 나쁘지 않을듯함. 이유는 텍스트 타일을 파괴시키면서 깨는 경우도 있고, Player오브젝트들도 모두 가능.
짜잔

24.04.22 수업낙서
1000개 원소 중 find탐색을 할 때 vector vs map?
직접 실행해보면 1000개따리 했을때 벡터가 항상 빠름. 한 만개이상부터나 map이 더 빠르다.
이론상 map이 빨라야하는데… 왜?
1000개중에 999번째를 찾을 경우 vector에게는 최악의 상황인데도 벡터가 더 빨랐음.
- 우리 눈에 보이는 코드는 진짜 코드가 아님. 어셈블리로 된 게 진짜 코드임. 어셈블리 코드가 실제 연산량을 보기 가장 쉬운 방법이다. ⇒ 이게 소프트웨어적인 이유이다.
소프트웨어적으로는 맵의 코드가 더 빠른 게 맞다. 찾으러 들어가는 횟수만 생각하면 map이 빠르다. 소프트웨어적인 설계빼문에 맵이 느렸던 걸까? 아님. map이 더 이성적인게 맞다.
==보다 >연산이 더 빠름. ==는 비트 끝까지 가서 확인함, >는 1이먼저나오는 곳이 큰거임. 벡터가 느려야함..
- 하드웨어적 이유
⇒
캐시는 연산을 하기 전에(cpu에 보내기 전에) 보관을 해놓는 위치. CPU는 같다(=)를 가지고 있음. 연산자의 왼쪽과 오른쪽을 채우기 위해서 RAM에 있는 값을 바로 CPU로 가져오는 개념이 아님. Ram에서 캐시로, 캐시에서 CPU로 보내는 개념이다.
근데 캐시로 옮길 때 값만 옮기는 게 아니고 특정 지역을 통째로 뜯어서 가져온다. 캐시의 크기에 따라 달라진다.
예를 들어 1과 3을 비교해야할 때 가져온 값 중에 1을 왼쪽값으로서 CPU에 넘긴다. 그리고 내부에서 오른쪽 값인 3이 있는지 찾아본다. 없으면 기존 캐시데이터를 지우고 3이 있는 부분을 또 가져와야 함.
cpu가 요구하는 값을 한 번에 가져오는 것을 적중률이라고 한다. 캐시 적중률이 높을수록 당연히 빠르다.
한마디로 캐시히트가 벡터가 더 잘되는 차이네.!
- int v1 = ++a;
int v2 = a++;
둘 중에 ++a가 더 빠름.