"The VASSAL Engine is a game engine for creating electronic versions of traditional board and card games. It provides support for game piece rendering and interaction, and supports play by email or over a live connection. " - http://sourceforge.net/projects/vassalengine/
In a nutshell, VASSAL provides the back end code for Internet connectivity either to the VASSAL server, or over a direct P2P connection. Vassal loads ".VMOD" files (essentially renamed zip files) called modules which contain the data for a particular game. The VASSAL community supports hundreds of different game modules (http://www.vassalengine.org/), with varying levels of user activity and module development. The modules themselves contain images, map files and XML data. The engine runs by presenting the user with a blank map/board, onto which game pieces can be placed and moved. The engine provides basic tools such as dice, rulers, space for tracking various items, and chat functionality. The engine does not enforce any game-specific rules, so players must audit games themselves.
Prime Directive 1:
The system successfully accomplishes a useful task.
By providing basic tools, and excellent tutorials, VASSAL provides the framework for implementing nearly any board or card game.
VASSAL looks to be very useful as games that take up large amounts of space, or require many parts to play can be virtualized. This allows for mobility, the ability to play with new people, and is considerably cheaper than buying actual game sets.
Prime Directive 2:
An external user can successfully install and use the system.
VASSAL, unlike many other Open Source projects, provides an executable installer, which makes installation a breeze. With more than the basic "README" file, VASSAL's startup guide, active user forums, in-game chat feature, and Wiki provide many avenues of support for new and inexperienced users. Additional proof of VASSAL's popularity and usability can be found in its server logs, which clocks over a thousand users per day.
Using VASSAL was fairly straightforward, GUI's guided me through the setup and connection process. I chose a module for a game called "Warmachine", and imported it into VASSAL. The Engine provides many buttons and a windowed view to let you reference multiple things at once. I suppose the learning curve is quite steep for figuring out the functionality, although having people to chat with in real time is very helpful.
Prime Directive 3:
An external developer can successfully understand and enhance the system.
The project's tutorials are highly detailed and provide developers with the explanations, illustrations and documentation to develop modules. Walkthoughs for sample games are provided, and seem simple enough to duplicate and modify. Modules can be designed with a GUI, which makes VASSAL seem like an ideal platform for implementation.
With respect to source code however, documentation is lacking, and it seems as though developing the engine might require reading though a lot of code. However, the code is almost exclusively done in abstract data types, so bits of code can be taken and implemented for other projects rather easily.
Prime Directive 1:
The system successfully accomplishes a useful task.
By providing basic tools, and excellent tutorials, VASSAL provides the framework for implementing nearly any board or card game.
VASSAL looks to be very useful as games that take up large amounts of space, or require many parts to play can be virtualized. This allows for mobility, the ability to play with new people, and is considerably cheaper than buying actual game sets.
Prime Directive 2:
An external user can successfully install and use the system.
VASSAL, unlike many other Open Source projects, provides an executable installer, which makes installation a breeze. With more than the basic "README" file, VASSAL's startup guide, active user forums, in-game chat feature, and Wiki provide many avenues of support for new and inexperienced users. Additional proof of VASSAL's popularity and usability can be found in its server logs, which clocks over a thousand users per day.
Using VASSAL was fairly straightforward, GUI's guided me through the setup and connection process. I chose a module for a game called "Warmachine", and imported it into VASSAL. The Engine provides many buttons and a windowed view to let you reference multiple things at once. I suppose the learning curve is quite steep for figuring out the functionality, although having people to chat with in real time is very helpful.
Prime Directive 3:
An external developer can successfully understand and enhance the system.
The project's tutorials are highly detailed and provide developers with the explanations, illustrations and documentation to develop modules. Walkthoughs for sample games are provided, and seem simple enough to duplicate and modify. Modules can be designed with a GUI, which makes VASSAL seem like an ideal platform for implementation.
With respect to source code however, documentation is lacking, and it seems as though developing the engine might require reading though a lot of code. However, the code is almost exclusively done in abstract data types, so bits of code can be taken and implemented for other projects rather easily.
No comments:
Post a Comment