이래저래 잉여짓을 하다 다시 돌아왔다. 벡터 부분을 추가했는데, 물리쪽은 젬병이라 이게 뭔 개소린지 이해하는 데 한참 오래 걸리는 것 같다. 선형대수 할 때 비슷한 걸 하긴 했는데 말이지.....?.... 아무튼 그거와 별개로도 간단한 문제에 많이 막혔다. 진짜 치X가 오나... 코뼈가 심하게 휜 사람은 뇌에 산소가 부족해서 기억력이 약해진다던데 레알인 것 같다. 내가 이정도로 멍청할 리 없다.ㅠㅠ
오늘 한 것들
- 벡터 클래스 연산자 오버로딩(은 사실 오늘 처음 해봤다...... 편하고 좋은듯)
- 가속도 부분 추가
- 뜬금없는 컴파일 오류 해결
- 사용할 수 있는 기본 생성자가 없습니다. 라는 문구와 함께 컴파일이 안됨.
- 컴파일이 잘 되던 코드였음. 객체를 하나 더 만드니 컴파일이 안되기 시작.
- 원인 -> 걍 말 그대로 기본 생성자가 없었음........ Class(){} 식으로 추가하니 해결 됨(당연하게도). 민망해.
- fixed frame per second 추가. 생각보다 되게 루틴이 단순했다.
- 보통 딜레이 함수는 ms단위로 있음. 1초는 1000ms. 보통 게임은 60FPS로 동작함. 그럼 우리가 해야할 일은->"1초에 60번 갱신하도록 한다"
- 상수를 만든다. 단순히 1000 / FPS값이면 된다. 얘를 DELAY_TIME이라고 부른다 치자.
- 게임 내 루프는 대체로 event, update, render 순임. 루프의 시작에는 현재 경과 ms값을 몇몇 함수를 이용해 받아오고(SDL에서는 SDL_GetTicks()를 쓰면 됨), 끝에는 끝난 시점 기준 ms값에서 시작ms값을 뺀 값을 가져온다. 얘를 frameTime이라고 치자.
- 루프 끝자락에 DELAY_TIME보다 frameTime이 작은 경우 DELAY_TIME - frameTime 만큼 대기하는 코드를 넣어주면 된다.
- InputHandler 추가. 이름은 핸들러인데 정작 싱글톤이다. 아니면 원래 핸들러=싱글톤인건가. 지금까지 싱글톤을 굉장히 많이 쓴 느낌이다.?
2일차 때와 비교해서 겉으로 크게 두드러지는 차이점은 없으므로 스샷은 생략.
이제 점점 이동 파트에 들어갈 것 같다! 개인적으로 횡스크롤은 조작감을 많이 따지는데, 특유의 부드러운 가속 움직임은 은근히 만들기 힘든 것 같다. 상용 게임도 조작감이 굉장히 나쁜 경우를 많이 보았기도 하고. 생각해보면 슈퍼마리오는 그런 장르의 시초격임에도 불구하고 독보적인 정석이 아닌가 싶다.
'프로젝트 일지 > 게임 프로그래밍' 카테고리의 다른 글
심심풀이 습작 - 5일차 (0) | 2015.10.09 |
---|---|
심심풀이 습작 - 4일차 (0) | 2015.10.09 |
심심풀이 습작 - 2일차 (0) | 2015.09.25 |
심심풀이 습작 - 1일차 (0) | 2015.09.24 |
[프로젝트 일지] SDL을 이용한 디펜스 류 게임 만들기 (0) | 2014.11.13 |