에디터는 1280*960 사이즈이고, 실제 게임은 아마 720p 정도 될 것 같네요.
적어도 예전처럼 웹상에서 실행가능한 건 아닐 겁니다.
오늘까지 한 건 기초 UI, 새 파일 열기, 그리고 파일 크기 설정이네요.
일단 최적화 코드 없이는 307.2m^2까지 감당할 수 있네요.
(그 이상 가면 정상적인 코드인데도 Error 2015가 뜸, 너무 큰 BitmapData...)
음, 조금 많이 부족하다고 느끼는데...;
(최대 4915.2m^2 정도는 되길 기대함)
물론 대지면적 90000m^2면 축구경기장 13개는 들어가겠지만.
아니, 이렇게 생각하면 충분한건가?
이제 해야할 것은 최적화는 나중에 하라는 모장의 가르침에 따라 저장/불러오기 기능, 그리고 이제 선을 그리는 걸 추가해야죠.
지금까지는 저장할만한 게 없었지만, 이제.
방학 끝날 때까지 실행가능한 수준까지 진행하겠다고 예전에 그랬던 것 같은데, 그 당시의 저는 제 게으름을 너무 만만하게 보고있었나봅니다.
허.
P.S.
수학을 해보니, 이정도 크기만 되도 픽셀수는 32768^2, 약 1기가픽셀...
이거 실제 플레이에서는 최적화를 안하면 시작도 못 하겠네요.
원래는 다 그려놓고 화면 주위 부분만 표시하는 방식(이전처럼)을 쓰려 했는데, 그게 아니라 순간순간 그림을 그려야겠어요. (몇 NES/SNES 게임처럼)
일단 낙관적으로, 요즘 3D 게임보다는 사양을 덜 타지 않을까, 하지만, 문제는 기반이 플래시라는거.
P.P.S.
한번 메모리 체크해봤는데, 후덜덜하네요...
에디터라 발적화라도 괜찮지만,
문제는 레이어가 추가되면 문제가 심각해진다는 거.
최소한의 최적화는 필요한 건가.
(그건 그렇고 플래시는 결국 32비트가 한계인가?)
+더 많은 수학. 사실 이 내용은 폰 메모장보다 이게 더 편해 적는 겁니다. 그러니 의식의 흐름 기법 주의.
에디터 최적화, 그리고 더 나아가 게임 엔진에서 로드될 범위를 계산해보기로 했습니다.
일단 한 비트맵 덩어리가 2048pxl^2이고, 이게 가로세로 300미터입니다.
32pxl=60cm가 기본 단위거든요.
현재 사이즈에 64x64 이상 적으면 문제가 생기는데, 이는 즉 플래시 자체의 한계로 보면 되겠죠.
여기서의 1x1은 8*60cm=4.8m 가로세로. (한변 약 640pxl)
64x64가 플래시 한계이면, 32x32를 엔진 최대로 잡는게 여러모로 여유가 있겠죠. (맵 렌더링만 하고 끝낼 게 아니니까...)
당연히 여러 레이어가 사용될테니, 9x9를 지형이 로드되는 최대 범위로 잡습니다. 이는 4.8m*9=>43.2m^2, pxl로는 5000픽셀 이상.
픽셀로는 충분한데, 실제 거리로는 43미터가 너무 짧네요. (사람이 적당히 달려도 10초 안팎...)
하지만 렌더링과 실제 계산을 다른 레이어에서 한다면.
렌더링은 3x3으로 초창기 엔진(2년전이네...)대로, (여기선 가로세로 1800픽셀)
계산은 4x4로 나눠 더 작게 계산하는 거죠. (4pxl=7.5cm가 엔진에서의 최소 거리)
솔직히 그래도 km단위는 계산하고 싶지만, 현실은 시궁창이고.
9x9로 하면 43m*4=>172m^2. 즉 이 거리가 한번에 지형을 로드하는 범위.
마크로 치면 5 청크 가시범위네요. (16m*(5*2+1))
계산할때 만은 레이어 수를 줄인다면, 9x9를 15x15정도로 늘릴수도 있겠죠. 그러면 4.8m*15*4=>288m^2
아니 나아지는게 없잖아.
엔진 최대를 48x48로 잡고 봅시다. (한계 자원의 절반 이상을 차지...)
지형 로드 범위는 21x21로 잡으면, 4.8m*21*4=>403.2m^2
이만하면 됬네요. 하하하.
그리고 간소화 로드도 생각해야겠죠. 이건 실제 계산에 쓴다기 보다는 먼 곳으로의 길찾기에. 예를들어 1km 떨어진 가장 가까운 지하철역 같이.
이에는 4.8m가 기본단위가 되겠네요.
이것을 위와 같은 비트맵데이터를 먹게 잡으면, 4.8m*21*16=>1.6km^2
음, 이건 뭐 됬네요.
이보다 큰 것은 그냥 월드맵을 그때그때 불러오는 걸로 일단 칩시다. (e.g. 시외->시내)
나자신을 위한 요약: 일단 에디터는 3x3 범위의 렌더링을 한다.
그러면 자연히 블록 에디터의 리소스 제약이 사라지니(이유를 설명하자면 4-1이나 n+3-n이나 같은 3이니까. 너무 요약했어)
기본적으로 무한해지겠지만,
그래도 월드맵 기본 단위란게 있어서 (4.8m*1024>4.9km) 최대 크기는 4.9km가량이겠네요. (에디터 사이즈 설정 상으로는 1024x1024)
64x64가 최대 설정이던 거에 비해서 얼마나 대단한 일이야.
다시 잡소리가 들어갔는데, 그러니까 일단 에디터 렌더링 코드 재작성 한다는 거죠. <나자신을 위한 볼드체
또 블록 세이브 코드를 짜고 있는데, 일단 블록 세이브 파일 포맷도 완전히 정리해야겠죠.
다시 설정놀이가 시작되겠군, 아이구야.
P.P.P.S. 그리고 엔진 테스트를 위한 미니게임 컨셉도 메모해두겠습니다.
테스트하고자 하는 건 길찾기 AI.
적절한 방식의 게임은 톰과 제리형.
적당히 스릴넘치게 캐릭터가 살인마에게 추격당하는 걸로 하죠.
건전하셔라.
'Metnias > Aipo.TXT' 카테고리의 다른 글
언제 한번 책 하나를 정독할 필요가 있겠음 (0) | 2014.09.20 |
---|---|
엔진 변경 시도 (0) | 2014.09.08 |
에디터 렌더링 코드 재작성 (0) | 2014.08.27 |
그리고 일주일 후 (0) | 2014.08.23 |
오랜만에 플래시 켜봄 (0) | 2014.05.04 |
환승 (1) | 2013.07.28 |
이제 시험기간 (0) | 2013.06.12 |
으앙 바쁨 (0) | 2013.06.02 |
에디터 '새 맵 제작' 부분 가완성 (0) | 2013.01.01 |