문제

여가 시간에 C ++ 및 Directx를 사용하여 2D 게임 개발을 엉망으로 만들고 있습니다. Enterprisey 문제 도메인 모델링 접근 방식이 원하는만큼 도움이되지 않는다는 것을 알게되었습니다.)

기본 게임 엔진 디자인과 동등한 "모범 사례"를 찾고 있습니다. 엔터티가 서로 상호 작용하는 방법, 이상적인 세상에서 애니메이션과 사운드를 어떻게 표현 해야하는지 등.

누구든지 추천 할 수있는 좋은 자원이 있습니까?

도움이 되었습니까?

해결책

gamedev.net 일반적으로 게임 개발 커뮤니티의 다른 사람들이 무엇을하고 있는지에 대한 아이디어를 얻는 곳입니다.

즉, 게임 개발에서 "모범 사례"라는 아이디어가 대부분의 변동성보다 더 변동성이 있다는 것을 알게 될 것입니다. 게임은 "하나의 크기에 맞는"답변을 제공하는 것이 거의 불가능한 전문 응용 프로그램 인 경향이 있습니다. 테트리스에게 큰 작용은 소행성에서는 쓸모가 없을 것이며, 후광에 완벽하게 작동하는 모델은 마리오에게 비참하게 실패 할 가능성이 높습니다.

또한 텍스처, 메쉬, 레벨, 사운드 또는 애니메이션 형식에 대한 "산업 표준"과 같은 것은 없다는 것을 빨리 알 수 있습니다. 모든 사람은 자신의 굴러 가거나 플랫폼에 편리한 것을 사용합니다. 당신은 때때로 같은 것을 보게됩니다 콜라다, 이것은 좋지만 여전히 쓰기 수출업자를 더 쉽게 만들 수 있도록 설계된 중간 형식 일뿐입니다.

게임 개발을 처음 접한다면 내 조언은 다음과 같습니다. 처음으로 코드 구조를 통해 자신을 죽이지 마십시오. 소행성과 같은 간단한 게임을 시도하고 코드가 "못생긴"코드에 관계없이 작동 할 때까지 해킹하십시오. 더 큰 프로젝트에서 얼마나 잘 견딜 수 있는지 걱정하지 않고 익숙한 간단한 형식을 사용하십시오. 플러그인, 스킨, 편집자 또는 다른 보풀에 대해 걱정하지 마십시오. 그냥 작동하게하십시오! 그런 다음, 먼저, 모든 중요한 게임을 끝내고 다른 게임을 선택하고 이번에는 코드의 한두 가지 측면을 정리하십시오 (그러나 배 밖으로 가지 마십시오!).

나는 이것이 "올바른 길"을 위해 온라인 주변의 멍청이보다 더 빨리 당신을 더 빨리 얻을 것이라고 약속합니다 (이것은 많은 찌르기를 한 사람으로부터 온 것입니다).

그리고 당신을위한 마지막 생각 중 하나 : 더 잘 정의 된 공간에서 일하는 것이 더 편한 느낌이라면, XNA 또는 비슷한 도서관. 그들은 사용할 "최고의"형식 중 일부를 사전 정의하고 그들과 함께 작업 할 도구를 제공 할 것입니다.

행운을 빕니다. 그리고 무엇보다도 기억하십시오 : 게임 (그리고 그들의 발전)은 재미 있어야합니다! 작은 물건에 너무 붙잡지 마십시오!

다른 팁

게임을하십시오. 끝난 후에는 다른 것을 만드십시오. 당신이 좋아하는 것과 마음에 들지 않는 것을보고 다른 것을 만드십시오.

진지하게, 당신은 당신이 원하는 게임 디자인에 대한 모든 "모범 사례"가이드를 읽을 수 있지만 궁극적으로 경험이 나옵니다. 경험을 얻는 유일한 방법은 앉아서 게임을 작성하는 것입니다. 당신이 이것을 몇 번이나 한 후에 당신은 많이 게임을 작성하는 방법에 대한 더 나은 아이디어.

거의 모든 책 안드레 라모테 기고자 중 한 사람으로.

