문제

SDL LIB로 FPS 게임을 만드는 방법을 알고 싶습니다.

예제와 함께 설명하는 책이 있습니까?

도움이 되었습니까?

해결책

이것은 대부분의 열린 종료 질문에서 승리합니다. 문자 그대로 책을 쓸 수 있습니다. 그러나 올바른 방향을 가리키기 위해 정착하자 ...

1 단계, 이와 같은 프로젝트에 좋은 디버깅 기술이 필요합니다. Steve McConnell의 코드를 픽업하십시오. 모든 것을 읽으십시오. 투자 한 시간은 읽거나 실험 할 수있는 무엇보다도 비용을 지불합니다.

게임의 소스 코드를 손에 넣으십시오. 모든 게임. 크고 복잡한 것을보기 전에 단순한 것을 보게되고, 팀 코드가 결합 된 팀이 당신이 가진 것보다 더 많은 시간을 투자했을 수도있는 게임 코드를 볼 때 명심하십시오. 이것의 요점은 코드 구조를 보는 것입니다.

3D 수학에 대한 참조를 얻을 수 있습니다. 깊이있는 것일 필요는 없지만 Dot 제품과 같은 것들을 뒤로 그리고 앞으로 알아야하고, 세계에서 카메라의 매트릭스를 만드는 방법을 알아낼 수 있어야합니다. ( 렌더링 코드의 0%를 쓰는 경우에도

(편집하다) 다음은 3D 수학에 관한 훌륭한 책입니다3D 게임 프로그래밍 및 컴퓨터 그래픽을위한 수학, 두 번째 에디션 (게임 개발 시리즈) 이것은 당신이 대학에서 배우는 종류가 아니며, Trig와보다 진보 된 실제 개념 사이의 십자가와 비슷합니다. 간단한 물리학, 효율적인 충돌 감지 등의 도구 상자를 만드는 방법.

렌더링과 파이프 라인에 대해 알아야합니다. SDL은 당신에게 다리를 부여하지만 그것이하는 일의 개념을 이해하도록하십시오.

실제 시스템 설계에 대해 읽으십시오. 다양한 시스템이 연동되어야합니다. 잘 생각하십시오. 귀하의 시스템은 C 또는 C ++에서는 우수 할 수 있습니다. 디자인 패턴을 얼마나 완벽하게 모방하는지가 아니라 데이터/제어가 계산되는 방법에 대한 생각입니다 (거친 것도 매우 유용합니다).

"실제"AI가 아니라 기능적 AI의 기초; 큰 차이가 있습니다. 상태 기계는 시작하기에 좋으며 간단한 FPS에 충분합니다.

추정 및 계획에 대해 조금 배우십시오. FPS를 제대로 만들기 위해하고 싶은 모든 일을 할 시간이 없습니다. 당신은 두 심사를하고 심사하는 방법을 배워야합니다. 그것들은 두 가지 별개의 것입니다. 후자는 mroe가 어렵습니다. 경험은 여기에서 최고의 교사입니다. (전설적인 McConnell은 이것에 대한 책도 가지고 있지만)

게임 플레이를 레벨에 삽입하는 시스템이 있어야합니다. 그것이 프로그래머로서 당신이라면, 가장 좋은 방법은 3ds Max와 같은 이미 기존 편집 프로그램에 대한 플러그인을 작성하는 것입니다. 프로그래머에게는 Max보다 Max를 강력히 추천합니다. Maya 스크립트는 좋지만 영리한 비 프로그램 제에 더욱 적합합니다. 나는 프로그래머가 당신의 세상을 만들고 편집하는 방법의 선을 따라 더 많은 것을 생각할 수있는 3ds Max를 발견했습니다.

당신은 당신이 이것을 제대로 할 수 있도록 도구를 만드는 데 몇 년을 할애 할 수 있으므로, 당신은 당신이 자신의 편집자를 만들면 빠르고 정확하게 편집 할 수있는 방식으로 일을하고 게임 세계에 통합 할 수 있습니다. 당신의 세계가 진정으로 3D가 아니고 많은 레벨을 빨리 만들고 싶다면 레벨 데이터를 이와 같은 것으로 저장할 수 있습니다. X가 벽 인 곳에서 많은 시간을 절약 할 수 있습니다. 다른 글자는 먼지가있는 게임 객체입니다. 간단한 파서는 게임 객체와 세계 좌표로 번역 할 수 있습니다.

 xxxxxxxxxxxxxxxxxxxxxxxx
 xx..........P..........x
 xxxxxxx...........I....x
 xR....xxx...........E..x
 xx.................0xxxx
 xxxxxxxxxxxxxxxxxxxxxxxx

그러나 그것은 모두 당신의 게임에 달려 있습니다. 내 요점은 당신은 당신이 당신의 게임 플레이 데이터를 세상에 얻는 방법을 "게토 코딩"에 의지해야한다는 것입니다. 그리고 당신은 당신이 당신과 함께 일할 수있는 빠른 속도로 빠른 일을 생각해야한다는 것입니다.

그리고 그것이 다가오는 것은 여기서 당신의 목표는 무엇입니까? 절대적인 올바른 방법으로 코딩하는 법을 배우는 것이라면, 한 달 전에 괜찮은 코드에 반복하는 데 대부분의 시간을 소비 할 것으로 예상되지만 이제는 요구 사항이 무엇인지 알 수 있으므로 실제로 다른 패스를 사용할 수 있습니다. 다시 쓰는 것을 두려워하지 말고, 그렇게함으로써 많은 것을 배우지 만, 목표는 기능이라면 아마도 게임 플레이를 포함 할 수있는 위치를 파악할 수있는 위치를 파악해야 할 것입니다. 이다 해킹 한 위치를 알고있는 한 해킹하고 좋은 코드와 신중하게 보관하여 기회를 얻을 때 코드를 올바르게 작성할 수 있도록 좋은 코드와 별도로 보관했습니다.

결론적으로, 당신은 이것에서 당신의 목표가 무엇인지, 학습 또는 기능을 결정하고 그 사이의 행복한 매체를 찾아야한다는 것입니다.

다른 팁

Quake 3 소스를 다운로드하십시오 Fileshack 그리고 그들로부터 배우십시오.

매우 긴 게시물은 장기적으로 가치가 있지만 화면에 물건을 가져 오는 적절한 즉각적인 동기를 부여하지는 않습니다. 내 의견과 함께 몇 가지 사실이 있습니다

-SDL은 2D 그래픽 라이브러리이므로 2D로 FPS를 쓸 수 없으므로 3D 라이브러리, DirectX 또는 OpenGL로 가야합니다.

-SDL은 OpenGL과 "동기화"되어 그래픽에 사용하는 기능이 있지만 해당 주제에 대한 온라인으로 도움이 많지 않습니다.

SDL을 사용한 게임 프로그래밍을위한 최고의 초보자 리소스 인 LazyFoo.net으로 가십시오. 화면에 그리는 방법을 보여 주지만이를 프로그래밍 게임에 적용하는 방법을 알려줍니다. 이를 통해 테트리스 클론 또는 대부분의 다른 2D 유형 게임을 만들 수 있습니다.

그 후, 당신은 3D에 대한 준비가 될 것입니다 (훨씬 더 복잡하고 수학을 더 잘 이해하고 더 간단한 일을하기 위해 더 많은 코드가 필요합니다) OpenGL과 함께 가면 Nehe의 튜토리얼을 확인하십시오. 현재 그들은 현재입니다. 오래된 튜토리얼은 가치가 있지만 오히려 나쁘게 코딩되고 Windows (Win32) API를 사용하기 때문에 OpenGL과 함께 SDL을 사용하는 새 세트 작업

게임 개발은 가장 까다로운 프로그램 중 하나이며 당신이 만날 수있는 보람있는 프로그래밍 중 하나이므로 행운을 빕니다.

SDL은 아니지만 Nehe OpenGL 튜토리얼은 3D를하는 방법에 대한 학습을위한 훌륭한 장소입니다.

이것이 첫 번째 게임이라면 아마도 FPS보다 낮게 조준하고 싶을 것입니다. SDL을 사용하여 간단한 2D 테트리스 게임을 작성하면 해당 라이브러리에 대해 알아야 할 모든 것을 가르쳐 줄 것입니다.

"게임 프로그래밍 전문가의 트릭"이라는 제목에서 FPS 게임을 만드는 방법을 보여줄 것입니다. Lemothe는 그들을 사랑합니다.

편집 : 그 타이틀을 잊어 버렸습니다.

나는이 사이트를 잠시 전에 발견했다. SDL, 당신은 당신이 다운로드 할 수있는 샘플 프로그램을 찾을 수 있습니다 여기

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