Hi all!
I am an avid fan of Visual Fortress, and am missing it terribly. With Babanoonza so graciously opening up the source code, I thought I'd try my hand at reviving it in a new guise.
From reading this thread, I noticed that the biggest problem is lack of flexibility - with each new iteration of DF the visualizer needs to be updated (or at least a new Memory.xml needs to be figured out), and it isn't easy to add features like exporters for offline rendering (think dumping the geometry into a povray file and running it through a raytracer, etc).
So, the new project will be open-source from the start and based around a Lua framework that ties together modules. Modules would be things like DFHack, Babanoonza's DF geometry engine, and a collection of importer/exporters. Modules will be separately built shared libraries, so updating the visualizer to a new version of DF is as simple as downloading the latest DFHack shared library binary. And if the API for a module changes all we need do is update the Lua framework files.
The better news is that the project is based completely on open source, cross platform tools and libraries. It uses CMake for configuration, so any build system with a CMake generator can be used (Linux, Mingw32, Cygwin, Borland C++, MSVC, etc.) I'm currently developing it on Mingw32 for Windows, but getting a Linux build up and running should be an afternoon's work.
I'll be making it available via GitHub soon, once I have something workable. So far I have console support, a basic multi-threading framework, a Lua engine and a Rendering engine (using GLUT) up and running. Currently all it does is show a rendered triangle and allows interactive Lua commands in a console window. But it is a start
Next up I'll be working on a basic material and scene manager. Most of it will come from existing code in Visual Fortress, so I'm skipping a lot of trial and error. Yay! Thanks B!
I am an engineer with professional game developer experience (think one of the big studios like EA, Ubisoft, Bioware, etc.) so I would like to think I know what I'm doing. But I'll need a lot of help, especially with artistic content and project management.
Any volunteers?
- Someone to manage the Linux and Mac builds would be awesome (I'm an Archlinux fan myself, but have to use Windoze at home for business reasons).
- A render expert to help with the rendering side of things (I have a bit of rendering experience, but not in OpenGL, and if I have to spend the time to learn it first it will take forever)
- A texture and model artist. Visual Fortress has a fair amount of existing content (and I know how to import it) but the collection will need tweaking and growing.
- A community manager - someone to set up a wiki, bug tracker, keep track of things happening in forum threads, create a gallery of visualizations, organize competitions etc.
The size of the response to this initiative will determine how much time I will commit to it. I'm doing it currently for the technical challenge and educational value (plus I really want to see my megaprojects in raytraced glory), but if enough people pitch in we can make this a big thing.
Oh, I'm calling it Obsidian (water + magma = obsidian, and DF + 3D = Awesome, thus Obsidian = Awesome)
Skeggox
(P.S. Spread the word, please)