2011-04-27 2 views
4

저는 Java로 2D 게임을 개발 중입니다. 기본 게임 템프 팅 (적을 스폰하고 아이템을 생성하고 적 속성을 변경)을 원합니다.Game World structure in classes

게임 세계를 어떻게 나누는 지 잘 모르겠습니다. 게임 세계를 쉽게 나눌 수있는 방법입니다.

다른 유형의 아이템, 아이템 클래스 (플레이어가 선택할 수 있음), 타일이 다른 블록이있는 적 (건강 및 기본 인공 지능)이 필요합니다.

내 게임 세계 아키텍처를 어떻게 구성 할 수 있습니까? Game World를 쉽게 확장하고 유지하기 위해 어떤 기본 수업을 사용해야합니까?

+8

이 질문은 http://gamedev.stackexchange.com/ – karim79

+1

에 더 적합합니다. 게임에 대해 자세히 설명하십시오. 적들은 공격하나요? 모든 것이 건강을합니까 아니면 단 하나의 명중이 있습니까? 그들 위에 달려서 물건을 수집합니까? 모든 것이 어떻게 작동하는지 더 많이 이야기하면 클래스 아키텍처를보다 쉽게 ​​디자인 할 수 있습니다. –

+3

사람들에게 와서, "여기에 무엇이 묻히고 있는지를 말하는 것이 어렵다"는 것은 무엇입니까? – zoul

답변

3

게임 세계의 기본 사항은 공통점을 찾는 것입니다.

세계는 앞으로 나아갈 것입니다. 모든 활성 요소 (player, dropped items, enemies, npc 's)이지만 모든 수동 요소는 돌, 나무, 집 블록이 아니기 때문에 2 개의 인터페이스 ActiveElement와 PassiveElement를 사용합니다. 능동 요소는 stepintime() 함수를 가질 수 있습니다.이 함수는 시간이 갈수록 게임 세계에 의해 호출됩니다. 두 요소는 모두 gameworld가 캔버스에 그려 질 때마다 요소를 그리는 render() 함수를 가질 수 있습니다.

모든 적들은 자신의 인공 지능을 호출하여 다음 단계를 결정하고 다른 모든 물체와의 충돌을 확인해야하며 그 의미 (나무 탄환 선수 등)는 기본적으로 다른 모든 요소에 적용됩니다.

이것은 나에게 가장 일반적인 아키텍처이다.

다음에는 특정 항목을 자신의 스레드에 넣고 실행할 수있는 성능 문제가 있습니다 (각주기의 위치와 상태를 확인하고 각각의 입력과 함께 읽는 적의 AI). 단계에있는 단계) 그러나 거기 정교한 충분한 경험이 없다. 다음 당신은 gamedev 사이트에 가야한다 (예를 들면 karim79는 말했다).

요소는 다음 자신의 속성을 가질 수있다 구현 (건강, 통계) 을 확장하여 게임 세계 등

챠오

0

내가 원수를 추가와 통신 simpel 스크립트를 읽고 통역을 쓰기 쉽다 일반적으로 this과 비슷한 레이아웃이 있습니다.

GameObjectDraw()Move()과 같은 기능을 가지고 있습니다. 그런 다음 Enemy은 인공 지능을 구현하기위한 더 많은 함수와 변수를 GoblinUnicorn에 설정합니다. Player에는 플레이어를 옮기기위한 모든 내용이 Move()에 포함되어 있습니다.

내가하는 일은 그저 일반적인 생각입니다. 게임의 유형과 게임 방법에 따라 모든 게임마다 다릅니다.