Settings and activity
6 results found
-
2 votesedropus supported this idea ·
-
4 votesedropus shared this idea ·
-
22 votes
An error occurred while saving the comment edropus supported this idea · -
103 votesedropus supported this idea ·
An error occurred while saving the comment edropus commentedNote: I assume A LOT below. I'm not saying that this is how the game works, just that this is how it would work if I wrote it. IE, if the way the screen writes is similar to the below, it should be viable.
Let's say for the sake of ease that the screen only displays 8x8 blocks at a time.
It's theoretically simple to do in 90 degree turns since ALMOST all of the blocks in the game theoretically 'look the same' from any direction. Let's just pretend for a minute that carpets and doors didn't exist and all we were left with were blocks that 'looked the same' from all 4 corners.
After pulling the local region's blocks down to the client I'd write them to the screen starting in the upper-left hand corner, moving right until I'd drawn an entire line, then I'd move down one and do the same - IE, write from 'block' 0x0 to 0x1, 0x2, 0x3 until I got to 0x7, then I'd move down to 1x0, 1x1, 1x2, 1x3, etc.
In pseudocode:
x is 0, y is 0
while x < 8
while y < 8
draw block(x,y)
x ++
y++And this would take the region block information from the server and draw it to the screen from the upper-left to the lower-right corner, row by row.
Now in THEORY to 'rotate' the camera you'd just have to change the order in which the blocks are drawn to the screen, again on the assumption that these blocks would all look the same from each direction.
For example, let's say you wanted to rotate the camera 90 degrees to the left. This would make it so that what was formerly drawn in the upper-left corner of the screen is now drawn in the upper-right, and instead of building from left-to-right we're building from top to bottom. Like:
x is 0, y is 7
while y < 8
while x > 0
draw block(x,y)
x ++
y ++Here's another way to say it. Let's say this is how we normally draw the screen, where the X is in the upper left and the Y is in the upper right.
XoY
ooo
oooRotate 90 degrees to the left:
ooX
ooo
ooYAnother 90:
ooo
ooo
YoXAnd so on. The above string of blocks is [XoYoooooo]. The point is you can write this to screen from different directions (again assuming the blocks look the same on each side) by changing the direction and order in which the blocks are drawn to the screen.
Now again I'm not saying that this is an 'easy' fix or that I know exactly how it works - I could be COMPLETELY off and this could be nowhere CLOSE to how the client draws to the screen. I'm basing this mostly off of stuff like Flash and HTML5. Even if it IS similar to the way 8bitMMO handles it, that doesn't mean it's an easy thing to just slap together. And the above scenario isn't ideal because there ARE blocks in the game that look different depending on the angle. I had just had this idea the other day, so when I saw your suggestion I figured I'd put it on here.
Good luck on the idea!
-
161 votes
This is a pretty good idea — planned for the next newsletter weekend (probably around Easter sometime)
edropus supported this idea · -
3 votesedropus shared this idea ·
This is an awesome idea.