This is suited for an isometric RTS or RPG, boardgames, or any project like The Sims or Tycoon games. It's not feature complete, but it can serve as a solid head start. Consult the readme file for controls and the contents of each script file.

http://www.geocities.com/hainesrs/isometric.zip - 503KB...includes all code, resources, and demo level


Here's what you get:

1. 3D isometric cam that's controlled via the mouse, keyboard, or both
2. Mouse to level clicking complete with draggable entities. Features a redefinable grid snap and panning of entities
3. Pan/tilt of the camera via the right mouse button
4. Full customization to suit your needs. Simply change initial values of some VARs and you're ready to go
5. Very basic demo level. Load into WED and run.


Known issues: - If anyone manages to squash any of these, please PM me or post your fixes here if you wish to share.

1. Grid snap quirk.

a. If an entity is on an elevation and is restricted to movement either in the X or Y direction(by holding down ctrl and alt keys), the entity can fly right off the block and into empty space. It can be released and will hover in midair. This is directly related to the fact that the Z position can never change whenever a restriction is true. I consider this a serious issue. A workaround is to simply disable restricting.

b. When an entities' movement is restricted and it is on the main ground plane, it cannot be placed on an elevated plane. It is very easy to make it do this via editing a very small amount of code, however this leads to the entity becoming elevated if the mouse cursor passes over an elevated plane and the entity is nowhere near it. I chose to eliminate placing an entity on an elevated while it is restricted because of this. If this issue can be resolved, then letter a.will also disappear.

c. If snapping is turned off(setting the snap vars to 0), the entity will sink into geometry up to it's origin and will hang off of elevated blocks by the same distance. Not a serious issue if you are using snapping(which is recommended).

2. There's no kind of entity on entity handling or entity managment period

As is, an entity can be dragged on top of another one and released from the mouse cursor. Ideally, if this happens, the entity should not be able to be released and neither should the other be able to be clicked on while the active entity is on top of it. Also, there isn't really any other type of entity management. This is just as serious as the one above.

3. Wobble cam when smoothing is > 0 and you rotate the view

Smoothing is what makes the camera gradually move from one position to another. It works great when you move the player around, but once you start rotating the view(right mouse button), the view will start to wobble. I have no idea how to fix that and the smoothing code is near the bottom of the cam.wdl. Smoothing is always 0, as is, so it is not an issue unless you make it nonzero. I consider it a minor issue, unless you really want the smooth movement.


My User Contributions master list - my initial post links are down but scroll down page to find list to active links