Click to See Complete Forum and Search --> : What programming languages do I need to learn......


Storin
December 29th, 2003, 04:39 PM
What programming languages do I need to learn to do GDI programming. I am just starting out and wastn sure what I need to learn to do this. Also what programs are out on the market for this I am not talking Monsters Inc or Finding Nemo levels but more like Final fantasy area on the detail levels.

Thank you and take care

Storin

galathaea
December 29th, 2003, 07:26 PM
GDI is really not the correct technology to use for Final Fantasy style 3D simulations. Better would be openGL or DirectX (Direct3D in particular, with DirectDraw likely needed as well), as they are technologies much more focused on integration with hardware and expose a 3d pipeline already constructed for your use. If you were to do those things in GDI, you'd need to do a lot more work and the result would be slower.

openGL is a c style API. DirectX uses a COM style architecture with a little more "object-orientedness". You will still likely need to use a language that compiles to machine code in order to optimise your scene graph display since it is a very tight inner loop. This commonly translates into most game design being done in c or c++, though FORTRAN and others are certainly conceivable. There can also be machine code fine tuning for optimisation in really intense code.

Now, c or c++ is usually used for the engine (display, physics, interaction with controls, etc.), but the actual objects are usually built from a 3d modeling program. The two most common are Maya and 3DSMax, though there are several "also rans" and there are lots of little utility programs for specific parts of the modeling process. Maya and 3DSMax are for the most part visually interactive programs, and much of the object development in games is done by artists through that interface. However, both programs also expose a programming interface. Maya, for example (being the program I am most familiar with), exposes a scripting language MEL (Maya Embedded Language) and as well exposes a c++ framework for plugins to attach to the internal model (like adding nodes to the dependency graph).

Maya, 3DSMax, and the others are all professional products with a wide range of capabilities. Simpler object animations can be constructed like those of Final Fantasy and Ratchet and Clank, or more complex scenes like those in the Lord of the Rings type movies are both possible. The differences are not really in the software but in the amount of detail given to the design and the quality of texture / shading / etc. plug in used on the objects. Alot of professional attention has gone to creating the algorithms for realistic (and even abstracted / anti-realist) modeling, and alot of that technology is found in the plugins to the modeling environments, which themselves can be quite expensive.

The objects that are created by these programs can then be exported in whatever format your engine wishes to use and the display can be piped through whatever technology (openGL or DirectX) you wish to use.

Just some suggestions...

[galathaea]: Removed some of Andreas' edit and edited the colors
[Andreas]: Removed suggestion about ...

Storin
December 29th, 2003, 08:23 PM
Thank you very much that was extremely helpful and exactly what i was looking for I do apprecaite it


Take care and thank you again

Storin