문제

5 년 전에 나는 재생 DirectSound 및 Direct3D 고 나는 그것이 정말 흥미롭지만 그것은 많은 시간을 얻을 좋은 결과는 C++.나는 대학생이 다음입니다.지금은 대부분 기업에 대한 개발 경험이트,그리고 나는 그것을 대체합니다.은 정말 없는 돈을 벌는 기회가 심각한 게임 개발에서 우리 나라입니다.매일 점점 더 많은 것을 발견습니다.그래서 나는 결정 시간을 보내거나 그렇게 매일을 프로그래밍을 위한 재미 있습니다.

그래서 내 아이디어는 세계를 구축 시뮬레이션입니다.하고 싶을 시작으로 무언가가 간단-일부는 인간처럼 살고있는 생물 자신의 생명처럼 Sims3 하지만 훨씬 더 간단하고,그 기본적인 필요,기본적인 애니메이션,그래픽 최소는 자산을 나는 그것이 없는 도시이지만 그냥 큰 집을 시작합니다.아이디어는 몇 가지 종류의 서버 응용 프로그램을 저장하는 전 세계에서 데이터 MySQL 데이터베이스,그리고 어떤 클라이언트 응용 프로그램-몸-적은 인공 지능 로봇 시뮬레이션하는 운동과 일부 상호 작용과 함께 세계 각니다.그러나지 않는 것이 재미있지 않고 3D.그래서 거기에 또한 3D 클라이언트가 입력할 수 있는 가상 세계와 표시의 인공 지능 로봇 생활입니다.을 때 로봇을 입력시 지역,그것은 물자로드 메시와 애니메이션,그래서 나는 그것을 볼 수 있습니다.를 떠날 때 나는 로봇을 잃게 자신의 3d 메시 몸이 다시 있지만,가상 생활에 여전히 계속됩니다.

시간이 나는 희망처럼 만들기 위해 어떤 확장 가능한 스크립트 가능한 샌드박스를 실험으로 다양한 인공 지능의 알고리즘과니다.하지만 나를 만드는 것입 full-blown MMORPG:D

