News:

A forum for users of LackeyCCG

Main Menu

Doomtown Plugin

Started by Dosmodious, November 20, 2009, 10:59:34 PM

Previous topic - Next topic

Trevor

Quotethe function where the game draws five cards, bets 1 "coin" from your bank to a common pot, evaluates that poker hand of those cards, reveals it, compares it with the other player's poker hand, determines and announces the winner, who receives the pot

That sounds more like Progress Quest to me. It seems like a real killjoy to have a computer be telling you who's poker hand wins. I haven't played this game, but I would imagine that revealing your poker hand, looking at other players' poker hands, and figuring out who wins is part of the fun. And more to the point, those actions are part of playing the game.

I am all in favor of adding things to the interface that speed up gameplay, but not if it takes away from actually playing the game. There are many shortcuts that let people do things very quickly, and I am sure most people are unaware of most of them. I haven't made a good tutorial, and I think that can lead to people doing things in a suboptimal way.
As a quick example, if you mouse over a player's stat, the down and up arrow keys decrement and increment that stat.

I will add some sorts of scripting though. I'll post more about that later.

db0

#31
Quote from: Trevor on May 23, 2011, 02:10:31 AMIt seems like a real killjoy to have a computer be telling you who's poker hand wins. I haven't played this game, but I would imagine that revealing your poker hand, looking at other players' poker hands, and figuring out who wins is part of the fun. And more to the point, those actions are part of playing the game.

With all due respect but without actually knowing the game and without actually having played the game with and without this automation, you shouldn't make such a declaration. People who know Doomtown will recognise that I'm talking about Lowball and how not-exciting this comparison is, especially when you have to do it every turn.

To explain, Lowball is completely random, there's no decision involved 99% of the time, and you just want to get it through quickly, even in IRL games. There's indeed another comparison (for shootouts) which is indeed more exciting and this is less automated (only the hand ranks are announced for ease of reading and less typing).

I have a IRL friend from my times playing Doomtown with actual cards. He has a similar mentality to you. He sees no reason to use scripts when he can just drag&drop. Fair enough, the game allows him to do so if he wishes to. However even he prefers to use automation in cases like Lowball, Upkeep, or unbooting ("untapping" in MTG terms) all your cards.

There's also another thing to consider, in that automation can help players in ways that tabletop gaming can't. For example, Doomtown has card memory. This means that any permanent changes on a unique card (most of the cards are unique) remains even if the card leaves play and later comes back in. Naturally, most players tend to forget this unless they take care to use a notepad or hack around with proxy cards and markers. I've automated this, so that the game remembers all markers on card when it leaves play and automatically replaces them when it comes back. This takes away unnecessary oversight from the players once more and avoids them making mistakes by forgetting.

I have played with, and without automation, and indeed I have played in Lackey the very first time (well, excluding Gatling Engine of course) and I can honestly say that my eyes started hurting because of how much strain I had to do to see the ranks and make sure my opponent did not do a mistake. Mind you, this was before I created my own plugin. In fact, this was a very large reason why I wanted something scriptable, because I realized just how tiring this is in Doomtown, and I am sure for many other games.

QuoteI will add some sorts of scripting though. I'll post more about that later.

Excellent. At the least, my post here was a cause for a positive result :)

May I suggest you go with python as well? Not only will it mean that people might be able to import scripts from OCTGN with a minimum of rework (MTG on OCTGN is heavily scripted as well for example), but python is very easy for newbies as well, compared to other languages.

Trevor

I already have a number of functions which one might consider scripting. One example you mentioned, unbooting all cards, has been available for a long time in Lackey.

I suppose I will give plugin makers the option, and I fear some will shoot themselves in the foot with the ability to do so added, but I will still give them the option.

I will take a look at python and consider it as an option.

db0

#33
That's good to hear. As long as you implement more scripting functionality than OCTGN, it's likely that I will port and upgrade the LackeyCCG Doomtown plugin in the same way. Unfortunately the OCTGN development is very slow atm and there's a bunch of bugs and missing features in scripting that I can't work around, and being able to run natively on Macs would help a lot in attracting a number of people I can't currently play with.

If it will help, I will reiterate my offer that you try out the plugin I've created for OCTGN to get some ideas on what can be accomplished through scripting. If you contact me privately I can give you a quick runthrough and explain which parts (not just for scripting) I would really appreciate having available for Lackey. You can even take a look at the python script code directly to see what kind of things one can achieve and how easy it is to write.