Gamedev 많은 기사가 있습니다.

더 동의 할 수 없습니다 : 엔터프라이즈 응용 프로그램은 게임 프로그래밍을 준비하지 않습니다.

Python, Java, HTML/PHP 및 Perl에서 몇 가지 소규모 게임을 만들었습니다. 아마 아시다시피 게임의 기본 구조는 다음과 같습니다.

메인 루프 :
handleInput ()
updateAmelogic ()
RenderImages ()

이제는 70 년대 또는 80 년대와 마찬가지로 단일 스크린, 싱글 스레드 게임에 좋습니다. 그러나 나는이 구조가 멀티 스크린 게임 (RPG) 또는 더 이국적인 것에 특히 적합하다고 생각하지 않습니다. 잘 실력이 없습니다. 다양한 입력을 처리해야하므로 코드는 꽤 펑키 해집니다. 확장되지 않습니다.

그러나이 은유를 너무 강타하기 전에, 이것은 시작하기에 훌륭한 장소입니다. 나는 Python/Pygame 학습을 권장하고 C ++가 아닌 그 도구로 게임을 시작하는 것이 좋습니다. 이는 설계 및 구현 프로세스를 복잡하게 만듭니다. 파이썬으로 프로토 타입을 보면 게임이 훨씬 빠르게 형성되고 언어 독립적 인 문제가 발생하는 것을 볼 수 있습니다.

나에게 게임 프로그래밍의 가장 어려운 시간이 많이 걸리는 측면은 그래픽 및 사운드 자산입니다. 나는 약간의 오디오 괴상하고 아마추어 음악가이지만 믿을 수 있고 적절한 음악을 만들고 SFX는 그 자체로 프로젝트입니다. 그래픽 인재가 없으므로 ExisITNG 이미지를 수정하거나 자유롭게 사용할 수있는 이미지를 사용하는 데 의존해야합니다. 운 좋게도, 게임에 사용할 수있는 널리 사용 가능한 무료 글꼴이 있습니다 (거의 보편적으로 나쁘기 때문에 다른 것은 거의 없습니다).

마지막으로, 다른 프로젝트가 어떻게이를 처리하는지 볼 수있는 오픈 소스와 같은 것은 없습니다. Westnoth의 전투는 성숙하고 중간 크기의 게임입니다. 거기에서 무슨 일이 일어나고 있는지보고 싶을 수도 있습니다. 다시, Python의 게임은 자주 소스 코드를 사용할 수있게하므로 수백 개의 프로젝트를 살펴볼 수 있습니다. Atari 2600 ROM을 디 컴파일 할 수도 있지만 오늘날 프로그래밍에 대해서는 많은 것을 말하지 않습니다. 기존 VCS는 앱을 매우 시스템 의존적 방식으로 처리하는 전용 장치였습니다. :-디

마지막으로, 나는 또한 Andre Lamothe를 좋아합니다. 나는 그의 오래된 1993 년 책을 백만 페이지 두께로 가지고 있습니다. 비록 여전히 일반적인 게임 아이디어에 대한 좋은 참조이지만, 그 중 많은 사람들이 그 당시에 존재하지 않은 무료 라이브러리와 프레임 워크의 가용성으로 인해 많은 것을 나타냅니다.

프로젝트에 행운을 빕니다.

아직 언급되지 않았으므로 커뮤니티에 출시 된 기존 엔진을 보면서 시작하지 않겠습니까? 당신이 2D를 말하고 있기 때문에, 나는 돌아가서 다음과 같은 것을 추천 할 것입니다 남용. 그렇습니다. 그것은 고대이며 대부분의 흥미로운 비트는 LISP에 있습니다. 그러나 게임은 한동안 매우 인기가 있었기 때문에 그들이 옳은 일을하고 있다는 것을 의미합니다.

그 결과, 원래 게임의 많은 부분이 LISP에 있다는 사실은 매우 유용한 교훈이라고 생각합니다. 가장 강력한 언어/도구를 선택하고 성능에 대해 걱정하지 마십시오. 나중에 C에서 느린 부품을 항상 최적화 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top