제가 그동안 너무 "직접 혼자서" 개발하는것에만 열중했나 봅니다. 자바의 Graphics 객체가 있음에도 불구하고 이용하지 않았습니다.... 삼각형이나 이미지를 그리는 메소드를 Graphics 에 있는 메소드로 바꾸어 렌더링 하니 그 속도가 엄청나게 빨라졌습니다... 또한 불 엔티티를 위한 움직이는 이미지 또한 만들었습니다. 사실 메소드 바꾸기 전에(방금 얘기한 메소드!) 이 움직이는 이미지를 렌더링 해봤는데 속도가 24fps 가 나오더라구요.... 여튼 앞으로는 Graphics 를 자주 이용해야 겠습니다 :)
오늘 드디어 시야 가시 즉, 볼 수 없는 구역을 까맣게 하는 렌더링 코드를 완성했습니다! (와아아앙!!!!)대신에 렉이 아주 먹는군요. 이 부분을 렌더링 안할때는 300 fps 나오는데 렌더링 하면 25 fps 로 확 내려간다는 사실...ㅠㅠ알아보니, 볼 수 없는 구역을 찾은 후 그곳을 까만색으로 칠하는 메소드가 시간을 좀 잡아 먹더라구요. 그 메소드를 실행하는 부분만 빼면 한 100 fps 정도? 나오는것 같네요. 목표 fps 는 120 fps 정도인데 그정도면...그래도 렉이 걸리는 편이군요여튼 이 렌더링 코드는 게임 만들면서 일단 보류 하고 더 효율성 있게 계산 가능한 알고리즘이 나오면 그때 해보도록 해야겠습니다. 여튼 완성해 놓으니 기분이 좋군요!!!!!!!
이번에는 시야 가시 또는 빛 그림자 렌더링을 해보려고 합니다.사실 이 과정을 포기해야 할지 모르겠습니다.일단 왜냐하면 아래 영상에서 두가지 방법이 나와있는데 하나는 360 도 회전하면서 빛이 최종적으로 닿는 부분을 찾는 방법이 있고, 블럭의 꼭짓점을 기준으로 빛의 최종 지점을 찾는 방법 두가지가 있는데, 전자는 3000번 이상 해야(1도 2도 가 아닌 1.1도 1.2 도 이렇게 세세하게...) 완벽한 그림자 또는 시야를 찾을 수 있고 계속 반복문을 돌리므로 무식한 방법이라고 할 수 있고, 후자는 가장 완성적이었으나 찾아낸 점들을 삼각형으로 매꿔야 하는데 이 부분이 제일 어려웠습니다. 아래 영상에서 조금 어느정도 매워지는것 같으나, 불완전하고 제가 쓸때 없이 쓴 코드들 때문인지 렉이 먹습니다. 이 글을 보..
오늘은 플레이어를 움직여 보겠습니다!!!!!InputHandler 라는 클래스에서 입력에 대한 모든 정보를 받고, 그 정보를 가지고 플레이어의 움직임을 결정합니다!!!!! 여기서 감속도라는 변수가 있는데, 속도가 점점 줄어들도록 하는 코드에 쓰이는 변수임돠.감속도가 1.0 이라면, 마찰이 아에 없는 상태가 되버립니다.0.98 ~ 0.99 정도는 얼음처럼 미끄러워 보입니다 ㅋ0.92 ~ 0.95 정도가 적당한 것 같습니다. ( 오 오 점점 발전하고 있따 )( fps 를 타이틀바 쪽에 표시되도록 바꿈 )
이전에는 블럭 이미지의 크기를 8 * 8 로만 맟춰놓고 렌더링 해서 나중에 고해상도 이미지 변경시 코드 자체를 수정해야 하는 일이 생기므로 블럭이 가지고 있는 이미지를 화면 크기에 맞게 렌더링 하도록 하였고, 게임 내에서 단위를 통일하였습니다. 블럭과 블럭 사이의 간격을 1로 두고, 엔티티의 위치과 엔티티의 크기를 이에 맞춰 렌더링 하도록 하였습니다.이전에는 단위 자체를 생각 안해서 엔티티 렌더링시 그냥 픽셀 크기에 맞춰 렌더링 했습니다. 엔티티 추가는 정말 재밌습니다 :) 다만, 엔티티의 위치는 엔티티의 가장 왼쪽 위가 기준이므로 나중에 이것이 문제가 될지는 모르겠습니다. 단위 통일했으니 별 문제는 없으려냐? ... 여튼 동영상! ※ 개발 일지 마다 악뮤 노래가 들어가 있는데, 제가 동영상 촬영할때 맨..
이번에 자바로 게임 만들기를 해보려고 합니다.(시험이 다음주인데 포스팅 하고 있다니!!!!)며칠동안 프로젝트 생성후 게임 구동에 필요한 쓰레드, 프레임등을 세팅하고 나서 기본적인 게임 관련 클래스들과 렌더링을 위한 코드 알고리즘 짰습니다. 알고리즘은 100% 제가 짰습니다. 먼저, 이미지를 화면 크기에 맞게 렌더링 하도록 하는 알고리즘이 있고 다음으로는 맵 렌더링 입니다.이미지를 화면 크기에 맞게 렌더링 하는것은 어렵지 않았지만 맵 렌더링은 고난, 그 자체였습니다. ㅋㅋㅋ엄청난 오류와(ArrayIndexOutOfBoundsException!!!!!!!!!!!) 이상한 결과까지!!!!! 그 과정도 찍어뒀으면 좋았을텐데... 여튼 지금까지 만든 게임 영상을 올려보도록 하겠습니다.
- Total
- Today
- Yesterday