Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm looking to begin a procedurally generated open-ended sandbox game and would like some educated opinions on a good starting point. (Take a look at the "Engine Specifications" if you don't want to read the whole post) I do not expect there to be an engine/set of libraries that meets all my requirements, but instead meet some essential ones (like rendering/collisions). I realize I will be building many engine components from scratch and appreciate any extra advice you want to include in your answer.

A little background

I am a fairly experienced programmer with intimate knowledge of modern design practices and know most popular programming languages like C++ and C#.

I've dealt with other 3D engines before like the Source Engine (C++) and UDK (UnrealScript) for some personal projects. I'd like to think most of my knowledge is of FPS game design and what the standard components are of FPS oriented game engines.

My design goal

In a nuteshell: I plan for my game to be a procedurally generated open-ended sandbox game that consists of large blocks as the basic geometry. The player will play in the first person.

These uniformly sized blocks will be large enough so that it can act as a segment to a hallway that the player could walk through. A block could also act as a wall to a building, be completely solid, or be completely empty. These blocks are changeable, removable, and placable.

By now this should sound familiar but its important to understand some critical and defining aspects of the game:

Engine Specifications

  • Blocks themselves contain collisions meshes within themselves; a wall can be placed on any of the 4 sides of the cube and a ceiling/floor on the remaining top and bottom faces.

Example of block collision configurations: Some possible block configurations

  • Blocks contain (unless they are empty or fully solid) independent visual meshes on each of their sides that contain collision meshes. They will be relatively simplistic and contain generally low resolution textures (the right resolution would come from benchmarking tests).

  • No complex shaders, effects, or lighting will be implemented. Only very basic implementations for performance.

  • Blocks contain basic navigation information and when connected to eachother, form a navigation network of nodes. The blocks themselves act as nodes and their connectivity to other nodes are determined by wall placement and so on.

  • Basic node based pathfinding will be implemented for AI.

  • The most challenging aspect will be multiplayer I presume.

  • Ray tracing

  • Simple particle engine

  • Physics simulation not likely, just basic fps movement physics

I realize I have a sizable workload in front of me as most engines are not geared for this type of game and so common design paradigms will be sparse. However, I believe there is an engine out there that I can work with to speed things up.

Game engines I have knowledge of

  • Gamestudio (clight)
  • Source Engine (C++)
  • UDK (UnrealScript)
  • Panda3D (C++/Python)
  • Torque3D (C++/TorqueScript)
  • Unity (C#)

I don't really prefer to use any of the ones I've listed for different reasons (mostly because they're FPS engines), but if you think one of them would be a good choice let me know.

Do you know of a game engine or technology bundle that would best help me implement my specifications? Apologies for the lengthy post.

Note: I wouldn't mind investing a few thousand dollars if it justifies itself.

share|improve this question

closed as not constructive by Byte56, Josh Petrie, Patrick Hughes, Trevor Powell, Nicol Bolas Aug 5 '12 at 22:17

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Hello Slight, welcome to the site. Which technology to use questions are considered off topic for the site. See the FAQ to see what types of questions are suitable for the site. Do come back and ask any specific on topic questions you have! Thanks. – Byte56 Aug 2 '12 at 21:33
I've read the FAQ, and I don't feel that my question is your standard run-of-the-mill "which technology should I use" question. I feel like my question is more asking what technology I should look at implementing for my specific needs, either by coding it myself or by using a third-party library or (hopefully) an engine (which is a closely associated collection of libraries). I feel like this question is not common and could help people in the future who are in my unique situation. – Slight Aug 2 '12 at 21:59
Maybe this "which technology to use ban" should be softened a bit... Here, this sounds like a good question after all. Maybe a debate to open on meta. – Laurent Couvidou Aug 2 '12 at 22:13
Do you have any budget for this? – Laurent Couvidou Aug 2 '12 at 22:49
@Slight, I will direct you to this entry in my blog. Using a pre-made engine is a much better idea than making your own. You'll be done with your game before me! Sorry I don't know much about what different engines offer, otherwise I'd answer your question. Though from my understanding, Unity seems pretty nice. – Byte56 Aug 2 '12 at 23:17