Why can I not draw card(s) first?

Forum rules
Please DO NOT POST BUGS on this forum. Please report (and vote) bugs on : https://boardgamearena.com/bugs
FrankJones
Posts: 2446
Joined: 30 June 2024, 00:24

Re: Why can I not draw card(s) first?

Post by FrankJones »

xspuipuke wrote: 04 February 2025, 16:46 If I understand correctly, most devs here are freelancers. I've seen the devs answer stuff on these forums so you might be lucky enough for them to elaborate. My example above, however, illustrates how it is NOT feasible, in general, to decide whether a chain of events will succeed or not and that's why undoable stuff like card draw can only happen once it is 100% clear that it can't fail, i.e., if it is the last or second-to-last thing happening.
Your conclusion does not follow from your premises.

If there is ONE card that could potentially cause a problem, that does not prohibit the programming from allowing card draw first in all other situations.
FrankJones
Posts: 2446
Joined: 30 June 2024, 00:24

Re: Why can I not draw card(s) first?

Post by FrankJones »

xspuipuke wrote: 04 February 2025, 13:03 The constructed case involves Lava Tube Settlement, Neptunian Power Consultants and the Hellas map.

Imagine you lack energy production at the time of playing Lava Tube Settlement but you place it on the South Pole, placing an Ocean, triggering NPC to get the power production you need. BUT now consider you must place the ocean in such a way to generate enough money to even use NPC but you decide to draw a card instead (and not gaining enough cash to buy power) ... Now you've drawn a card but you cannot complete Lava Tube Settlement because you can't reduce power. If you place the ocean another way, to generate more cash, this sequence would be totally legit. (If for some reason you don't agree with this like in the other thread—these are the rules.)

Again, your solution #1 involves undoing a card draw which I can then undo over and over again until I draw the desired card. Reshuffling the card into the deck is not the problem, it's the ability to cheat this solution creates.

And yet again, your solution #2 is just not maintenance-friendly and asking for trouble. Yes, you can hack your way through most stuff but sooner or later you'll run into problems and need to refactor your code anyway, which is costly. Are you going to pay for that if it happens?

BTW, I'm not a dev here, just speaking from experience.
Let me make sure I understand this situation.

1) Someone plays Lava tube settlement (Or any tile that requires an energy production decrease), but has no energy to reduce.
2) To make this a valid play, something else in this action sequence must increase this player's energy production.
3) The only card that can possibly do this would be a card that would gain energy production after carrying out the mandatory Ocean placement required by placing the tile on the south pole in the first place, AND, placing that ocean next to enough other oceans to gain the 6 MC needed to actually place the ocean.

Okay, I see multiple solutions so this "problem."
1) In this one and rare case, have the programming disallow the ocean placement on a card spot after performing a simple if/then check:

If(oceanPlacementSpot) causes Money < 6
then (OceanPlacementSpot is invalid)

in which case the card would not be drawn.

So, a few lines of code in a game that probably has tens of thousands of lines of code, or more, to prevent one bizarrely rare scenario while also allowing the CORRECT application of the rules in situations that seem to occur once a game. What exactly is the problem here?

Also - whenever we go to place a tile, the game grays out (or perhaps more precisely, doesn't highlight) invalid spots. So, in this case, simply have the game not highlight a card-giving ocean placement spot if the result would be that the player does not have 6 MC.

These are easy solutions that would allow the rules to function as written - the very rules that are apparently held so sacred to the point of ignoring logia and reason, thus causing this discussion in the first place.

2) Do not allow the tile to be placed if the player cannot pay 6 MC to place an ocean. Am I to understand that a player can pay to place an ocean by using the money gained from ocean adjacency bonus AFTER placing the ocean? That is preposterous.

3) Similar to a combination of what I have already said, but, maybe we could just use logic and common sense.

Because right now, we have the following:

"It's okay to choose an effect of a tile (nuclear zone) without actually placing that tile first, because, well, that's apparently the (very poorly written) rule, and we cannot ever deviate from written rules even they obviously resulted in an unintended illogical consequence,

and

"In a situation that seems to occur once per game or more, we MUST deviate from the written rules because we cannot ask programmers to insert a few extra lines of code to avoid the problem."

Yeah, sorry, I find that a very unconvincing stance to take. I understand others may feel differently. I just hope those who feel differently are recognizing the blatant contradiction in their argument.
User avatar
Meeplelowda
Posts: 3832
Joined: 14 March 2020, 10:31

