This new venture requires a flash/actionscript based web front end to interactively manage and graphicaly display the movements of up to 100 participants within a 16x16x16 3D maze.
There are many features to enter this requirement later, for now the basic engine needs creating - there will likely be more add on work later...
Please bid to provide the functionality currently described in the doc which is for the current player, DB integration to track multiple players will come later by separate project.
Project is confidential, opening attached documents you accept that you will not disclose any details to any 3rd party.
If you honestly believe that the project will exceed budget please justify and bid accordingly.
See attached .RAR for doc and sample files and images....
The screen should allow the following features for the player.
Buttons to navigate the maze in X, Y, or Z direction
Buttons to rotate the current view of the maze in X, Y, Z directions.
Click/Drag on the maze should also rotate the view of the cube.
The graphical representation of the maze does not need to show all actual available paths, except for the external surfaces. However the players position in the 3D space needs to be shown. The cube should be thought of as transparent so the player show through, and by rotating the cube you can see the x,y,z position of the player within the cube..
Maze definition to be read from local .BIN file supplied. (This will be changed to a web service at a later stage)
BIN file format
The two example files representing the same 16x16x16 cube maze= 4096 cells.
[url removed, login to view] - obj format with defining vertices and faces
[url removed, login to view] - 4096 bytes of raw data where each byte represents a cell and its value indicates which walls exist - see below.
The binary data is structured into the three dimensions in x then y then z.
first 16 bytes have x going from 0-15, with y=0, and z=0
second 16 bytes also have x going from 0-15, now with y=1 and z=0
After first 256 bytes x & y go back to 0 and z is now 1.
A nested loop as follow...
trace("offset for x:" + ix + " y:" + iy + " z:" + iz + " =" ix*iy*iz - 1);
The bits are assigned R->L representing walls Forward(x), Left(-y), Back(-x), Right(+y), Down(+z), Up(-z)
00000001 = F
00000010 = L
00000100 = B
00001000 = R
00010000 = D
00100000 = U
and all combinations, e.g., 00001111 would mean you have walls all around you but not above and below, etc...
I think the binary format will be used for storage and processing in the actual project - the OBJ file is provided purely to visualise in other 3D software, not for use in the project.
Current X,Y,Z location.
Distance traveled (number of movements)
Allow switch between 3rd / 1st person view
In 3rd person view: See [url removed, login to view]
Allow cube rotation using buttons or click/drag.
Show external surface of maze with transparency to show internal 3D location in space of player as they move, or rotate the cube. Directions available are
Backwards /Forward (-X/+X)
In 1st person view: See [url removed, login to view]
Show actual maze view in direction being faced. Motion only in direction being faced, so in this case buttons need to change direction being faced, and single move option.
One off views, i.e. these show extra info but freeze ability to move until view is exited.
• Show all players: Only in 3rd person view, show ‘DOT’ for all player locations, allow rotation of cube.
• Show ‘breadcrumb’ trail of total path of player.