Jump to content
Eternal Lands Official Forums
Sign in to follow this  
JohnTheWarder

The Tavern Channel

Recommended Posts

Hey guys not to sound like a jerk or anything but I never got any feedback for my idea not to be rude but would it kill you to make a new topic. I like all your ideas for games btw.

Share this post


Link to post
Share on other sites

Hey guys not to sound like a jerk or anything but I never got any feedback for my idea not to be rude but would it kill you to make a new topic. I like all your ideas for games btw.

The feedback on your suggestion for a special tavern channel is: no, that is not a good idea.

However, I think most people in this thread are interested in the idea of making taverns more populated and thus this thread has evolved into means to make the taverns more popular, as was your original suggestion.

 

Making a tavern channel for chat would be completely illogical and serve no purpose as far as I can see.

Share this post


Link to post
Share on other sites

JohnTheWarder:

Apologies for hijacking your thread; maybe the posts should be split to a
"Tavern Games"
thread.

 

In response to the tavern channel; a channel only accessible within taverns would require defining what areas are taverns in the DEF files. But do we want to link taverns together like that? What would this represent in the game? This would make taverns across Draia all the same (McTavern) rather than letting them develop unique qualities.

Channels already disassociate a player from their character's location; like medieval modile (cell) 'phones. Areas where non-local chat was prevented would be interesting (certainly worth considering if we ever have instance or quest maps).

To give taverns an atmosphere you need people to gather there, in which case local chat would suffice.

 

What we need is more activities in taverns, to give people reasons to go there.
Edited by trollson

Share this post


Link to post
Share on other sites

Derin, valley's vault sounds like a super idea, and a well addictive game. i dont really understand how a player wins though. is it the player with the most coins at the end of a time limit? player who reaches a set score first? or is how a player wins gonna be decided before the game begins?

Share this post


Link to post
Share on other sites

once a month a wandering bard visits one of the many taverns spread across the land to find the hero with the most knowledge of the world

 

 

 

Variant of the age old pub quiz :

 

once a month/ week a quiz is held at a random tavern .

 

small entrance fee is required 10-100 gc

 

the quiz consists of 20 questions based on eternal lands and/or its history (anything from gods to monsters)

 

the firt person to PM ( i say PM so as not to flood the tavern with 30 ppl shoutin out) the bard recieves 2 points. the 2nd person 1 point.

 

at the end of the 20 questions the highest scoring player wins the combined entrance fee and a prize (hopefully worth while and not a potion of mana) supplied by the bard.

 

in the event of a draw the gold coins are split equally between the winners and a tie break question is asked for the prize (winner being first to pm).

 

I say BARD but i can see this being a player run scheme which hopefully also removes the need for any added programming.

 

 

Not the most original idea i agree but simple and hopefully effective way of getting ppl to enter taverns (and also if player run saves on the programmers time)

 

DRAIA DICE

 

Game for 2-5 players: Fee : 5gc per game

 

Playing Pieces: 5 dice each with a diff marked face corresponding to a creature of El

 

ie:

1. Goblin 2. Skeleton 3. Ogre 4. Yeti 5. Rabbit 6. Unicorn

 

Rules:

 

1) Each player is handed 5 dice

 

2) Each player then takes it in turns to roll his dice in an attempt to match the symbols

 

3) Any matching dice are then removed from the players hand ( ie: player one rolls 1 goblin ,1 rabbit, 2 yetis and a skeleton... the 2 matching yeti dice are removed from the player leaving him 3

 

4) On his next turn a player rolls any remaining dice he has left

 

5) The first player to remove all the dice from his hand is declared the winner and recieves the gold

 

6) If a player is left with only one die this is called Mortos's Fate and he must add another die to his hand

 

7) If a player matches all 5 dice at one this is Aluwens Luck and he automatically wins the game and double the gold

Edited by conavar

Share this post


Link to post
Share on other sites

One question, could i get some credit for the original idea of making tavern games, cause if u really look i was pretty much the first one to suggest it, i just didnt expand on it like trollson and everybody else did. If this idea does get put in the game it would be nice for some credit for it =) Great ideas though, i never would have came up with these game ideas. keep thinking :confused:

Share this post


Link to post
Share on other sites

Tavern Game Template

