«architecture» 태그된 질문

코드 구성 방식 게임 엔진의 내부 디자인에 대한 질문

1
UI 코드에서 물리와 게임 로직 분리
간단한 블록 기반 퍼즐 게임을 만들고 있습니다. 게임 플레이는 게임 영역에서 움직이는 블록으로 구성되어 있으므로 사소한 물리 시뮬레이션입니다. 그러나 내 구현은 이상과는 거리가 멀고 더 잘 수행하는 방법에 대한 조언을 줄 수 있는지 궁금합니다. 많은 퍼즐 게임에서와 마찬가지로 코드를 게임 로직과 UI의 두 영역으로 나누었습니다. 게임 로직은 게임의 일반적인 규칙 …

2
소규모 게임 개발 팀을위한 효과적인 전략은 무엇입니까? [닫은]
현재로서는이 질문이 Q & A 형식에 적합하지 않습니다. 답변, 사실, 참고 자료 또는 전문 지식을 통해 답변이 뒷받침 될 것으로 예상되지만이 질문은 토론, 논쟁, 여론 조사 또는 광범위한 토론을 요구할 것입니다. 이 질문을 개선하고 다시 열 수 있다고 생각 되면 도움말 센터 를 방문하여 안내를 받으십시오 . 휴일 팔년 전에 …

9
GUI 요소는 어떻게 사용합니까?
참고 : 자체 GUI 시스템을 만들 계획입니다. 학습에 좋고, 가벼우 며, 필요한 비트 만 있고, 게임과 관련이 있습니다. 나는 그것을하는 방법에 대해 생각하고있었습니다. 내가 의미하는 요소는 다음과 같습니다. 라디오 버튼 여기에 텍스트를 입력하십시오 버튼 슬라이더 확인란 나는 그들을 만드는 방법에 대해 아직 찾고 있지 않습니다. 그러나 더 많은 방법이 있습니다. …
12 c++  architecture  gui 

6
전략 게임 뒤에 사운드 트랙을 넣어야합니까? 음악과 소리가 필요한 게임
셔플 링 카드와 충격음은 멋지지만 (카드 기반 게임), 배경 음악을 연결하는 데 시간 / 노력을 투자해야합니까? 온라인 또는 유사한 코드를 사용하여 로컬 MP3를 재생할 수있는 경우 DI에 연결하는 데 사용할 수있는 C # 을 사용하여 스트림 에서 Play 오디오를 찾았 지만 노력할 가치가 있습니까? 어떤 게임 장르가 필요하고 어떤 게임 …

5
자산 매니페스트 파일을 사용하는 이유는 무엇입니까?
때로는 사람들이 그래픽 / 사운드 파일 등을 사용하는 대신 권장하는 것을 보게 될 것입니다. 이렇게 ... // Game code Image myImage = new Image("path/to/image.png"); ... 대신 매니페스트 파일을 간접적 인 수준으로 사용해야합니다 . // Manifest file MY_IMAGE: path/to/image.png // Game code Manifest myManifest = new Manifest("path/to/manifest"); Image myImage = myManifest.getImage("MY_IMAGE"); …

