Last night I had one of those rapid prototyping sprints where everything goes just right. I wanted to scout the terrain for drawing a 3D Druid board using SVG.
The result is this. Yup, Perl 6 did that, with a little help from me.
It was very pleasing to see this image grow step by step. I literally started with a grey rectangle. Then I programmatically massaged the coordinates, adding projections, translations, scalings and rotations until I had what I wanted. Here's the code.
I still feel two things are missing.
Anyway, I've been wanting to do this for a long time, and I'm glad that when I finally sat down to do it, not only was the result quite satisfactory, but also the process of getting there. It's 2009, and I'm using Perl 6 to rapid-prototype 3D board games. Cool!
Now, with real perspective. (Score:1)
I added real perspective [masak.org], too. The small patch required for that is here [github.com].
The pieces have been sorted. (Score:1)
Sorting of pieces is now in, too. The algorithm randomly places a few pieces on the board and then draws them correctly [masak.org]. The patch [github.com] this time is perhaps not the height of legibility, but it gets the job done with surprisingly little code.
As for hiding surfaces, I'm not really sure at present if it's worth the trouble. But if it turns out to be, I now think I have a pretty good grasp on what can be done. There's a well-defined "directly behind" relation between pieces that can be used to weed out vertical sur
Awesome! (Score:2)
The little kid in me is always appreciative of the shiny. Nice seeing this :)