To enable a good variety of games to be supported with a GUI representation, they all need to fit onto a template.

 

Figure 1 shows the template as I have described it previously. Note that none of the marking shown in this figure are actually displayed by default, but are shown here to denote significant areas addressable by the game.

 

gallery_7423_28_4795.png

Figure 1: Tavern Game template

The display consists of two areas:

  • The TABLE is a publically visible representation of what is happening in the game, and is intended to be viewed by all players and spectators.
  • The HAND is a private component showing the player's playing pieces in hand (eg, their cards). Not all games need a HAND (Derin's Valley Vault would not).

The GAME and GAMEBOT

 

The term "Game" here refers to a tavern game. The term "GameBot" refers to the game controller, whether done by the EL Server or by a bot extension.

 

The GameBot is responsibility for maintaining the state of the game at all times. The clients do not know the rules of any game (though the players should!), and can only respond to a set of generic actions relating to playing pieces and table locations. The GameBot must inform the clients of any change to the table or hand as a result of any action.

 

A GameBot needs to specify two resources to be used to display the game:

  1. The table cloth; a background image for the TABLE. This could be a Chess board, card table markings, or Derin's image for Valley Vault.
  2. A set of playing pieces being used. This will be another image, which is split into a 16x16 grid of pieces (cards, tokens, etc).

Both the table cloth and playing piece sets should be kept as generic as possible, to allow other games to reuse them. For instance, the playing piece set may include items that are only used to decorate the table, and never appear in a players' hand (discard pile marker, double-bid marker, resign marker, etc).

 

The game will tell each player what they have in their hand, and what pieces are on the table.

 

The TABLE

 

The table is a publically visible display of the game, showing the table or board. This will be visible to all players and to any spectator ("lookat" table?).

 

The table consists of a number of addressable locations, of two types:

  1. Twelve (12) text slots around the periphery. These may be used for any purpose, may be updated during the game, and may be coloured. Example uses are player names (highlight the current player), the name of the game (top centre), and current bid and pot values.
  2. A grid (16x16) of locations for playing pieces. A game will need to map its locations onto this grid (for example, each square of a chessboard would cover four (2x2) grid squares). A playing piece may be larger than a grid square (eg, playing cards), in which case the top-left location is used, and the client will temporary 'raise' any piece clicked on by the player or viewer.

The HAND

 

The Hand is private to a player, and cannot be seen by others. Not all games need to use the hand (Valley Vault for example).

 

When in use, the game will send the player a list of all pieces in their hand. The display of these pieces is purely client side; the player may organise them as they wish by dragging to sort.

 

Pieces move from the hand to the table by:

  1. Dragging a piece from the hand to a location ("play piece to location").
  2. By double clicking a piece in the hand ("play piece").

Which method is applicable will depend on the game. It is up to the game whether the hand needs to be updated (the played piece removed); for example, sudoko would have playing pieces as number 1..9, which would not be remove on play.

 

The Actions

 

Provisional list of actions [information passed]:

  • Play piece from hand to table location (drag'n'drop) [Piece ID, Location ID].
  • Play piece from hand (double click) [Piece ID].
  • Move piece on table (drag'n'drop) [Location ID, Location ID].
  • Select piece on table (double click) [Location ID].

More actions can be formed by using fixtures on the table, either areas shown on the table cloth., or by using playing pieces (not used in the game) as decoration (for example, a double-bid piece to be clicked on, a discard pile to drag pieces onto, etc).

 

Edited by trollson

Share this post


Link to post
Share on other sites

conavar:

Pub Quiz
-- Good idea!

 

There use to be regular (weekly) quizes run by a group of guilds, open to all, with prizes donated by more senior characters. Since they where run on an open channel, they where open to all, and there was no requirement to be in a location.

 

Holding the quiz on local chat would be better than PMs; for one, all participants will be able to see who answered correctly first! There could be disputes otherwise, especially with an entrance fee.

 

There can still be disputes over spelling and accuracy of course. If two answers come in, the first misspelt, the second correctly spelt, who wins? How bad a spelling can you accept? How accurate? The final adjudicator would be "as on the card", but can still cause problems.

 

If run by a bot; there are methods of measuring the "edit distance" between two phrases, so set a minimum value that will be considered a match.

 

