
Vassal – Online Adaptations of Board Games - evo_9
http://www.vassalengine.org/index.php
======
beefsack
On the topic of online board games, I've been really interested in the idea of
a pure play-by-email (PBE) system where there isn't a frontend or web
interface at all. By that, I mean that a full game rendering is emailed to
each player, and they take their turns by replying to the email with the
commands they wish to execute.

I started one in Go a number of years ago[1] and I feel I managed to prove to
myself that a pure email interface is possible and actually really convenient
in some cases. I even managed to implement over 20 games[2]. It was only ever
used in my closed circle of friends, but we played thousands of games and many
found it simple to participate in slow periods at work or school.

If anything, my biggest takeaway was that if you want to really reach a level
of expertise in a new technology, you need to find a project that you can pour
your heart into. I've probably breached 100k LOC for the project and I've been
working on it for over half a decade. I'm currently redoing the project in
Rust as an attempt to become highly skilled in that[3].

[1] [https://github.com/Miniand/brdg.me](https://github.com/Miniand/brdg.me)

[2]
[https://github.com/Miniand/brdg.me/tree/master/game](https://github.com/Miniand/brdg.me/tree/master/game)

[3] [https://github.com/brdgme](https://github.com/brdgme)

~~~
jbattle
The board game Diplomacy had a really thriving play by post community, which
morphed into play by email. I'm actually not sure if there is a platform that
actually supports play-by-email anymore (the ones I used to use seem defunct).

But there's this (claims to support play by email but I couldn't find actual
directions in 2 minutes of reading around):
[http://www.diplomaticcorp.com/](http://www.diplomaticcorp.com/)

When I played this ~10 years ago the main interface was just plain email.
You'd send and email with the body containing commands like so:

signon gamename password A PAR-BUR A MAR-SPA F BRE-MAO signoff

Then there was a website that subscribed to your game as a observer and would
render views of the map

~~~
zouhair
Dunno about other games, but Lichess[0] has a correspondence gameplay
mechanism[1]

[0] [https://lichess.org/](https://lichess.org/)

[1] [https://i.imgur.com/nYgMjuB.png](https://i.imgur.com/nYgMjuB.png)

------
ignu
The problem with VASSAL and Tabletop Simulator and Tabletopia is that... it's
awkward to play a real time board game online.

There's a lot of down time while everyone else takes their turn. You have to
set aside one to three hours to play uninterrupted. In real life, you have the
benefit of hanging out with these people as you play.

However, I've become a huge fan of
[http://www.yucata.de/](http://www.yucata.de/) and
[http://boardgamearena.com](http://boardgamearena.com) recently and not
playing games in real time. Making one or two turns a day means there's no
down time, and I can be much more flexible making my move(s) fit into my
schedule.

~~~
Woofles
The main thing I've found about playing games not in real time is you are
always able to min-max every move. Since I don't necessarily play every game
to win (I try to win, but if I don't it's not a big deal) I enjoy the
arbitrary time constraint of playing in real time. Makes things move along and
gives games more of a lighthearted feel.

Also it's only three games, but I play Food Chain Magnate a lot and you can
only play it online here:
[http://play.boardgamecore.net/](http://play.boardgamecore.net/)

~~~
SubiculumCode
You may try to min max everything, but you might not actually min max it. Not
everyone is willing to build a model of the game with all its probabilities,
and calculate the optimal solution. Many will just play their gut feeling for
the probabilities. Others will build naive models. Others will just guess at a
general strategy.

~~~
WorldMaker
Right, it remains as much a social problem as a technical problem. If you
worry your friends (or worse, you) might be prone to min/max more in
asynchronous/delayed multiplayer situations, find social ways to encourage
avoiding it.

(That's very much something that will be unique to your group dynamics, but
little things like asking people to time how much they actively work on turn,
or encouraging them to only do their turns during lunch breaks and from their
mobile phone, can work for different sorts of people.)

------
miiiiiike
Speaking of online adaptations of board games.. My Massively Multiplayer
Adaptation of Codenames was just approved for public consumption by its
illustrious creator, Vlaada Chvátil today!

Sign up and help me test out Django Channels in production!

TL;DR: An MMOBG based on Codenames! - Sign up form:
[http://codewords.io/](http://codewords.io/) \- FAQ:
[http://codewords.io/faq/](http://codewords.io/faq/)

I needed to learn a few new technologies (TypeScript, Angular 4, Bootstrap 4,
Django Channels.) Building the same chat room app that everyone builds as
their first demo using these technologies sounded tedious. I decided to build
a Massively Multiplayer Online Board Game instead.

If you'd like to help with a stress test or participate in a game, there's a
sign up form up here: [http://codewords.io/](http://codewords.io/)

I'm going to try to get Vlaada to host a game with me, but, he's a busy guy.
If he's unavailable I'll find someone almost as interesting to play with us.

If you'd like to know more, I put up an FAQ over there:
[http://codewords.io/faq/](http://codewords.io/faq/) (you can skip to the
gameplay FAQ by tugging on this: [http://codewords.io/faq/#how-
work](http://codewords.io/faq/#how-work))

Screenshots and a gameplay overview can be found somewhere under here:
[https://imgur.com/a/3xtZC](https://imgur.com/a/3xtZC)

~~~
nandemo
Thanks for doing this.

For those who are looking into taking up boardgames, I highly recommend
Codenames.

~~~
miiiiiike
Thank Vlaada and CGE! I can't believe that they gave me permission to play
with their toys. This is what it looks like when a company/creator responds
with great kindness when confronted with a fan project!

------
nicolodavis
Vassal has two main limitations: \- It requires a download (not web-based). \-
Most games still require you to manage the board state yourself.

Like someone else pointed out, boardgamearea.com, yucata.de and (my favorite)
[http://play.boardgamecore.net/](http://play.boardgamecore.net/) also manage
the game state for you.

I've been working on a (very early stages still) rules engine that will
hopefully make it easier for more websites like the above to pop up in the
future:
[https://github.com/google/boardgame.io](https://github.com/google/boardgame.io)

~~~
jtolmar
This is pretty nifty!

Do you have any desire to add AI? I could almost write a generic AI for your
current version; the two things that are missing are a way to enumerate the
possible moves (the ability to pass extra arguments to a move causes issues
there), and a way for the game to know when a turn is supposed to end.

(I'm also at Google; drop the j from my name to get my ldap.)

~~~
nicolodavis
AI sounds great!

One of the selling points of a project like this would be access to machine
readable game logs that people could use to train bots offline.

Having something generic that could play reasonable moves by exploring a
possible list of moves (and their outcomes a few levels deep) sounds pretty
exciting too. Let's talk :)

~~~
jsnell
Ruleset agnostic boardgame AI is a somewhat active area of research. The term
to search for is "General Game Playing".

~~~
jtolmar
I was thinking of just doing a generic tree search + optional heuristic thing
to start. As a game developer, my experience has been that even really stupid
AIs help a lot to understand what my game plays like.

If having something simple in place prompts someone from the AI community to
come try something more sophisticated, I'd certainly enjoy the show.

~~~
venuur
I won’t say I’m from the AI community, but I’ve been wanting to take a stab at
the basics and I have a science background. If you’re interested I’d be happy
to chat and see if I could contribute.

~~~
nicolodavis
Feel free to get in on the conversation at
[https://github.com/google/boardgame.io/issues/7](https://github.com/google/boardgame.io/issues/7)
:)

------
dwaltrip
I'm currently finishing up a MVP for an entirely in-browser turn-based gaming
platform.

It has a custom game editor/IDE with Google Blockly [1] inspired visual
programming tools for implementing the game logic and the game UI. My design
goals with the editor are to enable as many non-programmers as possible to
make games (there's a lot that can be done here).

Games that are developed & published on the platform can be played online just
like any other browser-based multiplayer game. Rules are entirely enforced by
the backend game engine, so games can be played competitively.

The format for valid games is fairly open-ended. It should support games like
Settlers of Catan, Risk, poker, Pokemon-style card games, go, chess, etc. To
be clear, it isn't a 3d table-top simulation, by any means -- just HTML and
CSS for now.

There will be forking and modding of games (sort of like github). I have
several ideas for how this could work without diminishing the original game
designer's efforts [2]. I also want to foster the formation of communities
around individual games and any mods that are made.

I've been working on the platform for over a year now, and it's finally close
to being ready, at least as an MVP. I'm hoping one more month...

Anyone interested in being a beta tester once the MVP is looking decent?

[1]
[https://developers.google.com/blockly/](https://developers.google.com/blockly/)

[2] Currently, I'm thinking that a "fork" will only copy over the code &
ruleset for the game, and not any graphical assets. It will exist on the same
level as the original game, underneath the authorship of the forker. A "mod"
_can_ make use of graphical assets, but will live underneath the
umbrella/community of the original game. Definitely open to suggestions on
this.

------
konpikwastaken
Worth mentioning here for any interested parties is OCTGN [1], or "Online Card
and Tabletop Gaming Network".

Interesting history - it started out from a VB6 application (specifically for
playing Magic the Gathering) maintained by a single guy, he then handed dev
off and the entire application was rewritten as a C# WPF application and was
in hot competition with Magic Workstation directly for some time [2], which
ultimately IMO made it a much better product. I believe I actually still have
the original VB6 source on an old HDD somewhere... If I find it, wondering how
to best archive it, or would anyone even care?

Anyway, OCTGN is currently a generic "tabletop game" program that allows for
new games to be defined via the documented game format [3] and even supports
python scripting.

[1]: [https://github.com/octgn/OCTGN](https://github.com/octgn/OCTGN) [2]:
[http://www.mtgsalvation.com/forums/magic-
fundamentals/other-...](http://www.mtgsalvation.com/forums/magic-
fundamentals/other-magic-products/third-party-products/337938-octgn-2-0-is-
finally-out-it-blows-magic) [3]: [https://github.com/octgn/OCTGN/wiki#create-
games-on-octgn](https://github.com/octgn/OCTGN/wiki#create-games-on-octgn)

~~~
aidenn0
This seems to have a strong "Card Game" bias, with a slightly less strong
"LCG/CCG" bias. Are there any game models for it for games that aren't
primarily card based?

~~~
konpikwastaken
There appear to be _some_ but you are correct that it has a strong "card game"
bias as it was originally meant to play Magic. I'm not aware of any, no.

------
kolanos
Anyone aware of one of these board games sites that makes it a priority to be
accessible? I'm visually impaired, so would benefit from anything visual also
having a text/audio component. Also a lot of these are drag-and-drop, so
having an alternative way to move things around would be helpful. Obviously
some games wouldn't translate well to a non-visual medium, so that's why I
ask.

~~~
gh02t
I'd be pretty keen on this too, my girlfriend lives far away and is completely
blind- it'd be really nice to be able to play board games with her online.

------
blue1
I don't know if it has become better in the meantime, I tried it some years
ago and found that it's a nice idea but in practice most modules (i.e. games)
are rather primitive implementations.

------
fenwick67
What I'd love is a FOSS alternative to Roll20, which is namely for tabletop
RPGs.

~~~
mhd
Have you tried MapTool? It's not an online service but a client/server Java
tool, but if you're not e.g. looking for a new group it's good enough for
scripting rules and displaying maps.

------
sharpercoder
I'm a developer of an online board game implementation. Before starting out, I
consulted any library, platform and framework available to minimize
implementation effort.

Vassal was also on the list to checkout. Various items made it clear Vassal
was no fit (for me at least): 1) No web interface available 2) Lead developer
who seemed to worry about inexplicable technical issues 3) non-existing
usability 4) board game logic must be shoehorned into a generic framework,
where I want to expose a boardgame specific API.

I ultimately decided to write it from scratch.

------
dmcginty
Given the name I was expecting this to be affiliated with Tom Vasel (founder
of The Dice Tower and notable game reviewer) in some way, but it seems to be
completely unrelated.

~~~
miiiiiike
And all around good guy. Have you met him in person? He's shockingly tall.
Taller than you would think possible from his videos. I saw him again at PAX
Unplugged last week... I'm always surprised by just how impossibly tall he is.

~~~
dmcginty
I met him at Gencon this year, but I didn't realize who he was at the time. I
only listen to the podcast, so I didn't recognize him. He was sitting on a
Rathskellers gaming table and I started asking him about the table. It was
only when some people asked for a photo that I realized who he was.

------
tomcam
Wonderful! When I was a kid before the microcomputer age I was a fan of exotic
games like Turkish and Japanese chess. I had to make pieces using bread dough
clay. Not fun.

------
caf
What's the copyright situation with the modules? The screenshots I've browsed
seem to have images of the actual board and card art.

------
sozin
The most played game in Vassal right now is the very popular Xwing miniature
combat ([http://xwvassal.info/](http://xwvassal.info/)).

Sadly the Vassal devs seem to have lost the flame for the project. A big
client side rewrite to get off of Java was planned for many years but never
executed.

Great software even in its current state though!

------
smaili
Slightly off topic but it's always interesting to run into open source
projects that continue to be hosted on Sourceforge

~~~
b0rsuk
Inertia ? Vassal has always been on Sourceforge.

I don't see much benefit in using Java for board games, especially in a
client-side app where server resources are not an issue. Vast majority of
board games are turn-based with alternating turns. The bottleneck is player
input. A more expressive language like Python would work better in my opinion.
Inertia, I guess. Java was all the rage back then.

