Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 17 Sep 2001
Offline Last Active Aug 17 2013 07:29 PM

Posts I've Made

In Topic: Are graphs a good way to manage big terrain scenes?

01 April 2013 - 06:42 AM

Just to nitpick a little - trees are graphs. Acyclic directed graphs to be specific wink.png Regarding your question, it is probably not a good idea to stuff every kind of information you need into a single data structure. Rendering requires a different graph (tree) structure and data to be efficient than path finding or collision detection. Your initial scene graph may contain all the required data, but for real time use it's best to split that data up into separate layers (render nodes, path finding nodes, collision information, objects, etc.) and data structures that are optmised with regards to their respective usage.


Yet another thing to consider is the way your data will be used in general. A streaming file format and data structure has different requirements from a static graph that is loaded once (like using zones for larger patches of terrain). A http://en.wikipedia.org/wiki/Quadtree might provide a relatively simple way of subdividing larger scenes into smaller parts. It can be pre-calculated in an offline step so your heightmap can initially be quite large. By storing the tree in a linear fashion to a file and using an index into each level of the tree you can then easily locate and deserialise the data you need at runtime if you need to.



In Topic: We need help with moving forward on our game project (6 months in)

08 March 2013 - 04:27 PM

I would also recommend looking at Unity3D. It has a free edition that lets you try out and get comfortable with its development environment. Another plus of Unity 3D is that is has a wide variety of supported platforms. You should seriously consider 3D models for your characters, though. Depending on the number of characters/enemies needed, the effort of creating animations and different versions can be significantly lower than for 2D artwork (animations and models can be reused and easily modified).


On the hardware side of things nothing special is required. Pretty much any PC (not older than say 5 years) with a dedicated mid-range graphics card and a bit of RAM will do.

The amount of money required depends on the number of and payment for the team members. The amount of time required depends on the experience of the team and the amount of time your and your team members are willing or able to put into into the project. A total playtime of roughly fifty hours sounds pretty ambitious, though. Experienced professional full time teams take on the order of two to five years for such a project - just to give you a sense of scale here.


You might want to consider starting with a demo first - like a quest plus an optional small side quest with less than 30 minutes of gameplay, but with some of the major elements and features of the game implemented.

Tracking your efforts in doing so will give you an estimate on how your team performs and how much time and money would be required to actually finish it. Making a demo will also provide you with a sense of how to structure your workflow and how labour intensive the various aspects of the project might turn out to be. 

In Topic: Directx8 error LNK2019: unresolved external symbol PLEASE HELP!

02 March 2013 - 08:40 AM

The remaining errors are a result of interface changes in the ID3DX library between your installed version and the one the core_graphics implementation was built upon.

UpdateSkinnedMesh() should take 3 parameters and be used like this:

UpdateSkinnedMesh(matrix, NULL, mesh), where matrix points to your bone transform matrix and mesh is your mesh pointer.


I don't know the parameters for GenerateSkinnedMesh(). As a rule of thumb, however, you should never just throw in NULL parameters at random. Instead, take a look at the parameter types the function expects and match the variables that are used by the old code against them. Any parameter of the function that is not used by the existing code can be NULL (if it's a pointer).

In Topic: Blender units to directx units?

02 March 2013 - 04:57 AM

There is no such thing as "directx units". If you model a unit cube the exported cube should be a unit cube as well. Any perceived difference in scale is therefore a result of either scaling by the exporter or simply different camera settings in Blender and your application. The former can easily be checked by examining the vertices of the loaded model.

In Topic: Directx8 error LNK2019: unresolved external symbol PLEASE HELP!

02 March 2013 - 04:46 AM

Start by actually reading what the linker is trying to tell you:

The last error for example tells you about a missing implementation of the Run()-Method in the class cApp. A quick look at your main code confirms this - you need to implement cApp::Run() there.

The other linker errors have nothing to do with DX8 or DX9 either - you simply seem to have forgotten to include a bunch of cpp files in your project. All those missing methods the linker is telling you about are implemented in source files that are not part of your build. That's what you need to fix.

You should also just include either dx8 or dx9 libs - not both (e.g. get rid of the #pragma comment(lib, "d3dx9.lib"), #pragma comment(lib, "d3dx9d.lib") and #pragma comment(lib, "d3d9.lib")).