Dice
-- that is a thought. We could implement dice as a set of playing pieces (1..6, or faces), and just show the top faces of the dice after they have been thrown.

 

However, it may be common enough to have a bit more effort put into it; maybe define a dice set (each die type having 6 faces, one image per face), and a bit of 3D animation over the table to simulate the dice being thrown (of course, the GameBot actually throws the dice and tells the clients what numbers have come up).

Share this post


Link to post
Share on other sites

Minority Game

...need a more Draia-ish name...

Possibly the simplest gambling game for multiple players? This may seem very simple, but the play is in the psychology, and it is impossible to exploit.

Requires three (3) or more players.

The playing area:

  • The table is divided into a few areas, with appropriate themes.
  • There must be at least two areas ("Day" and "Night").

The game consists of one or more rounds:

  • Players pay a stake to participate in each round (eg. 1gc).
  • Each player secretly/simultaneously places their token into one of the areas.
  • Areas containing tokens are called "active".
  • If one active area contains fewer tokens than all others, it wins:
    • The winners receive a payout equal to the stake multiplied by the number of active areas.

    [*]If no such area exists, or if there is only one active area, additional rounds are played:

    • The winning stake multiple is increased by one for each additional round (if a game lasts three rounds, and there are four active areas, the final payout is six times the stake).
    • Players may drop out between rounds if they cannot afford the stake.
    • If players drop out, and only two remain, then the game ends in a tie, each receives half the winnings (rounding down) that could have been won on the previous round (ie, the last rounds active areas times its multiple, ignoring any bonus markers, split between the two players).

Notes:

  • The higher the ratio of areas to players, the longer the game.
    • Possibly, a ration ~1 would make for the best games?

    [*]The house never loses money, so it maybe run economically by a bot.

    [*]The house may voluntarily add to the payout multiplier to entice players. Usually this is accompanied by the use of more areas, but is dangerous since players can then cooperate and the house can lose money.

    [*]The house may optionally add bonuses to certain areas at the start of a game. These increase the payout multiplier if that area wins.

    • This exposes the house to the risk of losing money.

    • If more players go for the higher bonus area, the more likely that they will lose!

    • To cover possible losses, the house needs a reserve of bonus x players x stake.

    [*]An ingame marker should show the current multipler bonus or number of the round.

    [*]The playing pieces are a set of unique tokens, one per player. Click on the chosen location to add your token; when all players are done the house shows the table.

    [*]The house could act as additional players to make the number upto 3, using semi-random choices; this again risks losing money. The house will always choose different areas if it is adding two players.

References:

Edited by trollson

Share this post


Link to post
Share on other sites
I was wondering if the devs have any plans for any games so far?
I already got approval from entropy to set up a bot for playing games like this, which I'll be working on once I finish the university year (2 assignments left, all exams over as of monday passed).

