Quote:This part of the Lua book talks about arrays and how they think you should use them: http://www.lua.org/pil/11.1.html - You can use table.getn(array) to get the length of the array, which will either count the elements, or, if you've cached the size (using setn, or insert which updates it automatically) will retrieve that instead of counting.
, so you have absolutely no idea at what position you are in the array, and then, if you need to itterate the array, use the `foreach` syntax:
Quote:I think you're right, it'd have to be written as a fairly major extension, but they claim it's doable. I do really like the feature, so at some point or another I'm going to look into it.
Afaict, Lua Cheia doesn't implement them, so I'm guessing it's not trivial to do?
Quote:I think the convention is that up-left is 'north' so up-right is 'east', but in any case that is indeed exactly what isometric rendering is. The reason why you see more is just that the view is slightly tilted; therefore, with a camera at the same altitude, you have a larger view on the world.
In this case, if we're going to assume that muds have square instead of diamond rooms, north is either going to have to be the 7,8,9 wall (ne) or the 11,12,13 wall (nw).
Quote:Well, it's definitely true that almost no matter which package you choose, there'll be stuff in it that you don't need, and it'll be missing stuff that you do need. Generally, though, it's worth it, as you can add the stuff yourself (if you really need it and have no alternative solution) without having to write a 3d engine from scratch. In the case of things like Ogre3D, writing that from scratch would be quite an amazing feat. 3d engines are... hard to write. :-) (especially if they have advanced features and the like.) Not only are the mathematics non-trivial, but even then, it's fairly easy to get the darn thing running in general, but to get it running fast... that's quite challenging. And then, to be able to have a usable engine from an API perspective... *shudder* :P
Although this is probably my fault for not wanting to do it the way the implementor of the engine (/language) wanted me to do things.