Roadmap for VASSAL 4

I seem to recall having done that once. I actually kind of like GTK myself.

I thought it was a good idea because I hate C++, but it really is hard to
use. I’m also not keen on function names with 14 underscore characters.
You can use Glade, but VASSAL uses run-time dialog creation (which, in
retrospect, might be hard to do in Qt).

  • M

Thus spake Michael Kiefte:

I thought it was a good idea because I hate C++, but it really is hard to
use. I’m also not keen on function names with 14 underscore characters.
You can use Glade, but VASSAL uses run-time dialog creation (which, in
retrospect, might be hard to do in Qt).

I was thinking that we should mandate that all private functions start
with 14 underscores: ______________move(int x, int y).

Seriously, though, the runtime-dialog creation is something we need to
think about. I thought there were systems in C++ which could create
dialogs from text specifications at runtime.


J.

You can do that in wxWidgets I believe.

See:
docs.wxwidgets.org/stable/wx_xrc … rcoverview

That’s how the GUI editors for wxWidgets work. Never done it though.

Not sure if there is an equivalent in Qt – I have a lot less experience
with it (like – almost none).

  • M.

On 30 March 2011 12:19, Joel Uckelman uckelman@nomic.net wrote:

Thus spake Michael Kiefte:

I thought it was a good idea because I hate C++, but it really is hard to
use. I’m also not keen on function names with 14 underscore characters.
You can use Glade, but VASSAL uses run-time dialog creation (which, in
retrospect, might be hard to do in Qt).

I was thinking that we should mandate that all private functions start
with 14 underscores: ______________move(int x, int y).

Seriously, though, the runtime-dialog creation is something we need to
think about. I thought there were systems in C++ which could create
dialogs from text specifications at runtime.

On Mar 30, 2011, at 5:36 AM, Joel Uckelman wrote:

It’s not clear to me what the long-term situation of Java on the Mac
is
—we might suddenly find that there is no longer a working JVM there.
Using it also prevents us from having something which could work on
iOS.

From what I see (and presumably you as well, since you’re on the
Apple Java developer mailing list) is that Oracle will be taking over
the task of delivering Java VMs for the Mac as well as their current
Windows and Linux/Unix versions. In some ways that is likely to be an
improvement over the current situation where Apple’s release is often
a bit behind the Oracle releases.

Thus spake Thomas Russ:

From what I see (and presumably you as well, since you’re on the
Apple Java developer mailing list) is that Oracle will be taking over
the task of delivering Java VMs for the Mac as well as their current
Windows and Linux/Unix versions. In some ways that is likely to be an
improvement over the current situation where Apple’s release is often
a bit behind the Oracle releases.

It might improve the lag situation. It might mean that nobody is stuck
on Java 1.5 anymore, either, which would be great. I’m not holding my
breath for Oracle to fix the long standing non-Mac-specific bugs that I
was complaining about, though. It might happen that they get fixed in
OpenJDK—I do see a fair bit of activity there—but that’s of no help
to us until everybody on every platform we support can run it.


J.

I spent the week before last creating a demo program in Python, to see what is possible there. You can see the result here:

vassalengine.org/~uckelman/pytest.tar.bz2
vassalengine.org/~uckelman/p … indows.zip

To run the non-Windows version, you need Python, pygame, PyOpenGL, and numpy installed. For the Windows version, everything is supposed to be included, but I can’t test it because OpenGL doesn’t work on the Windows XP virtual machine where I built the package. In either case, the way to run the demo is from the command line.

For Windows: threedee.exe map.png

Everywhere else: threedee.py map.png

I was surprised by how little code it took to get this working. It’s only 601 lines, including a bunch of dead code I could remove. Please give this a try, and let me know how it works for you.

On a related note, were we to use Python, how many of us already know it? Are willing to learn it? Similarly, were we to use C++, how many of us already know it? Are willing to learn it?

On 18 April 2011 18:11, uckelman uckelman@nomic.net wrote:

I was surprised by how little code it took to get this working. It’s
only 601 lines, including a bunch of dead code I could remove. Please
give this a try, and let me know how it works for you.

Works for me. I have some questions though. You appear to be using
pygame. Does that limit you in terms of what you can do with OpenGL? For
example, it’s obvious you can do textures (or whatever we’re supposed to
call them now), but can you actually do 3D rendering from pygame? My
impression was that pygame is limited to 2D games.

On a related note, were we to use Python, how many of us already know
it?

Not me.

Are willing to learn it?

Can’t be worse than perl, right?

Similarly, were we to use C++, how many of
us already know it?

I do, unfortunately. Can’t be worse than perl, right?

Are willing to learn it?

As long as we keep it to the subset that is compatible with ANSI C, sure.

  • M.

No go here

-----Original Message-----
From: messages-bounces@vassalengine.org
[mailto:messages-bounces@vassalengine.org] On Behalf Of uckelman
Sent: Monday, April 18, 2011 4:12 PM
To: messages@vassalengine.org
Subject: [messages] Edit: [Developers] Re: Roadmap for VASSAL 4

[This message has been edited.]

I spent the week before last creating a demo program in Python, to see

what is possible there. You can see the result here:

vassalengine.org/~uckelman/pytest.tar.bz2[1]

vassalengine.org/~uckelman/p … indows.zip[2]

To run the non-Windows version, you need Python, pygame, PyOpenGL, and

numpy installed. For the Windows version, everything is supposed to be

included, but I can’t test it because OpenGL doesn’t work on the Windows

XP virtual machine where I built the package. In either case, the way to

run the demo is from the command line.

For Windows: threedee.exe map.png

Everywhere else: threedee.py map.png

