스크립팅 / 프로그래밍을 배울 필요가없는 시점까지 캐릭터 중심의 게임 엔진을 단순화하는 것이 좋은 생각입니까?


9

나는 아직도 단결하거나 광범위한 C ++ 프로그래밍, 디자인 패턴, 괜찮은 기본 3D 엔진 등과 같은 거대한 도구를 사용하지 않고 단순한 행동을 테스트하기 위해 프로토 타입 3D 게임을 만들 수조차 없다고 생각합니다.

나는 프로그래밍을 알고 있기 때문에 무언가를 만드는 법을 알기 전에 프로그래밍을 배워야하는 사람들보다 운이 좋은지 궁금합니다. Unity와 같은 스크립트 엔진조차도 아이들을위한 것이 아니며 제 생각에는 일을하는 방식을 지시하는 경향이 있습니다. Ogre 나 Irrlicht와 같은 엔진에서는 그렇지 않습니다.

이제 캐릭터 중심 게임이 게임 시장의 큰 부분을 차지하고 있다고 생각합니다. AI를 제외하고 다른 것을 배제 할 수있는 캐릭터 제어 지향 게임 엔진을 만드는 것이 좋은 생각이라고 생각하십니까?

프로토 타입이라고 할 때 장면 관리자, 플레이어의 카메라 POV, 컨트롤, 매우 기본적인 충돌 / 물리 및 통합과 같은 일련의 게임 플레이 매개 변수 중에서 빠르게 선택할 수 있다는 의미에서 "일반"을 의미합니다. 기본 스티어링 (예 : OpenSteer). 주요 아이디어는 AI 샌드 박스를 3D로 만드는 것이므로 2D 제약없이 시연 할 수 있습니다 (2D 대신 3D 프로젝트의 경우 3D 프로토 타입에 더 적합).


'기본'3D 엔진은 크지 않으며 C ++은 프로토 타이핑에 끔찍합니다. 파이썬을 사용해보십시오.
공산주의 오리

답변:


6

블렌더의 저평가 게임 엔진을 정말 좋아합니다. (http://www.blender.org) 센서 컨트롤러 액츄에이터 모델은 프로그래머가 아닌 사람도 쉽게 따라 할 수 있으며 합리적으로 완전한 게임을 만들 수 있습니다 (애니메이션 캐릭터 이동, 무기 발사, 대상 파괴) , 점수 표시, 상태 추적, 레벨 재설정 또는 새로운 것으로 이동) 프로그래밍 없음.

물론 프로그래밍이 필요한 것들도 있습니다 (특히 FPS를위한 마우스 입력 받기). 블렌더에는 이미 Python이 통합되어 있으며 Python 스크립팅은 모델에 매우 잘 연결되어 있으므로 센서 액추에이터를 Python으로 교체 할 필요가 없습니다. 대신 매우 간단한 '통과'컨트롤러에서 장면의 모든 센서를 읽고 모든 액추에이터에 제어를 전달할 수있는 완전한 Python 스크립트로 전환하면됩니다.

블렌더에서 며칠 만에 게임 프로토 타입을 제작하는 것이 가능합니다 (저는 작년에 지역 어린이 박물관에서 프로젝트를 위해 진행했습니다).

물론, 오래된 프로그래밍 노하우를 대체하는 것은 없으며, 결국 개발자는 프로그래밍을 이해해야합니다.


상자 대신 코드로이 게임 엔진을 사용하는 것이 좋을 것입니다. 어쩌면 사용하기에 충분하지 않을 수도 있지만 궁금합니다.
jokoon

4

입력 메커니즘에 관계없이 하루가 끝날 때까지 게임에 논리가 무엇인지 알려주는 방법을 설정해야합니다. "스크립팅"은 이에 대한 좋은 구어체 용어입니다. 그래서 기본적으로 나는 당신이 "스크립트"를 알 필요가없는 지점까지 무언가를 단순화 할 수 있다는 주장에 동의하지 않습니다.

즉, 모든 스크립팅이 텍스트 기반 프로그래밍 언어로 수행되어야하는 것은 아닙니다. 비주얼 스크립팅 시스템을 만드는 작업이 많았습니다. Unreal의 레벨 스크립팅 도구 인 Kismet은 그 중 하나입니다. 소스 엔진은 비슷한 구조를 가지고 있지만 평면에서가 아니라 세계에서 엔티티를 사용합니다.

기본적으로 입력 및 출력이있는 환경에서 드래그하는 상자가 있습니다. 일종의 분기 출력이 필요한 경우 하나의 입력과 여러 개의 출력이있는 상자가 있습니다. 이러한 출력은 데이터가 묶인 조치 (예 : "이 시점으로 이동", "이 행 말하기", "이 질문하기"등)로 이동할 수 있습니다. 키워드 나 구문을 알 필요가 없으며 모든 행동을 정의한 상자 만 선택할 수 있기 때문에 시각적 언어로 무언가를 시작하고 실행하는 데있어 진입 장벽이 상당히 낮습니다. 함께 연결하십시오.

그러나 비주얼 스크립팅 엔진은 실제로 문제의 가치가 없다고 생각합니다. 엔진에 원하는 것을 성공적으로 알리려면 구조적이고 논리적으로 생각할 수 있어야합니다. 그렇게 생각할 수 있다면, 입력 / 출력이있는 상자에서 스크립팅 언어로 기본 분기 명령문 및 함수 호출로 점프하는 것은 그리 큰 문제가 아닙니다. 사실, 잠시 후 시각적 부분이 방해가 될 수 있습니다. 또한 엔진 측면에서 훨씬 더 많은 작업을 수행합니다. 실행 취소, 복사 / 붙여 넣기, 스크립트 구성을위한 고급 기능이 필요할 수 있습니다. 텍스트 기반 언어를 사용하면 모든 것을 IDE에 맡길 수 있습니다.


언리얼 키즈 멧 같은가요?
DeadMG

1

일반적으로 트레이드 오프가됩니다. 모든 종류의 스크립팅을 수행 할 필요가없는 경우, 일반적으로 백그라운드에서 스크립트를 구성하는 (또는 논리 객체를 연결하거나 그렇지 않은 것) 인터페이스를 만드는 방법에 대해 이야기 할 것입니다. 게임의 전체 지점이되는 전체 게임이 있으며, 기능을 끌어서 놓아 상호 작용하는 방식을 볼 수있는 잘 정의 된 환경이 있습니다.

그러나 결국에는 항상 절충이 될 것입니다. 인터페이스를 단순하게 만들려고하면 해당 인터페이스를 통해 생성 된 것들이 더 단순 해집니다.

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