New and somewhat confused

Hi all and thanks to vassal for having me. I am here to try and understand how the Vassal engine works so i can design my own modules. I started a week ago and can do most of the basic things, learning through online videos and trial/error. I have noticed in the videos that some script is occasionally added such as “DeckName==…”. Where does DeckName come from? I know they are called Beanshell Expressions and some of these terms seem to be invented by the designer but others appear from nowhere. Is there a glossary of Beanshell expressions that are Native to Vassal? Thanks

Darren

The Reference Manual is your friend. Specific to your question, see Basic Piece, Properties, and Expressions.

Note that the Help buttons within the Editor bring up the appropriate page of the reference manual for the trait or component you’re working with, also.

1 Like

Hi;
Thanks for the reply. I have been using the help buttons a lot and they are useful but the information regarding Beanshell is completely foreign to me and explains little. The manual also suggested trying some basic Java tutorial but where can I find them? If I have to learn Java to use Vassal I think my Vassal modding will be very limited. The information in this manual is not all that good for beginners, it seems to be written for people who already have some knowledge in this field.

Thanks;
Darren

I hope you won’t be discouraged! If learning Java were a pre-req for Vassal modding, my guess is that 90%+ of modules would never have been written. There are currently, 2900+ modules on the official catalogue alone.

If you can use spreadsheet formulae you should take to Beanshell without too much trouble, with the help of those links that @jrwatts posted. The Game Piece and Expressions sections give you most of what you will ever need to construct useful expressions.

I was in a similar position to you when I started 3 years ago; I am now confident in module development, without any ability in Java. What helped me get started was the Vassal 101 youtube series by Joel Toppen.

Start gently and work up from there. Post here or on the Discord channel and you will likely get prompt help to progress.

Good luck!

1 Like

Hi;
I have watched all 10 of those videos and the most confusing one was #9 where he was explaining how to set up a button to send a card (counter) to another deck. Aside from the complex array of Global Properties and Global Key Commands required, his GKC had the following: {DeckName==“Women”}. Now I can see that the Property names he uses in this video are those he has created himself but where did DeckName come from? From where I sit he has pulled it out of a hat, it is not explained at all and I can find no info about terms such as this. Are terms like these built into vassal? DeckName and CardType as well? I find the information provided rather vague and beyond me. So far I have been able to do everything I have wanted to do and even fix a few bugs in other mods (including one of Joel’s - Nightfighter Ace) but only with perseverance and by looking through the mods created by others. What can take me a day would most likely take you 5 minutes with my almost zero understanding. Very frustrating but thank you for the encouragement.

Regards;
Darren

DeckName is indeed one of the built in Game Piece Properties. You can view a comprehensive list starting about half down the Game Piece Properties reference manual page. DeckName is explained there.

1 Like

Hello again;

That link has some useful info it will be difficult though. You mentioned Spreadsheets before? No I gave up on them many years ago, mainly because it was boring and I had no motivation. This rime I do but it will be a long hard slog I think. Modifying existing modules may be my limit but I will persevere for a while with it. Thanks for your time.

Regards;
Darren

1 Like

Today I was able to replicate the button which Joel Toppen made in his video VASSAL Module Design 201 Lesson 9 - YouTube that will retrieve a card (or counter from a Deck and place it on that button. I have create a Test module where I try to reproduce what I see in these videos or features that I like in other Vassal modules. You may find my method a little strange, for Joels Video, I downloaded the game Navajo Wars which he used in this video then went through it using the editor and found the relevant Keys, commands etc. then repeated them in my Test Module. It took me about 3 hours. Problem is I don’t understand a large part of what I had done but it works I guess. :face_with_raised_eyebrow:

Darren

When I started creating modules I had no knowledge of programming or Java and today I make my own modules quickly and sometimes with complex executions.

To learn, what I did was choose the game I wanted to develop and when I didn’t know something I downloaded modules to see how they worked and thus replicate their actions. Once you see how programming works, everything happens easier.

If you have any questions, do not hesitate to ask.

2 Likes

Hi Gabriel. That is what I do too. It gets what I want done but doesn’t really help me much with understanding Vassal, maybe it will in time. Thanks for the advice and encouragement.

Darren