I was surprised by how little code it took to get this working. It’s

only 601 lines, including a bunch of dead code I could remove. Please

give this a try, and let me know how it works for you.

On a related note, were we to use Python, how many of us already know

it? Are willing to learn it? Similarly, were we to use C++, how many of

us already know it? Are willing to learn it?

[1] vassalengine.org/~uckelman/pytest.tar.bz2

[2] vassalengine.org/~uckelman/p … indows.zip


Read this topic online here:

https://forum.vassalengine.org/t/roadmap-for-vassal-4/3769/44


messages mailing list

messages@vassalengine.org

vassalengine.org/mailman/listinfo/messages

I got an error on my Ubuntu 10.10 VM. I am not sure if the missing soundcard is the cause.

"
there is no soundcard
Traceback (most recent call last):
File “./threedee.py”, line 600, in
main()
File “./threedee.py”, line 361, in main
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 8.0)
File “/usr/lib/pymodules/python2.6/OpenGL/error.py”, line 208, in glCheckError
baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
err = 1280,
description = ‘invalid enumerant’,
baseOperation = glTexParameterf,
cArguments = (
GL_TEXTURE_2D,
GL_TEXTURE_MAX_ANISOTROPY_EXT,
8.0,
)
)
"

Thus spake Michael Kiefte:

I was surprised by how little code it took to get this working. It’s
only 601 lines, including a bunch of dead code I could remove. Please
give this a try, and let me know how it works for you.

Works for me. I have some questions though. You appear to be using
pygame. Does that limit you in terms of what you can do with OpenGL? For
example, it’s obvious you can do textures (or whatever we’re supposed to
call them now), but can you actually do 3D rendering from pygame? My
impression was that pygame is limited to 2D games.

There are two things in the demo which rely on pygame: image loading
and the event queue. We could do image loading with PIL (which is
what pygame uses anyhow) and whatever windowing toolkit we use will
provide an event queue. The only reason I used pygame was that I had
a broken version of GLUT when I started working on the demo. (It’s
since been fixed.


J.

Thus spake “Tim McCarron”:

No go here

How did it fail? Was there any error output?


J.

Thus spake lancel:

I got an error on my Ubuntu 10.10 VM. I am not sure if the missing
soundcard is the cause.

"
there is no soundcard

No, I doubt that’s the probelm.

Traceback (most recent call last):
File “./threedee.py”, line 600, in
main()
File “./threedee.py”, line 361, in main
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAX_ANISOTROPY_EXT, 8.0)
File “/usr/lib/pymodules/python2.6/OpenGL/error.py”, line 208, in
glCheckError
baseOperation = baseOperation,
OpenGL.error.GLError: GLError(
err = 1280,
description = ‘invalid enumerant’,
baseOperation = glTexParameterf,
cArguments = (
GL_TEXTURE_2D,
GL_TEXTURE_MAX_ANISOTROPY_EXT,
8.0,
)
)

It appears that your graphics card doesn’t support anisotropic
filtering. I wasn’t checking for supported OpenGL extensions before
trying to use them. I’ll have to do that.


J.

Got the python modules installed. It runs. When I maximized the window:
Fatal Python error: (pygame parachute) Segmentation Fault
Abort trap

Forum seems to have eaten my picture of the command prompt window with the error
output :frowning:

Have to get it later


From: Joel Uckelman uckelman@nomic.net
To: messages@vassalengine.org
Sent: Tue, April 19, 2011 3:23:30 AM
Subject: Re: [messages] Edit: [Developers] Re: Roadmap for VASSAL 4

Thus spake “Tim McCarron”:

No go here

How did it fail? Was there any error output?


J.

I do appreciate Python and I do think it’s a great platform, but I think, in the long run, it might be a hassle to support across multiple platforms.

At least in C++, we can potentially port to iPad at some future point. That’s never going to happen with Python.

I’m voting in favour of freeglut or openglut with C++. If I manage to catch up in the next few weeks, I’ll take a look at my old JOGL program and port it to OpenGL + openglut.

  • M.

On 2011-04-19, at 8:03 AM, bdgza bdegroot@gmail.com wrote:

Got the python modules installed. It runs. When I maximized the window:
Fatal Python error: (pygame parachute) Segmentation Fault
Abort trap


Read this topic online here:
Roadmap for VASSAL 4 - #51 by bdgza


messages mailing list
messages@vassalengine.org
vassalengine.org/mailman/listinfo/messages

Thus spake bdgza:

Got the python modules installed. It runs. When I maximized the window:
Fatal Python error: (pygame parachute) Segmentation Fault
Abort trap

That’s new. On what OS?


J.

Thus spake Michael Kiefte:

I do appreciate Python and I do think it’s a great platform, but I think, in
the long run, it might be a hassle to support across multiple platforms.

At least in C++, we can potentially port to iPad at some future point. That’s
never going to happen with Python.

I’m voting in favour of freeglut or openglut with C++. If I manage to catch u
p in the next few weeks, I’ll take a look at my old JOGL program and port it
to OpenGL + openglut.

You don’t need to do that—porting my Python demo to C++ would take
about an hour, in my estimation. I was planning to do it myself next
week.


J.

MacOS X 10.6.5.

Thus spake bdgza:

“uckelman” wrote:

Thus spake bdgza:

Got the python modules installed. It runs. When I maximized the
window:
Fatal Python error: (pygame parachute) Segmentation Fault
Abort trap

That’s new. On what OS?


J.

MacOS X 10.6.5.

No idea, then. I don’t have a VM of MacOS to play with, so I can’t
even start troubleshooting.


J.

Here is my error from command line

[attachment=0]cline.png[/attachment]