1
견고한 아이템 시스템 만들기
저의 목표는 다음과 같은 것을 처리 할 수있는 가능한 아이템 시스템을 가능한 한 모듈 식으로 만드는 것입니다 업그레이드 가능한 아이템 (+6 Katana) 능력치 수정 제 (+15 민첩) 아이템 수정 자 (% X 확률로 Y 데미지, 동결 확률) 충전식 (30 인용 매직 스태프) 항목 설정 (Y 기능을 활성화하기 위해 X 세트 …

3
동일한 구성 요소 세트의 엔티티를 선형 메모리로 그룹화
기본 시스템 구성 요소 엔터티 접근 방식 부터 시작합니다 . 구성 요소 유형에 대한 정보만으로 어셈블리 ( 이 기사 에서 파생 된 용어)를 작성해 봅시다 . 구성 요소를 하나씩 요소에 하나씩 추가 / 제거하는 것처럼 런타임에 동적으로 수행되지만 형식 정보에 관한 것이므로 더 정확하게 이름을 지정합시다. 그런 다음 모든 어셈블리 …

5
컴포넌트 기반 게임에서 충돌을 올바르게 처리하는 방법은 무엇입니까?
구성 요소를 중심으로 설계된 게임에서 충돌을 올바르게 처리하는 방법으로 머리를 감싸려고합니다. 많은 예제 PhysicsComponent에 엔티티의 구성 요소 목록에 추가되는 종류가 있지만 실제 구현은 혼란 스럽습니다. 이것이 작동 PhysicsComponent하려면 주변 세계에 액세스해야합니다. 이것은 나에게 직관적이지 않습니다. 컴포넌트가 컨테이너 (엔터티)뿐만 아니라 컨테이너의 컨테이너 (세계)를 인식하지 않아야합니까? 나에게 레벨이나 장면은 이러한 엔티티와 모든 …

3
모든 정적, 글로벌 디자인 패턴을 제거하고 싶지만 어떻게해야합니까?
우주에서 작은 던전 크롤러를 만들고 있는데 엔진의 백엔드를 더 멋지게 만드는 방법에 대한 조언을 듣고 싶습니다. 기본적으로 현재 모든 것은 많은 관리자를 기반으로합니다. BackgroundManager : AddBackground(image, parallax)멋진 배경 효과를 만드는 방법이 있습니다. ConfigManager : 구성 파일을 읽거나 작성하며 해당 구성 파일에서 읽은 데이터도 보유합니다. DrawManager은 :이 Draw(sprite)화면에 물건을 그리는 방법을, …

4
턴 기반 거리 기반 전략 게임에서 가능한 이동 범위를 결정하는 방법은 무엇입니까?
c ++ 및 SFML-2.0을 사용하여 2 차원의 턴제 전략 게임을 만들고 있습니다. 움직임은 격자 기반이 아닌 거리 기반이며, 주어진 차례에 각각 제자리에서 회전하거나 앞으로 이동할 수있는 여러 개의 삼각형 모양 조각이 있습니다. 이동은 플레이어가 피스를 이동할 위치를 선택하여 피스의 잠재적 경로를 생성하는 방식으로 작동합니다. 플레이어가 자신의 결정을 확인하면 작품은 해당 …

2
좋은 사람의 공격은 어떻게 나쁜 사람을 때리는가?
내 게임에는 다양한 유형의 좋은 사람과 많은 다른 유형의 나쁜 사람이 있습니다. 그들은 모두 서로 발사체를 발사하지만, 어느 쪽 정렬에 대해서도 우발적 인 부수적 피해는 원하지 않습니다. 따라서 나쁜 녀석은 다른 나쁜 녀석을 때리거나 손상시킬 수 없어야하며 좋은 녀석은 다른 좋은 녀석을 때리거나 손상시킬 수 없어야합니다. 내가 이것을 해결하려고 생각하는 …

4
엔터티 당 단일 유형의 한 구성 요소를 손상시키지 않고 엔터티 당 여러 메시를 사용하려면 어떻게해야합니까?
계층 기반 게임 엔진에서 컴포넌트 기반 게임 엔진으로 전환하고 있습니다. 내 문제는 메쉬 계층 구조가있는 모델을로드 할 때 이해하는 방식은 구성 요소 기반 시스템의 엔티티가 동일한 유형의 여러 구성 요소를 가질 수 없지만 각 구성 요소에 대해 "meshComponent"가 필요하다는 것입니다 모델의 메쉬. 그래서이 문제를 어떻게 해결할 수 있습니까? 이 사이트에서 …

2
캐릭터의 기술과 능력을 명령으로 사용하는 것이 좋습니까?
나는 독특한 공격 기술과 건물, 수리 등의 다른 능력을 가진 캐릭터로 구성된 게임을 설계하고 있습니다. 플레이어는 여러 캐릭터를 제어 할 수 있습니다. 나는 그러한 기술과 능력을 모두 개별 명령에 넣을 생각입니다. 정적 컨트롤러는 이러한 모든 명령을 정적 명령 목록에 등록합니다. 정적 목록은 게임 내 모든 캐릭터의 모든 기술과 능력으로 구성됩니다. …

6
게임 상태 관리 (게임, 메뉴, 타이틀 화면 등)
기본적으로 지금까지 만든 모든 단일 게임에는 항상 "current_state"와 같은 변수가 있습니다.이 변수는 "game", "titlescreen", "gameoverscreen"등이 될 수 있습니다. 그리고 내 업데이트 기능에 큰 것이 있습니다. if current_state == "game" game stuf ... else if current_state == "titlescreen" ... 그러나 이것이 상태를 처리하는 전문적이고 깨끗한 방법이라고 생각하지 않습니다. 더 나은 방법 …

3
C ++에서 게임 엔진을 구성하는 방법은 무엇입니까? 상속을 사용하는 것이 좋은 생각입니까?
저는 게임 개발과 프로그래밍 모두에서 초보자입니다. 게임 엔진을 구축 할 때 몇 가지 원칙을 배우려고합니다. 간단한 게임을 만들고 싶습니다. 게임 엔진을 구현하려는 시점에 있습니다. 그래서 나는 내 게임 엔진이 이것을 제어해야한다고 생각했다. - Moving the objects in the scene - Checking the collisions - Adjusting movements based on collisions - …
11 c++  architecture  oop 

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