2011-04-13 5 views
0

스크립팅을 게임에 통합하는 방법에 대한 여러 자습서와 링크가 있었지만이 중 대부분은 저만의 프로세스에서 일찍 시작하지 않습니다. 나는 효과적으로 스크립트 화 된 게임의 기본 구조를 머리에 새겨 넣으려고합니다. 기본 사항은 다음과 같습니다.일반 게임 (RTS) 스크립팅의 기본 내용

저는 C++로 기본 2d RTS 게임을 시작하고 있습니다. 게임의 메 커닉과 그래픽은 꽤 표준/단순합니다. 표준 RTS에 비해 로직과 데이터가 매우 복잡합니다. 분명히, 나는 많은 계획을 가지고 있습니다 - 그리고 실제로,이 점은 실제로 프로젝트를 완료하기보다는 C++, 스크립팅, 게임 프로그래밍 기초를 배우는 것입니다.

내 프로젝트의 어떤 요소를 스크립팅으로 처리하고 내 핵심 "게임 엔진"에 포함시켜야하는지 파악하려고합니다.

예를 들어, 모든 강력한 "게임 루프"는 엔진의 일부로 C++에서 프로그래밍하거나 내 "엔진"만 전적으로 그래픽 (타일, 문자 등)을 표시하는 데 사용합니다. .), 많은 양의 데이터 처리 및 이와 유사한 작업 -이 클래스는 스크립팅 된 게임 루프에 "연결"됩니까?

저는 C#을 스크립팅 언어로 사용하고 싶습니다. 필자는 VS에서 개발할 수있게하면서 좋은 속도를 제공합니다. 그러나 실제로, 나는 그것이 어떻게 설정되어야하는지에 더 관심이 있습니다. 실제 코딩보다 의사 코드 레벨에서 더 많이 설정되었습니다. 이 시점에 이르면 사용할 수있는 많은 리소스가 있습니다. 모든 것을 구성하는 방법에 대한 조언을 찾고 있습니다.

자습서, 리소스, 조언을 제공해 주시면 대단히 감사하겠습니다. 감사!

+0

http://gamedev.stackexchange.com/ – Davy8

답변

1

icnivad가 프로그래밍 게임에 대한 권장 사항 인 AI by Example은 실용적인 정보로 가득한 탁월한 도구입니다.

Unity 실제 엔진의 관점에서 볼 때 C#에서 스크립트를 작성할 수 있지만 너트와 볼트를 배우려는 사람과 같은 사람에게는 너무 많이 숨기고 너무 많이 할 수 있습니다. Irrlicht은 매우 견고한 C++ 엔진이며 tutorials을 많이 사용하여 시작할 수 있습니다. 또한 매우 명확한 인터페이스와 꽤 활동적인 커뮤니티가 있습니다. C++로 작성하고자하는 내용과 스크립트로 작성하고자하는 것에 관해서는 스크립트 작성이 필요한 경우 실제로 작성해야 할 사항을 자세히 검토하는 것이 좋습니다. 전체 내용을 C++로 작성할 수 있으며, 디버깅이 더 쉽다는 장점이 있습니다. 말하자면, C++과 게임 개발자라면 처음에는 C++만을 고집하고 싶을 것입니다 (그렇지 않다면 그냥 무시하십시오).

"디버깅 기능"은주의를 기울여야 할 사항 중 하나입니다. C++ 및 스크립트 코드를 동시에 (데이터와 지침을 앞뒤로 왕복 할 때) 동시에 디버깅하는 것이 매우 어려울 수 있기 때문에주의해야합니다. 즉, 일단 프레임 워크를 설치하고 실행하면 새로운 기능을 구현하고 내용을 조정할 수 있습니다.

루아를 스크립팅 언어로 보길 원할 것입니다. 게임 스크립트로 유명하기 때문에.Luabind은 C++ 및 Lua에 널리 사용되는 바인딩 라이브러리로서 사용하기가 쉽습니다. SWIG도 이용할 수 있습니다 (최근 GameDev.net에서 블로그에 tutorial이라는 짧은 메시지가 나타납니다).

어떤 스크립팅 언어 (있는 경우)를 선택하든 먼저 다른 장난감 프로그램과 함께 작업해야합니다. 언어와 익숙해지기. 그런 다음 최소 C++ < -> 스크립트 interop으로 작은 프로그램을 시도하십시오. 한 번에 몇 가지 단계 만 수행하면 오류를 발견하고 작동하는 것과 그렇지 않은 것을 메모 할 수 있습니다. 스크립트를 게임에 통합 할 준비가되면 즉시 한 단계 만 수행하고 계속 진행하기 전에 테스트하십시오. 말하자면, 스크립트를 종이에 어떻게 연결할지, 어디서 어떻게 종이에 연결하는지 계획해야합니다. 작업이 훨씬 쉬워집니다.

일반적으로 게임 루프, 그래픽, 길 찾기 등과 같이 C++의 모든 어깨에 많은 작업을 넣기를 원할 것입니다. 나는 보통 스크립트가 구성 파일, AI 문자, UI 및 이벤트 처리를위한 동작 코드와 같은 것들에 가장 적합한 것으로 나타났습니다. 기본적으로, 무언가를 많이 변경하거나 변경하려고하거나 다른 사람들이 무언가를 바꿀 수 있기를 원한다면 스크립트 작성을위한 후보자입니다 (승리를 위해 재 컴파일하지 마십시오!). 많은 것들이 특정 게임에 의존한다는 것을 기억하십시오 - 뭔가를 스크립팅하는 것이 너무 느리거나 (프로파일 러를 사용하여 검사하는 경우), 너무 성가신 경우 등 C++에서 스크립트를 작성하거나 스크립트에서 호출하는 것을 두려워하지 마십시오. 그냥 C++로 완전히해라.

희망 하시겠습니까?

+0

에서 운이 더 좋을지도 모릅니다. 저에게 꼭 필요한 것이 었습니다. 다행히도, 저는 아무것도 시작하지 않고 있습니다. C#과 Java 및 OOP 전반에 대한 견고한 프로그래밍 경험이 있으며, 그 후에 C++에서 좋은 시작을하고 싶습니다. 당신의 대답은 많은 의미를 가졌고 많은 질문을 해결했습니다. 감사! – user446882

+0

도와 줘서 기뻐요! :) – Gemini14

1

Programming Game AI By Example은 게임 루프와 관련하여 찾고있는 것, LUA와 같은 스크립팅을 사용하여 찾고있는 것, 그리고 특히 적절한 것으로 보이는 물건에 대한 예를 다루고 있습니다.

그렇다면 잠재적으로 관련성이 높은 Unity3D 게임 엔진을 사용하면 스크립팅에 C#을 사용할 수 있습니다. 또한 Garage Games 엔진 (game builder kits 포함)을 사용하면 RTS 유형 게임을 만들 때 도움이 될 수 있습니다. Torque에 대해서도 C#으로 코딩 할 수 있다고 생각합니다.