-
Notifications
You must be signed in to change notification settings - Fork 29
Fun with counters: VASL Prototypes
This is a first effort to create a page that usefully describes VASL prototypes used in VASL counters.
Initially, I have thrown out a bare bones structure for the page and linked a number of relevant documents. Feel free to edit the structure and add thoughts, ideas, documents that you have.
Doug
Section 1 The Purpose and Use of Prototypes in counter making
Section 2 Current VASL Prototypes
Detailed description of existing prototypes
Section 3 Hierarchy of Prototypes
Description of how various prototypes are linked together to form counters
Section 4 Problems and Issues
Edited by Doug Rimmer, starting May 30, 2018 to propose resolution of these items and those listed in Tom Repetti's "Prototype issues and actions required" document from Section 6.
The following inconsistencies were identified by Doug Rimmer when preparing his VASL Prototypes document. These are not necessarily errors and may be valid to enable required distinctions between counters (especially from one nationality to another). They may be a useful starting point for creating a deeper understanding of the current structure and linkage of VASL prototypes.
-
Why is prototype DBUnit inherited by geINF and ruINF? It is not present in any other xxINF for any other nationality.
-
Why is prototype DBUnit inherited by geCRW and ruCRW? It is not present in any other xxCRW for any other nationality.
-
Why is prototype DBUnit inherited by geLDR and ruLDR? It is not present in any other xxLDR for any other nationality.
-
Why is prototype DBUnit inherited by geLDR1 and ruLDR1? It is not present in any other xxLDR1 for any other nationality.
-
Why is prototype DBUnit inherited by geCTtur, geOTtur, geOTturF, ruCTtur, and ruOTtur ? It is not present in any other xxCTtur or xxOTtur for any other nationality.
Response: DBUnit is needed to support Double Blind functionality which is in development mode and thus not applied to all nationalities. Leave all DBUnit prototypes in place.
Why does prototype CRWmark have the trait "Layer – mofan"? INFmark and LDRmark have "Layer – FAN".
Why does prototype LDRmark have the trait "Report Action (Ctrl V)" which is SQ/HS? LDRmark1 has "Report Action (Ctrl V, Ctrl E, Ctrl Q)".
Why does prototype geOTturF exist? It is identical to geOTtur.
Why does prototype Unit58v not report Wreck in chatter when CTRL-F applied? It is missing the Report Action trait required. Prototype Unit58vw does contain this trait.
Why does prototype Unit58c not contain CTRL-F?
Why does prototype amCRW have the trait "Trigger Action - +1 brk ML vs IT?"
Section 5 The Way Forward
How best to keep prototype documentation current?
How to manage future changes to prototypes, both adding new ones and changing existing ones?
What opportunities exist to improve the existing prototype structure?
Who is using the prototypes and can we make them easier/simpler to use?
Section 6 Reference material
This section should disappear as the information in the documents below gets integrated into the above sections.
VASL Prototypes: an inheritance tree view by Doug Rimmer (2018). This .pdf provides a view of all the prototypes contained in the VASL Game Piece Prototype Definitions folder visible when you choose Edit Module in VASSAL (using VASL6.4.1). It shows the traits contained within each prototype, including other prototypes inherited by the prototype being viewed.
VASL counter traits and prototypes by Tom Repetti. This powerpoint provides a high-level schematic of prototypes used in VASL, including the inheritence relationships.
Prototype issues and actions required by Tom Repetti. This spreadsheet lists a number of previously identified issues with VASL counters; it is uncertain whether or not any of these issues have already been addressed.
Readable buildFile by Tom Repetti. Without being 100% certain, it appears that this text file lists all of the counters (at what point in time?) that appear in the VASL buildFile, and the traits associated with them. Further clarification of this is required to understand exactly what this file represents (and how it might be useful).