dim3 Forum

Full Version: dim3 FAQ - (Please look here before asking a question)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Carlos Camacho

General Questions

What is dimension3 (dim3)?
dim3 is a "engine without content."  It's a 3D game engine designed for moders where every part of the engine is changable and you can create wholly original games.

Is dim3 a Mac-only tool?
Development of projects is, but your finished game can be also run on windows or linux.

Does dim3 require me to learn programming?
Yes, but it is kept to a minimum.  Unlike other engines, however, you are
able to focus more on the content side of the game.

What computer language must I use in dim3?
dim3 utilizes JavaScript.  This is, in
content, the same language as used by web pages.

Where can I download dim3 and what is the latest version?
The latest copy will always be at http://www.klinksoftware.com

Why won't animation import my meshwork files?
Animator is looking for files with a ".mesh" extension. Make sure your
file has that extension.

How do I add a bone in Animator?
Select the vertexes you want to attach to the bone by click and dragging
the selection rectangle. You can also use the modifier keys when clicking
(watch the cursor) to add or subtract points. Once you have the correct
vertexes selected, add a bone from the menu and it's automatically attached to those vertexes. You can also set vertexes one at a time from selecting them from the vertex list and adding the bone there.

Editor Questions

What are portals and sight paths?
All pieces of maps, from walls to objects, all are owned by a portal.
Portals are used to break maps up into smaller pieces. Sight paths are the
connections between portals. In essence, a sight path tells what portals
can be seen from each other. Portals are the most important thing for
creating speedy maps as the engine can use portals to quickly eliminate
large sections of the map.

Why doesn't my texture work?
When a texture doesn't work, it's usually one of these reasons. It's not
in the right folder (for maps, dim3 data/bitmaps/textures), it's not a
power of two (all textures must have sides that are a power of two, 2, 4,
8, 16, 32, 64, 128, 256, 512, etc), it's not PNG type, or it's two big
(accelerated video cards can only deal with textures up to a certain size.)

Scripting Specific Questions

What's a Event?
Scripting works on an "event" model. When something happens inside the
engine, a script is sent a "event", this event could be anything from a
weapon being fired to an animation needing to be changed. You're scripts
only need one function:

Code:
function event(theObj,mainEvent,subEvent,id,tick)
{
}

All events come in through this interface.  Events have three man
components, the mainEvent, which is the main event type, like
"DIM3_EVENT_MAP".  The subEvent is the sub-type, like "DIM3_EVENT_MAP_OPEN"
and "DIM3_EVENT_MAP_CLOSE". The id is usually user defined.
For a complete list of events, check out the "Constants" document in "dim3
Documentation/Object Model".

What are the 3 documents in the Object Model (scripting)
documentation?

Constants -- these are hard-coded constants you use inside of dim3
scripts, like event types and camera types.
Global Objects -- these are objects (objects are script "objects"
that control a certain part of dim3) that are available to all scripts,
globally.
Script Objects -- these are specific objects that are passed to each
script and control the game object the script is attached to. This object
is always passed in the "theObj" parameter of the event function.

Misc Questions

Is the engine open-source?
Yes, check the website for the code.  It is published under a very liberal license.

How can I help?
The best thing you can do is try out dim3 for any projects you might have planned. Is dim3 useful to you?  If not, tell me why, a lot of the project is driven by user requests.

How can I quickly find all dim3 messages here?

Use the Advanced Search page and enter "dim3:" as the keyword search.
Also, there are lots of things to learn; figure out how to do good models, share the knowledge. Figure out how to do script something? Share the knowledge!

Reference URL's