I must say that I find it a good sign that you're so active in development of your program, even though I'm concerned of its centralized and closed source nature - primarily because it still remember what happened to the Gatling Engine which was run in a similar fashion.

Trevor

Regarding "card memory" you mentioned. I believe lackey does exactly that now, or at least it does if you set that as your preference.

Preferences->Gameplay-> Auto-clear cards moved off the table:[√]

If card memory isn't working as you would like it to, let me know and I will reevaluate it. At present, there are cases where things aren't remembered, but as far as you moving a card from the table to the discard pile, and then back again, it should remember the exact state it was before, unless of course you have the above-mentioned preference enabled.

Talk to me online some time via AIM and we can discuss scripting in more detail.

Carpemortis

I found this in searching for answers to my own questions.  Having read both sides of the argument I don't think it's quite as black and white as either side makes it out to be.  The thing is, the ability to script in itself is not evil, nor is it good.  It won't render a game boring, make it too impersonal, simplify the game, make it more accessible, or any of those things.  What does all that, is the person who writes the script.  It's a tool like a hammer.  In the hands of a carpenter, you get functional and useful creations.  In the hands of a Hell's Angel, you get a an easily concealed and perfectly legal murder weapon.

I would LOVE to see at least simple scripting. Let the plugin creators automate small and repetitive tasks.  Cut down on the amount of clicking required to perform in game tasks.  When you play a card face down and sideways with real cards, it's a simple action that takes no more effort than playing one face up and tapped.  However in Lackey it's a bit more complicated.  The extra effort required to do something we take for granted in real life actually detracts from the immersion. You aren't playing a card game, you are playing a computer game about playing card games.  But if you go too far the other way and add an "Install ICE on data-fort X" option, you are no longer playing a card game either, you are playing computer adaptation of a card game.

I think what my rambling is trying to say, is that we need to strive for that sweet spot where we feel like we are playing the card game.  In order to get there we need the right tools.  Scripting is a powerful tool.

Trevor

Quote from: Carpemortis on May 23, 2011, 01:00:39 PM
I would LOVE to see at least simple scripting. Let the plugin creators automate small and repetitive tasks.  Cut down on the amount of clicking required to perform in game tasks.  When you play a card face down and sideways with real cards, it's a simple action that takes no more effort than playing one face up and tapped.  However in Lackey it's a bit more complicated.  The extra effort required to do something we take for granted in real life actually detracts from the immersion.
This is where I would like specifics. I want an example of the sort of thing you are talking about. Since you mention one, I will address it.

In lackey, right now, you can play a card face down and sideways by:
Dragging it from your hand zone to the table zone, and while you are moving it, before you drop it, hold the alt and option key. (One makes it face down, the other makes it tapped.)

There are about 5 other ways to do the same thing, too.

Unless you simply were unware of being able to do that, I don't see how that is any simpler than it could possibly be. It's just as simple as with a real card in my opinion. How that differs from some (in my opinion necessarily clumsy) automation is a ton of overhead with much less control over doing it explicitly yourself.

In an ideal world, how you would you WANT me to handle a card that you want to play face down and sideways?

I'm not opposed to "scripting", and there is already tons of scripting done in lackey.
Here are a few examples of current "scripts:
Shuffling
Discarding or playing a random card.
Moving a card from one zone to another (or to the table)
Rolling various numbers of dice or coins

Carpemortis

i was un-aware of that,  thank you.

However just to keep the discussion alive, i will explain what I was doing, and what I thought of in order to simplify that (though in this case it is now obsolete).   I was right-clicking the card in my hand to select the "TURNOVER" function.  Then i right-clicked again, to select the "MAKERIGHT270DEGREES" function, then I dragged the card onto the table.   The most basic solution I came up with would be to put the "TURNOVER" and "MAKERIGHT270DEGREES" functions together on a single line to make a single menu option.

another example of this "combined function" style scripting, would be for token management. For example there are numerous cards in Netrunner that function as token "banks" with the tokens being removed from them and added to a player's "bit pool" stat combining a "REMOVECOUNTER" function with a function to modify a stat (in this case i assume those functions do not yet exist), would simplify the management of tokens. Instead of hunting through menus to remove the counters, then manually adding them to the stat, it could be made into a single action.  Again this mirrors real life, where you simply move the tokens you want from one pile to another.

Bob the Builder

liking Doomtown the way i do.. im not worried about the functionality, for me it just would be nice for a High version of this plugin, the Medium is kinda bad..Just sayin