Skip to Content
 

Online Boardgame Construction Kit

2 replies [Last post]
mawibse
Offline
Joined: 12/31/1969

Me and a couple of friends of mine has started on a similar project though somewhat more ambitious.
It’s still in concept (read: vapor ware) but It’s coming close to completion so programming should start in about a month.

Goal
Be able to construct/update boardgames with the help of a relatively user friendly GUI that can be played ‘with rules’ over the internet.

Java Applications
1) Designer; Define all Objects, Structures and Rules, saves the game definition in XML
When in the Designer GUI you usually use wizards that guide you through the creation of the different Objects/Rules/Phases you wish to add for you’re game.

2) Master server; Not publicly available. Used for finding game servers for the players ,handling user accounts and update of public game definitions and programs.
Statistics and Account ‘Ladders’ etc

3) Server; Analyzes the info sent from the clients according to the rule-set in the game definition file and sends what the results to the clients.
Detailed statistics and Account ‘ladders’.
Connects to Master Server for updates and validation of Player accounts.

4) Client; Connects to Master server to find available games and get connect and DL information from the Server.
Uses the Game definition file to see what’s possible for the player to do in current situation, sends players decisions to the server.
Shows the servers response.

Concept: (major parts of, no detail)
1) Objects
Roughly they are everything in the game, from the playing board to the pawns or cards and such.
Very simplified description of the Object structure;
Each Object consists of 1 to many Parts ,
each Part consist of 1 to many Sides,
each Side consists of 1 to many Edges,
each Side has 0 to many Placing Points (PP) which are used for reference to where another Object can be placed on the Object.
Each Part can have one connection (placement) to such a Placing Point on another object.
Each Placing Point can have 0 to many connections to another Placing Point. (Used for movement or sum/group functions)
PP’s often has Rules attached to them that define what or how many is allowed to be placed upon them.

Every Object, Placing Point, Connection or subObject (Part, Side, Edge etc) can have a list of groups attached to them. Some Groups in this list may also have integer values ex:
Object ‘Boat’ has an attached list of Groups as follows:
Carrier
Planes: 5
Fuel: 12

2) Phases (in what order will/can the rules be applied, how player take turns, game end definition/victory etc)
Phases are basically a loop around a list of Rules and other Phases

3) Rules (Rules of when, with, how manipulation of the Objects)
Is what ties the Phases and Objects together. A rule can consist of definable sub rules or sum/group functionalities.
A rule can be attached to any Object or subObject or be placed in a Phase-list.
Rule Ex:
In main*1 phase in you’re*2 turn
when Blind*3 is put into discardPile*4 from you’re*2 hand*4
for every 3 eyes cards*5 target opponent*2 has on board*4
Put a blind token*6 on that*7 opponents Character*8.

*1 main is a name on a defined Phase, the rule is only applicable during that main phase or one of its subPhases.
*2 Reference to a Player Object(s), can be: Youre, opponent, ally or player
*3 Blind the Objects name that the Rule is attached to.
*4 is a reference to a group belonging to PP’s or a specific PP.
*5 eyes cards are a reference to a group connected to some game objects
*6 is a reference to an Object
*7 you can put a ‘that’ in front of a object reference if you wish to refer to a previously, in the rule object, targeted object.
*8 is a reference to an Object that has at least one PP

No cost for the any users are planned but might be subject to change if maintenance (Master Server) of this gets to expensive.

I realize this post is confusing but still hopes that those interested would share thoughts and questions about this project.

RookieDesign
Offline
Joined: 12/31/1969
Online Boardgame Construction Kit

These are good ideas. There're going further that what I expect at first.
Here's a couple of suggestion.

Rules will be a nightmare to implement at first. I would drop it for the first delivery. It could be very interresting to have them, but I think it would just delay the release of your product.

Server - For the purpose of this software, I'm not sure I would like people to play my game without me around. I will planned the game by direct contact or by forum. I will probably host the server of my own game. It would be nice to have a management a la BrettSpielWelt but again for a first release this would not be a requirement. As a replacement suggestion, since all your configuration is done in XML, I would use the IRC server system and program a very intelligent client.

Concept - The list seems to me to be adequate and correct. You have grasp the complexity of the board game. Now I think a good user interface to develop the game is capital to help manage the complexity you propose there.

I think you also have something interresting. Keep working. We could be able to share work in the near future.

Take care.

mawibse
Offline
Joined: 12/31/1969
Online Boardgame Construction Kit

Thanks for the feedback.

As you say, the rules will be challenging but the way our model works we can’t implement without them; the rules are basically the manipulation of the game Objects. However, our model has no problem with starting with few basic rules (Change of ownership, move etc) and then expand/add to them from there on.

The Server software that hosts the game is of course publicly available for the designers and could be set up so that it’s not visible for players looking for games via the Master Server, or visible but with password protection.

A major reason for this project is to be able to test new ideas and when the ideas are good enough be able tune the balance and such.
If you’re in the balance/tweak state of development I think it’s a good idea to let the game become ‘public’ so you could gather a bigger and wider array of statistics from how the game plays with many different players.

Such a test with many public servers hosting the game would only be ‘functional’ if there is a Master Server that can collect all data for the developer to use for his tweaking and balancing.

So in short: First private gaming sessions on a private (Probably the developers) Server and when the idea holds up let it become ‘public’ and gather balancing/play time and other issues information from more played games via the Master Server.
Also the Master Server would facilitate upgrades for the public game so the tweaks could be tested more orderly/faster.

Also as you say, it’s imperative that the GUI for this rather complex data model is made so that those who have no need for it should not have to mess with the details.

We have tested the data model on a couple of pretty complex (for generic software rules) popular Euro games such as Puerto Rico (complex phase structure) and Carcassone (complex tile placement, scoring) and it has appeared to hold. Even with twists such as a Carcassone with cubes(different ‘tiles’ on each face) instead of flat tiles worked.

If anyone has a particular board game/mechanic that you’d like us to test on our model we would be happy to do so since it would help us tweak/fix the model.

:)

Syndicate content


forum | by Dr. Radut