VASSAL 3D

What do you think about making a 3D version of Vassal? How difficult would it be to turn Vassal into a 3D engine and are you interested at all?

There’s currently a program in the works which will be similar to Vassal, but in 3D. Unfortunately it won’t be free when it’s done. It’s called Virtual Tabletop, here’s a link: racingspidergames.com/

And some screenshots: timneveu.com/corvan_ridge_ca … battle.htm

3D? Wargames don’t need 3D. If Vassal engine is slow now (sometimes), I cant imagine if it has to handle 3D… :confused:

Thus spake “Skorpio”:

We’re already planning to start using JOGL to send all of the the 2D
rendering through a 3D renderer. What needs to happen before we can start
that is refactoring the data and drawing code into separate classes. That’s
a very big job. Once that’s done, it would at least be possible to think
about adding a thrid dimension, though I don’t honestly see the value of
that for most games.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

One use is for elevation and LOS. Once we get the 3D renderer working, anything after that will be relatively trivial.

  • M.

Post generated using Mail2Forum (mail2forum.com)

Yes, even many miniatures games actually don’t need a third dimension, except for some LoS issues, but it would add a lot to the feeling. Playing in a 3D environment with 3D models is much more appealing to the eye than with 2D images. It’s almost like playing a real tabletop game, except that you can’t touch the minatures. That would be the next upgrade. ;) And with a 3D game you could even play inside a fortress or dungeon with different levels like Minas Tirith or Moria from Lord of the Rings.

Thus spake “Michael Kiefte”:

Remember a long, long time ago when someone said that we need to separate
the model from the view in our code? That’s the way forward on this.

For example: Right now, BasicPiece is a mess of data-handling code and
drawing code. What needs to happen is for BasicPiece to be data-only
and to have, say, a BasicPieceView interface implemented by anything which
creates a representation of that data. So two possible implementations
of that could be BasicPieceViewJava2DImpl and BasicPieceViewJOGLImpl.

There are several advantages of taking this approach:

  1. More than one kind of view can coexist this way. I’m not sure that
    JOGL performance will be acceptable for everyone, and anyway I don’t
    see that it will be possible to make all of the changes necessary for
    JOGL in one go. If we have more than one view available for rendering,
    we’ll be able to test as we go, rather than having something completely
    broken right up until the point when it works.

  2. With the model and view separate, we can write unit tests for the model.
    This should dramatically cut down on bugs in the future.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Skorpio”:

Point taken.

Before we can do any of this, however, we need to finish 3.1.0. We could
use more help from programmers with fixing bugs. Brent and I aren’t
keeping up with the bug reports.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I don’t know about anyone else, but going into 3D image making doesn’t sound appealing to me, as I have no ability whatsoever in 3D programs. I do have to admit that it would be cool, but I think it would considerably cut down on the number of mod makers, unless you were somehow able to keep the top-down view available and make the third dimension optional.

And I would help with fixing bugs, but I have no experience in Java, so I don’t think I would be of any use.

I can still take a look, if you want. I might be able to work some things out at least.

I don’t know if you want to add me to the project or not, though. Since have very little experience with Java, I should probably find the bug, fix it how I think I can, and suggest to you guys how to do it. But, if you do want to add me (maybe I can figure out that branch thing), my email is rhydonj@gmail.com.

The original purpose of moving towards 3D rendering engine was to speed up the zoom feature. Otherwise, we’re not proposing any other major changes at the moment.

  • M.

Post generated using Mail2Forum (mail2forum.com)

I’m a newby here - so wary of overplaying my hand.
But THE thing that drew me to Vassal was the look and feel of the real board wargame.
If I want 3D - there are a bunch of very good products out there - eg. Combat Mission and follow style products.
Grant

Combat Mission looks interesting, but I don’t know how modifiable it is and if you can compare it to VASSAL at all, and it’s not free like VASSAL.

Also moving towards 3D rendering doesn’t mean that 2D modules won’t be possible anymore. You just need an orthographic camera in top view and you have a 2D game.

Just to clear things up, what we’re talking about is nothing like what Grant is referring to.

Again, the primary reason why we want to use the Java 3D rendering engine is to speed up the zoom function. What we want is smooth and continuous zooming. Anything else is secondary.

  • M.

2008/11/21 Skorpio <messages@forums.vassalengine.org (messages@forums.vassalengine.org)>

Post generated using Mail2Forum (mail2forum.com)

I have thought about a 3d view some time ago. With the already present vassal code it is not that complex to have a new gamepiece representing the 3d model, position and everything else is already defined in the current game.
It should be absolutely easy to accomplish a ‘display only’ 3d view on the std. vassal code with just a hand of custom classes.
But most WARGAMES would not need this feature at all. Don’t lead me into temptation Skorpio… The modules I’m working on are not making the progress I wanted, so no chance for the christmas gift of a 3d view.

What one would need (for the read only part):
a 3d view
a camera object with perhaps some customizations vor ortho projection or free move
a gamepiece with a storage to a 3d mesh/texture definition of your model your renderer can cope with, with some options to just take the 2d image and use this on (a cube, a flat card, an upright card), if none is defined the std. 2d piece should be drawn on the ground.
some code (for handling collision, placing pieces on top of each other, etc.) which comes for free in jmonkey and similar renedering packages

If anybody wants to start this I can give a hand and some tips on how get this rolling and to attach perhaps jmonkey3d or a similar package to this.

On Nov 24, 2008, at 12:42 PM, ghoust wrote:

But what about the blocks games?

(Just kidding. They are adequately handled by masking and rotation
with a 2D-view. The only reason they need 3D in real life is to
conveniently hide information from only one side.)


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “ghoust”:

I suspect that this would not be as easy as you think.

How familiar are you with Java 3D packages? Can you comment on the advantages
and disadvantages of using something like jMonkey versus JOGL directly?


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

Thus spake “Molokai”:

Something which would be truly helpful right now is if you could round up
all of the bugs people have reported in the forum which both (1) exist in
the current development build, and (2) do not have a corresponding entry
in the bug tracker.


J.


Messages mailing list
Messages@forums.vassalengine.org
forums.vassalengine.org/mailman/ … engine.org

Post generated using Mail2Forum (mail2forum.com)

I am fairly new to Vassal but not to 3d, I don’t know what hoops you would have to jump through to accomplish this, but from a design point of view it opens up a hell of a lot more opportunities, like playing on a globe etc.
If you could do it, it would increase your user base I am sure. Graphics do sell or better entice. The more options at the hands of designers the better I say.