Re: Why can I not draw card(s) first?

Post by Meeplelowda »

Boricua1 wrote: 04 February 2025, 15:38 The discussion is great thanks all; I wonder if an employee of BGA would post a reply to help us understand the status quo. Perhaps the original poster (OP) should submit a bug report or feature request, those of us interested can upvote it, and see where it goes?

I could never afford premium on here BGA; those of you who do pay for premium, do you know if you can expect communication and/or support for these sort of situations?
The cost of premium per year is less than just one of most modern physical table top games (and many video games, for that matter). At that price we're not getting some kind of enterprise quality guaranteed service level agreement. BGA employees are not developers. Developers are volunteers, or in some rare instances, freelancers on a limited term contract. So questions about a specific game should be directed at the developer, not a BGA employee (who won't know squat about any specific game's code anyway for the most part).
Play Now lobby 4ever! https://boardgamearena.com/lobby
FrankJones
Posts: 2446
Joined: 30 June 2024, 00:24

Re: Why can I not draw card(s) first?

Post by FrankJones »

Meeplelowda wrote: 04 February 2025, 23:51
Boricua1 wrote: 04 February 2025, 15:38 The discussion is great thanks all; I wonder if an employee of BGA would post a reply to help us understand the status quo. Perhaps the original poster (OP) should submit a bug report or feature request, those of us interested can upvote it, and see where it goes?

I could never afford premium on here BGA; those of you who do pay for premium, do you know if you can expect communication and/or support for these sort of situations?
The cost of premium per year is less than just one of most modern physical table top games (and many video games, for that matter). At that price we're not getting some kind of enterprise quality guaranteed service level agreement. BGA employees are not developers. Developers are volunteers, or in some rare instances, freelancers on a limited term contract. So questions about a specific game should be directed at the developer, not a BGA employee (who won't know squat about any specific game's code anyway for the most part).
I have premium. It costs $3 a month. The skeptical part of me has trouble believing there is anyone who "could never afford" $3 a month.

Anyway, as Meepleowda noted, the people involved in making this superb game platform work hard for little compensation. I think they do a tremendous job. Bug reports are read and dealt with. The games function properly. There are numerous ways to interact with other members and players.

So, to answer Boricua1's question - yes, support and communication occurs. I do not even think it requires having a premium membership. I'm pretty sure I was able to post bug reports and discuss them with BGA staff before I became a paid premium member.
Boricua1
Posts: 16
Joined: 24 November 2023, 17:32

Re: Why can I not draw card(s) first?

Post by Boricua1 »

Meeplelowda wrote: 04 February 2025, 23:51
Boricua1 wrote: 04 February 2025, 15:38 The discussion is great thanks all; I wonder if an employee of BGA would post a reply to help us understand the status quo. Perhaps the original poster (OP) should submit a bug report or feature request, those of us interested can upvote it, and see where it goes?

I could never afford premium on here BGA; those of you who do pay for premium, do you know if you can expect communication and/or support for these sort of situations?
The cost of premium per year is less than just one of most modern physical table top games (and many video games, for that matter). At that price we're not getting some kind of enterprise quality guaranteed service level agreement. BGA employees are not developers. Developers are volunteers, or in some rare instances, freelancers on a limited term contract. So questions about a specific game should be directed at the developer, not a BGA employee (who won't know squat about any specific game's code anyway for the most part).
I am not the original poster; that said, there's some here on bga (including myself) that do not own any of the physical table top games (or their video games) due to cost. To each their own. Those of you who can and do pay for premium, *thumbs up*.
User avatar
Meeplelowda
Posts: 3832
Joined: 14 March 2020, 10:31

Re: Why can I not draw card(s) first?

Post by Meeplelowda »

Boricua1 wrote: 05 February 2025, 00:30 I am not the original poster; that said, there's some here on bga (including myself) that do not own any of the physical table top games (or their video games) due to cost.
I specifically avoided opining on whether anyone should be able to manage a premium subscription. I just mentioned the costs of games to put it in perspective.

