Friday, January 05, 2007

The Scope of This Project

Alright, before I actually get to the two articles I promised I'd start out with, I feel the need to discuss a bit more about the scope of this project.

The vast majority of widgets that I've put together for my tabletop roleplaying endeavors have been designed for access through a web browser. In the past, I've had character sheets online so that players can update them at home, battle maps with virtual figs projected onto a screen or wall where players can log into a local server and move them across the board, and mapping software that allowed for the players to put their own labels on the map and sort them in real time through Firefox.

All of my widgets I've coded using a combination of PHP (4.x or 5.x) and MySQL, running off of an Apache server, and for this particular project, I intend to do the same.

All diehard programmers now will immediately say, "This certainly imposes some significant restrictions on what you can do," to which I must agree. PHP, being an interpreted language is certainly slower than C++, Visual Basic, or Java, which will cause very complex simulations to slow down to a crawl. Secondly, PHP is only good at exporting to webpages where some people may want to use the techniques in 3D.

I choose to use this combination for two main reasons:
  1. Anyone and everyone can view a webpage and click links.
  2. It forces me to keep my simulations simple and concise, so others who expound upon my work will have something easily portable to whatever platform they wish.
With the code that I'll share here, you can use it with minimal jiggery-pokery to export to a program such as POVRay to render a high-quality model, and it will be simple enough for you to port it to Java and integrate it with Java3D for visualization. I'll also have a version of all examples I show here up and running over on The Nerd Tank for tinkering.

So, now off onto the next topic: Perlin Noise!

-Steve Caruso

Labels: , ,


Post a Comment

<< Home