도가 가능한 많은 것을 내가 해야(무료 오픈소스)그리고 이제 내가 선택해야 한다:

  • OGRE3D+enet(또는 RakNet).Old 좋은 C++.그러나지 않을 것이다 느리게 나를 그렇게 많이 나지 않을 재미를 더?

  • Bash.공식적으로 게임 엔진은 아니지만 매우 가까운 거리에 있습니다.C++again.

  • MOgre(OGRE3D 래퍼습니다.NET)+lidgren(네트워킹 라이브러리는 이미에 사용되는 몇 가지 게임 프로젝트).좋은-I 같은 C#,그것은 좋은 빠른 프로그래밍고도 사용할 수 있고 스크립트.

  • XNA 보인 프레임워크이 아닌 엔진,그래서 정말 의심을 가지고 있어야 나는 심지어 봐 XNA 게임을 스튜디오(

  • Panda3D-전체 게임 엔진으로 긍정적인 피드백이다.내가 정말 좋아하는 아이디어가 도구에서 하나의 패키지,그것은 좋은 평가를 초보자로 친절한 엔진다면,당신은 알고 있습니다.C++측면에서 Panda3D 에는 거의 존재하지 않는다.나 0 과 경험 Python 지만,나는 그것을 들었을 쉽게 배울 수 있습니다.는 경우 재미있을 것이고 도전적인 다음 난 것에서 혜택을 경험 중 하나에서 더 많은 프로그래밍 언어입니다.

그 어떤 것이 제안되지 않기 때문에 고급 기능의 또는 좋은 플랫폼을 지원하지만,대부분기 쉽고 재미있는 워크플로 및 확장,그리고 그래서 내가 만들 수 있습니다 통합하는 모든 구성 요소가 필요-서버에 데이터베이스,인공 지능 로봇 3D 클라이언트 응용 프로그램?

도움이 되었습니까?

해결책

는 경우 다음과 같 python,거기에 바인딩에 대한 귀신.체크아웃 python-귀신.내가 사용한 그것을 조금 및 보였다 안정적이 충분히 사용할 수 있습니다.그러나 당신은 발생합니다 가끔 버그으로 사용자 기반는 큰되지 않습니다.

나는 더 많은 경험 평 C++,귀하는 내가 즐겨 사용하여 많습니다.나는 생각하지 않는 것입니다 그것은 속도를 느리게 많이 있습니다.그것처럼 보이는 귀하의 프로젝트를 수 있는 규모가 꽤 큰 레벨,그리고 당신이 많이 필요하의 성능습니다.이 경우에는 C++은 결코 나쁜 선택입니다.

어쨌든 일단 엔진이 완료되면,그것은 거의 모두에 대한 스크립트입니다.당신은에서 할 수 있는 높은 수준의 언어는 경우.

다른 팁

나는 사용 XNA,그래서 내가 정말 당신에게 좋은 비해 다른 사람입니다.내가 말할 것이다 하는 동안 XNA 은 프레임워크 TorqueX3D 엔진입니다.당신은에 액세스하 TorqueX2D 및 3D 엔진 바이너리에 로그인할 때까지 개발을 위한 XNA($100/년).

나는 일을 하지 않았 3D 엔진,그러나 내가 사용한 2D 엔진입니다.내가 말할 것이라는 설명서를 API 수 있는 조금 부족하지만,그들은 정말 좋은 튜토리얼에 소개와 매우 유용하고 활발한 포럼에 대한 질문에 대답하지 않으면해 있습니다.

당신의 경험으로 C#은 분명히 매우 편리합니다.당신이해야에 충실하 Windows 개발하기 때문에,하지만 당신은에 액세스할 수 없는 네트워크 스택(또는 데이터베이스)Xbox360.

면 나는 일을 통해서 얻는 데 사용하는 토크의 스타일에,내가 그것을 발견할 수 있으로 작동합니다.그것은 매우 쉽게 추가/행동을 합니다.사운드 지원을 개선되었고 정말 간단의 일부와 함께 XNA 프레임워크의 최근 출시하였습니다.그것은 좋은 편집기 위해 2D,그리고 나는 생각한 3D 편집기는 괜찮은뿐만 아니라(하지 않은 정말 그것을 시도했)을 시작하는 데 도움을 만드는 수준입니다.나의 부족한 네트워크/데이터베이스에 부서지만,당신은 당신을 사용하여 표준입니다.NET 물건 또는 다른 라이브러리에서 작동합니다.

내가 될 것이라고 생각한다 당신의 시간 가치가 그것을 살펴보고 어쨌든 그것을 비교합니다.내가 믿는 당신은 무료로 다운로드할 수 있습(30 일)시험 없이 서명을 위해 XNA 하려는 경우다.행운을 빕니다!

Panda3D 보이는 약속이 있기 때문 수정하는 방법을 메쉬 런타임(이 기능은,버그 또는 그렇지 않으면 어려운에서 사용하는 많은 3D 엔진)는 것이 무엇이 필요한 작은 클라이언트 측 메시 변경 사항을 기록하여 일반적인 서버입니다.데이터베이스에 포함해야 타임스탬프 수정 작업을 실행할 수 있도록 적절한 쿼리를 생성하는 패치는 클라이언트를 위한 업데이 트를 얻기 위해 메시 정보 변경됩니다.

사용 InnoDB 만들 수 있는 테이블처럼 뭔가를 내 SQL 이 아마 하지만 이것은 아이디:

create table `vertex` (
  `id` bigint(15) not null auto_increment,
  `when` timestamp default now() not null,
  `x` number not null,
  `y` number not null,
  `z` number not null,
  `cR` number default 0.0 not null,
  `cG` number default 0.0 not null,
  `cB` number default 0.0 not null,
  `cA` number default 1.0 not null,
  `u` number default 0.5 not null,
  `v` number default 0.5 not null
) primary key (id) ENGINE=InnoDB;

create table triangles (
  `p1` bigint(15) not null references (vertex.id) on delete restrict on update cascade,
  `p2` bigint(15) not null references (vertex.id) on delete restrict on update cascade,
  `p3` bigint(15) not null references (vertex.id) on delete restrict on update cascade,
  `when` timestamp default now() not null
) primary key (p1,p2,p3) ENGINE=InnoDB;

id 은 꼭짓점 id 때는 타임 스탬프를 만들 수 있도록 업데이트 패치 x,y,z3d 꼭짓점 cR,cG,cB,cA RGBA 꼭짓점 색상 u,v 은 꼭짓점 텍스처 좌표 p1,p2,p3 참조하는 정점에서 꼭짓점 테이블을 형성하는 삼각형으로 표시하여 외국 사람들 키를 참조하...InnoDB 수리지 정의되지 않은 꼭짓점(ie:일관성)관련 문제도뿐만 아니라 그것을 사용합니다.는 경우가 허용을 모두 제거하는 삼각형으로 삭제 꼭지점 귀하의 상황에서 변경'제한'으로'캐스케이드'(제한하는 오류를 삭제하려면 꼭짓점으로 삼각형는 사용)

한 로봇 메쉬 알고리즘,기본적으로 당신은 implemententing LOD 추려한 로봇지 않습니다.많은 엔진이 이미 이것을 할 수 있습니다.예를 들어 모든 로봇의 스키닝/애니메이션 메시를 만들 수 있습니다 아이들의 로봇 외부 개체에 Panda3D 및면 로봇의 외부 개체를 발췌의 눈에 보이는 범위는 다음이 없이 아이들에 언급되어 있다.

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