I don't know if it'll end up being in a tavern, since bandwidth is a concern, and many people go to taverns without this... I suspect that people will be happy to go to a game hall or whatever though :hug: (it could even be a backroom in a tavern, depending on where the bot ends up. or bots, since it'd be easy to run several, if entropy wants that)

Share this post


Link to post
Share on other sites

Prizes and winnings for Games

If you design a game in which the players can win gold or prizes, please remember that it must be self-funding: All prize money or items must come from the "house" takings, or from donations.

 

If your 'bot that was running the game; how would it fund any winnings?

 

For example:
  • Valley Vault
    -- the winner takes the pot, so each game is guarenteed zero sum for the house (the house neither earns or loses money).

  • Pub Quiz
    -- ideally, this would be free to enter, since it would be on local chat. Quizes in the past have been funded by donations from the wealth, but if it is to be self-funding it will need pay-to-play; this risks spam by spectators.

  • Draia Dice
    --
    In normal play the winner takes the pot, so the house doesn't make any money.
    The double payout on
    Aluwen's Luck
    needs to be funded from somewhere.

  • Minority Game
    -- The normal game will typically make money for the house. The bonus marker is optional, and should only be used when the house has enough money to cover the potential losses. The bonus marker would return house profits to the players, if the GameBot is not intended to make money.

Finally, a GameBot may run multiple games in the same Tavern, and so its funds can be pooled between these games.

Edited by trollson

Share this post


Link to post
Share on other sites

Again, this is more developer orientated...

 

Multiple games, client implimentation

A game is associated with a map object; for instance a deck of cards, game board, table, or a dart board.

 

In a tavern there may be a number of available games; so game information encoded into local chat and PMs should include the object ID. This allows the client to maintain seperate states for all games present. The game states are cleared on a map change.

Note
: This does not require changes to maps! It would be
nice
to have game-specific objects in the game (card table, dart board), but not necessary. Any appropriate existing object (eg, a table) could be looked-at to reveal the game played there.

When a character clicks on the associated map object (either
'look at'
or
'use'
?), the Table layout is already ready to be displayed (textures still need to be loaded
, if not already cached
). This is response is entirely client side (though a
'use'
or
'lookat'
message must still be sent to the server).

 

The map object ID should also be included in the PMs (the Hand). While a character should not really play multiple games, it is not practical to enforce this. The GameBots will have to handle inattentive players to prevent blocking a game (normal PMs to get their attention?).

Joining and leaving a game

How to join a game? If there is a 'join game' option on the Table dialog, then this should issue a message hidden in local chat that can be recognised by the GameBot.

 

Options
:
  • A button in a corner of the Table to join/leave a game. The corners are not currently used in the template shown above.

  • Closing the Table window, or viewing another game Table may cause you to leave the game (a confirmation dialog would be useful here).

  • Moving out of range of the game table (the GameBot) will remove you from the game and forfeit any stake. A miss-click may cause you to move unless the client blocks these with a confirmation dialog when in
    'playing-a-game'
    mode.

  • This may be sufficent for the client to prevent characters from playing in two games at the same time. However, modified clients or 'bots may circumvent this.

Edited by trollson

Share this post


Link to post
Share on other sites

This is probaly not possible, but it would be cool if the Devs dont feel like adding games to the code if they could link direct objects from a the game to the BOT. For example.

 

Eye Icon: You see a game of dice.

 

Use icon: You have joined the game. {At this point you are teleported to an empty chair at the table in the sitting postion.}

 

After doing this the BOT directly linked to the object recognizes a player has joined th game. The BOT would have to be near the table so trades can be made for the pot and to collect winnings. This may become a hassle if a game allows a person to raise the stakes.

 

I think that it would be cooler this way because you have to interact with the map and you know what players are playing the game.

 

Thats why I think it would be easier to have the games directly written in the code.

Edited by JohnTheWarder

Share this post


Link to post
Share on other sites

JohnTheWarder

To support betting through GameBots, a character would trade with the 'bot first, to deposite some cash as credit (ie
, "buy chips"
).

 

No trading is needed during a game to place bets; this can be done as part of the game interface, and it is the 'bots responsibility to track the credit of each character.

 

Later, a character can recover their credit from the 'bot (
"cashing in the chips"
), winnings and all.

 

If a group of GameBots cooperate, one could act as 'Cashier', and be a single PoC for converting between gold and chips.

 

I have tried to keep any requirements on the server out of this design. Of course, we could make things a lot more direct if we were able to include server mods; but that is high risk and expensive. If it can be done just between 'bots and the client, then it may possibly happen
:)

 

 

 

Share this post


Link to post
Share on other sites

The one thing that is essential to the whole game ideas is having credits, otherwise people could do things like bet with money they dont have. Also one downside to doing it this way is that BOTs will have to be made just for the games, unless Entropy will allow people to make the BOTs for free for only use with these Tavern games. Otherwise people will need to pay for the BOTs and work out of system where they can make money. (Unless someone likes giving away free RL cash.)

Edited by JohnTheWarder

Share this post


Link to post
Share on other sites

there's the exemption for payment for community service bots. as long as it's following certain rules, the bot I add for games will be for free.