Let me put it this way, some businesses pay multiple thousands of dollars per month for Internet connectivity, CDNs, etc., because it's critical to their business. At that price point, you expect, and get, 24/7 support and are allowed to complain if it's down even for one minute. Although some people like to swing their big Premium around when they complain on here and act like that's what they're paying for, I think that level of entitlement is unwarranted.
Play Now lobby 4ever! https://boardgamearena.com/lobby
FrankJones
Posts: 2446
Joined: 30 June 2024, 00:24

Re: Why can I not draw card(s) first?

Post by FrankJones »

Boricua1 wrote: 05 February 2025, 00:30
I am not the original poster; that said, there's some here on bga (including myself) that do not own any of the physical table top games (or their video games) due to cost. To each their own. Those of you who can and do pay for premium, *thumbs up*.
So, you were curious about what level or direct personalized support comes with a premium membership that you never intend to buy?

I suppose you were asking for a friend. :)

Anyway, I hope your question was answered. In my experience, the service and support here is excellent, with or without the premium membership. I think most others would agree. I haven't seen or heard any complaints compared to, let's say, steam, where the complains number in the thousands or tens of thousands.
User avatar
xspuipuke
Posts: 221
Joined: 13 July 2021, 16:51

Re: Why can I not draw card(s) first?

Post by xspuipuke »

We seem to be talking past each other.

So one final attempt at explaining this: Even if there is just a single exception NOW, it is a bad design choice to hack it into the code. Why?

a) You might be missing other interactions not yet encountered or thought of.
b) Future cards may add exceptions that you then need to hack in too, potentially missing other interactions, thus creating a huge mess that no one will ever be able to see through.
c) Your code becomes hard to maintain, e.g., if another dev takes over for some reason etc.

Especially a: You claimed there is no interaction that could cause a problem and yet I've shown you one. And who knows how many more there are that nobody thinks of right now?
Last edited by xspuipuke on 05 February 2025, 09:56, edited 1 time in total.
User avatar
xspuipuke
Posts: 221
Joined: 13 July 2021, 16:51

Re: Why can I not draw card(s) first?

Post by xspuipuke »

FrankJones wrote: 04 February 2025, 23:22 2) Do not allow the tile to be placed if the player cannot pay 6 MC to place an ocean. Am I to understand that a player can pay to place an ocean by using the money gained from ocean adjacency bonus AFTER placing the ocean? That is preposterous.
Regardless of how you feel about this, it's in accordance with the rules. The Hellas Southpole adds two effects to your queue:
a) Place an Ocean tile.
b) Lose 6 MC.

As per the standard rule, you—the active player—decide the order of effects. So, of course, you may place the ocean first and then pay 6 MC after collecting enough cash. Those are two independent effects.
User avatar
Acerbic
Posts: 65
Joined: 15 September 2014, 17:12

Re: Why can I not draw card(s) first?

Post by Acerbic »

xspuipuke wrote: 05 February 2025, 09:31 We seem to be talking past each other.

So one final attempt at explaining this: Even if there is just a single exception NOW, it is a bad design choice to hack it into the code. Why?

a) You might be missing other interactions not yet encountered or thought of.
b) Future cards may add exceptions that you then need to hack in too, potentially missing other interactions, thus creating a huge mess that no one will ever be able to see through.
c) Your code becomes hard to maintain, e.g., if another dev takes over for some reason etc.

Especially a: You claimed there is no interaction that could cause a problem and yet I've shown you one. And who knows how many more there are that nobody thinks of right now?
Hi xspuipuke,

I clicked your profile out of interest and noticed that there's a small thread of connection between us. I have been the main developer for Agricola for the last few years and we have enjoyed a fruitful collaboration with Lookout Games to get the implementation to where it is today. Agricola is likely the most complicated game on BGA in terms of rules and exceptions - we now have around 800 cards, many of which have completely unique effects, break fundamental rules of the game or have complicated interactions with each other. Thankfully I'm standing on the shoulders of giants here, since the whole framework for the implementation was built by other, more skilled developers than me. Nevertheless, I think my experience entitles me to say that your standards of code purity are not realistic for development on BGA and would only hold it back. Agricola simply could not function without many convoluted hacks and hard coded exceptions. By comparison, what's being asked here is very mild and certainly doable, both theoretically and pragmatically.

To be clear, this is not a slight on the developers of TM in any way - I enjoy the implementation greatly and that's unaffected by whether or not they choose to lift this restriction or the timeline in which they make that decision. I only want to say that I think you've taken your argument too far.
Post Reply

Return to “Terraforming Mars”