Scorched Earth와 같은 지형을 어떻게 생성합니까?


12

저는 웹 개발자이며 자신의 게임을 만들기 시작하고 싶습니다.

친숙성을 canvas위해 지금 은 JavaScript와 요소를 선택했습니다 .

Scorched Earth에서 이와 같은 지형을 생성하고 싶습니다.

타락한 지구

나의 첫 시도는 내가 그 y가치를 무작위로 할 수 없다는 것을 깨달았다 . 봉우리와 여물통에는 약간의 정신이 있어야했습니다.

나는 약간의 구글 검색을했지만, 나에게 충분한 것을 찾을 수 없거나 잘못된 키워드를 사용하고 있습니다.

2003 년에 Visual Basic으로 Breakout을 만들었 기 때문에 게임 프로그래밍에 완전히 익숙하지 않다는 점을 염두에두고 예제에서 무언가를 생성하는 데 어떤 종류의 알고리즘을 사용하는지 알려 주시겠습니까?

답변:


18

중간 점 변위 알고리즘이 정확히 원하는 것입니다.

이 링크는 다음과 같은 것을 생성 할 수 있습니다.

여기에 이미지 설명을 입력하십시오

또는 사용하는 매개 변수에 따라 이미지처럼. 가능한 C 소스있어 여기가 .


이것에 감사드립니다, 나는 JavaScript로 어떻게 그것을 구현할 지 확신하지 못하지만 그 기사를 읽으면 나에게 더 명확해질 것입니다.
alex

방금 편집 한 C 소스가 있습니다. 구현하기에는 너무 많은 문제가 없어야합니다.)
The Communist Duck

@ 공산당 오리 감사합니다. 전에 C에 손을 대었습니다.
alex


@ alex, 구현에 일종의 재귀를 사용해야합니다. 현재 랜덤 변동이 오른쪽으로 감소하는 랜덤 y 성분이있는 선이 있습니다.
Juha Syrjälä

5

사용 방법에 대한 중간 변위 가능한 가벼운 스무딩 예 다음 알고리즘 필터링하는 로우 패스 너무 예리한 스파이크를 제거하기 위해? 이 접근 방식은 Scorched Earth와 동일하지 않지만 유사한 결과를 제공해야합니다.

나는 Scorched Earth가 어떻게 든 중력과 떨어지는 흙을 시뮬레이션했다고 믿습니다. 예를 들어, 언덕이 너무 가파르면 흙이 떨어지고 가파른 경사가 만들어지기 때문입니다.


1

사용할 수있는 또 다른 방법이 있습니다. 임의로 생성 된 여러 사인파를 더한 다음 결과를 화면에 맞게 조정할 수 있습니다. 실제 스크린 샷보다 부드럽고 인공적이지만 실제로 실제로는 쉽고 멋진 결과를 제공합니다.

여기에서 Javascript의 소스를 볼 수 있습니다. 여러 종류의 지형을 얻기 위해 일부 매개 변수를 사용하여 조정하는 것은 정말 쉽습니다.

https://github.com/fmstephe/Tankwars

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.