mostly it means I don't really benefit, and it's equally available to all people (as in, people who try to scam or spam with bots can forget about it, but guild enemies aren't blocked)

I already have a deposit/withdraw/credit system in place, and gambling type stuff will work on credit, so that's easy to have :huh:

 

modifying client or map stuff or giving the bot teleport rights is probably not a good idea; you need to have an uptime for the bot exceeding that of the server, which isn't easy... if there are problems, and the bot isn't available, it could end up looking ugly when it fails.

I think just having bots as the face of it, providing the games, would be okay

Share this post


Link to post
Share on other sites

Liar's Dice

 

This is the game seen played in "Pirate of the Carribean: Dead Man's Chest", and seems simple enough to implement as an in-game. It is a real game (see "Liar's Dice" on Wikipedia).

 

Each player initially receives five (5) dice, which are cast and concealed under a dice cup. The player can see their own dice, but not those of the other players.

 

Playing the Game

 

The game consists of a number of rounds, each goes as follows:

  1. The first player declares a wager which is added to the pot. All players wishing to play in the round must match this wager.
  2. The first player calls the dice, declaring a quantity of a face (eg, "3 twos"). "ones" are wild and may not be called.
  3. Players then take turns to either raise the call, or call the previous player a liar, which ends the round. A round may cycle through all the players any number of times, until someone calls liar.
  4. The loser loses one die from their hand for the next round. If they have no dice left, they are out of the game (they may continue play while on zero dice, being out the next time they lose) [1]
  5. The winner becomes the first player for the next round.
  6. If there is only one player left in the game they win the pot.

[1] Players must be out as soon as they lose their last die. If they are allowed to continue to play with zero dice, it is possible that all remaining players have no dice! This could happen iff players make mistakes.

Raising the call

 

The call can be raised in two ways:

  1. Increasing the quantity -- eg., "4 threes" can be raised to "5 threes".
  2. Increasing the value of the face, with any quantity -- eg., "5 threes" can be raised to "1 four".

So the lowest bid that can be made is "1 two" (since "ones" are wild), and the highest is "all sixes" (the number of dice in play).

 

Calling Liar!

 

The game or round ends when the current player calls the previous one a liar. At this point all dice are revealed; the number showing the called face or "one" are counted:

  • If the quantity of the last call is matched or exceeded, the previous player is the winner and the current player the loser.
  • If the quantity is not matched the current player is the winner, and the previous player the loser.

Implementation

 

This game could be implemented using the Table and Hand described earlier. The Hand would be a player's dice, and the Table used to place the bets and calls.

 

However, this really doesn't need that complication, and could be happly implemented through local chat and PMs.

  1. A player's dice are revealed to them through a PM.
  2. Each player in turn then calls their action in local chat "bid 5" (gc), "call 1 six", "call liar", etc.
  3. The GameBot prompts each player in local chat or PM, and declares the results dramatically on local chat. When liar is called, the caller's dice are first to be revealed.

This way other characters can spectate the event, and observe its progress.

 

Using Draia Dice

To add more EL-uniqueness to the game; instead of regular 1..6 faced dice, design a die with EL specific symbols on each face. It is only necessary that the order of the symbols must be easy to remember, and their names easily typed (if the game is implemented using chat).

This approach makes more sense of the game is implemented using the Table and Hand, then the faces can be shown graphically.

Edited by trollson

Share this post


Link to post
Share on other sites
Valley vault is a dice game played in many taverns throughout Seridia. Most taverns has a copy of the game layout or two in store, some even has the layout inlaid in special gaming tables.

The game table represents the gods and their ways and so the layout has nine circles with the number 3 through 11 in them.

Stakes are in gold coins, or some common commodity (like gems) as long as all parties involved uses the same type of wager. The use of gold coins is, by far, the most common practice.

On a player’s turn s/he throws the two dice and places a coin on the corresponding number.

When a given number has three coins on it the next to roll that number gets the three coins.

If a player rolls a pair of 1s, s/he has rolled a “Shadow spawn” and must place a coin on each of the numbers (total of 9) and s/he cannot pick up any coins for that turn, even if the stack on one number is 3 or higher.

If a player rolls a double 6, s/he has rolled “Selain’s Steal” and is allowed to take or “steal” all the coins on the table.

The game is usually end on the 3rd “Selain’s Steal” but can go on for any time, given the conditions are set before the game begins.

I've added a perpetual version of this to vakana's code. perpetual in that there's no start, no end, and no set players. anyone can roll at any time, with the chance to win or lose as per the above rules.

adding games that require set players (and hence timeouts before they lose their turn, etc) is a hassle, so I'm mostly looking for more open games like the above to use :hug:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×