Here is the screenshot:
And here is the 3DML file description for it. Later the Create tag will be greatly expanded to enable modifying textures and adding mini-scripts to each object. The number before each block name in the map levels refers to how to rotate the object - that is not working yet but is my next thing to do. I will describe it later - its a sort of shorthand for flipping blocks quickly.
Code: Select all
<spot>
<head>
<title name="ping"/>
<dimensions rows="6" columns="6" levels="4"/>
<blocks>
<block name="cube" file="media/stone1.3DS"/>
</blocks>
</head>
<body>
<create tag="cu" block="cube"/>
<maps>
<level>
00cu 00cu 00cu 00cu 00cu 00cu
00cu 00cu 00cu 00cu 00cu 00cu
00cu 00cu 00cu 00cu 00cu 00cu
00cu 00cu 00cu 00cu 00cu 00cu
00cu 00cu 00cu 00cu 00cu 00cu
00cu 00cu 00cu 00cu 00cu 00cu
</level>
<level>
.... .... .... .... .... ....
10cu .... .... .... .... ....
.... 00cu 01cu 02cu 03cu ....
.... .... .... .... .... ....
.... .... .... .... .... ....
.... .... .... .... .... ....
</level>
<level>
.... .... .... .... .... ....
20cu .... .... .... .... ....
.... .. .... .... .... ....
.... .... .... 00cu 00cu ....
.... .... .... .... .... ....
.... .... .... .... .... ....
</level>
<level>
.... .... .... .... .... ....
30cu .... .... .... .... ....
.... .... .... .... .... ....
.... .... .... .... 00cu ....
.... .... .... .... .... ....
.... .... .... .... .... ....
</level>
</maps>
</body>
</spot>
My next steps are:
- make the block rotations work so you can easily orient blocks to snap correctly
- convert my building block sets (at least the first 100 or so)
- enable blocksets in addition to individual blocks to be loaded
- make a ground (a plane to start but terrain soon after)
- add the player character
the framerate even with only 25 objects is Slowwwwww - i think i am using a debug IRR DLL so that should help once i get a release version - but if anyone has ideas on how to structure my scene which will one day contain hundreds of block objects so it works faster let me know - in my old application we wrote a culling algorithm based on the grid map that only fed blocks within a visible radius to the renderer - we also put a BSP inside each block to make it a wee bit faster.
once i get the above into the codebase i will make a release ...
hopefully i can also put in the lens flare stuff and add a better skybox image!