patchFreeciv - Patches: patch #4392, Hidden resources which can be...

 
 
Show feedback again

patch #4392: Hidden resources which can be revealed by tech advances

Submitted by:  Jacob Nevins <jtn>
Submitted on:  Thu 02 Jan 2014 04:01:06 PM UTC  
 
Category: NonePriority: 5 - Normal
Status: NonePrivacy: Public
Assigned to: NoneOpen/Closed: Open
Planned Release: 

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Wed 05 Feb 2014 05:44:48 PM UTC, comment #8:

Well showing resource to everyone just after first player discovers needed tech seems a bit unfair to discovering player, I'd give some grace period.

As for Civ 3, well I played bots only and I managed to get most stuff I needed. Also if you have enough territory you'r boudnd to get everything :). Civ 3 also had mentioned "depleation" and "spontaious discovery" features, what it seemed to be - game simply moved/deleted/created resources sometimes. So if you had iron you might lose it or if you didin't have you might gain it. I do not think I liked that feature.

Edgaras Šeputis <morphles>
Wed 05 Feb 2014 05:11:38 PM UTC, comment #7:

Sorry i'm late to this conversation.

> Civ III has it.


Indeed, that was probably the worst thing about it. When you suddenly discovered you couldn't build railroads due to missing iron and/or coal the only solution was quitting - i tried many times and was never able to trade or conquer my out of this problem. Perhaps if new resources would sometimes be 'discovered' during play might ease the pain? That could reasonably be accompanied by an occasional known resource being removed due to depletion.

Yes, shared vision would become more complicated.

I'd go along with the notion that a new resource should be visible to all when it becomes available. Just because you don't know how to use Uranium doesn't mean you haven't seen it; you'd still be able to trade it.

I'd also hate to have to re-scout all my territory to find out if any of those swamps have coal.

David Lowe <doctorjlowe>
Sun 02 Feb 2014 05:50:57 PM UTC, comment #6:

Strategic resources would be awesome. From what I understand (and that is quite little at least at the moment) about freeciv, it would seem that all resource should be implemented using extras/flags, effects and requirements. And I do not think that having "time dependent" showing is good. I would imagine something like visibility effect/description:

Survives tag could be used to make some interesting effects, though it probably can cause undesirable effects too. On the other hand all of this would probably interact very badly with map trading. My understanding would be that resource would be just a flag on terrain (also having any ammount of possibel resources per terrain would be cool) and all qualities of that resource would be expressed using effects. That way you could even have changing value of resource depending on development of your civ. Maybe at the start oil is worth only a little bit, but as you progress it becomes more important and thus provide more bennefits (well besides of allowing more advanced units and improvements). Maybe later you go all nuclear and oil looses importance, and instead uranium is all what matters.

The point about resources dissalowing certain improvements is very unclear to me. I do not think that there are any limitations on improvements based on resources, it seems that that is fully defined by terrain. Of course this is for version I'm laying 2.4.1.

Edgaras Šeputis <morphles>
Sat 04 Jan 2014 01:25:04 PM UTC, comment #5:

Civ III has it. It just that I always thought that it would be better if resources were revealed to everybody when first one reached the required tech - even if you don't know the tech details well enough to use it yourself, there's some leakage about its nature (I can't build combustion engines myself, but I still know that they need Oil). For multiplayer game balance it would be nice if player already leading wouldn't have additional benefit of knowing which geographical areas are important - I'd like to know strenghten my defenses where I have resources enemy is hungry for.

Marko Lindqvist <cazfi>
Project Administrator
Sat 04 Jan 2014 12:56:56 PM UTC, comment #4:

> I take it the difference between the two systems (property
> that one player can know the extra and the other not) is
> important to you?

Absolutely -- I think it's vital for certain rulesets involving strategic resources.
You don't even know where to look for oil until you have appropriate tech, so you can't spend the entire game from the bronze age defending territory with oil because you know it'll be useful in 2000 years; and you can befriend someone with higher tech and get their map to find it (or maybe steal their map).
(CivIV has this notion, don't know about previous versions.)

Jacob Nevins <jtn>
Project Administrator
Sat 04 Jan 2014 12:51:18 PM UTC, comment #3:

> This concern is specific to the cases where player knowledge is
> kept incomplete.


Right. What I have had in mind system where the extras get actually created when they should be made visible, rather than keeping them hidden from players until then. I take it the difference between the two systems (property that one player can know the extra and the other not) is important to you?

Marko Lindqvist <cazfi>
Project Administrator
Sat 04 Jan 2014 11:53:54 AM UTC, comment #2:

> Also, rather than implementing simple reveal-and-never-hide
> feature, I think more general "appear" and "disappear" framework
> that could model anything of revealing, hiding, depleting,
> actual appearance and disappearance, growing, falling from the
> sky, blocking, worker's strike, etc would be in order.

Mm. Part of the reason I chose reveal-and-never-hide semantics was that it was nice and simple to implement, and didn't require some way for players to remember "I'm sure there used to be stoats on this tile" without keeping it all in their head.
This concern is specific to the cases where player knowledge is kept incomplete. Actual appearance and disappearance in the real world is easier to handle (again, provided there isn't hidden state in a tile that indicates its likeliness to spawn stoats at some point in future).
I'm not sure what shape such a framework would take, beyond using requirements to trigger the various changes. I guess you're thinking of something a bit lit the extra-causes system?

>> I'd be tempted to have a go at this for 2.5,
> I would oppose. [...]

Fair enough. There wouldn't have been time, anyway.

Jacob Nevins <jtn>
Project Administrator
Thu 02 Jan 2014 04:25:53 PM UTC, comment #1:

> Should it be limited to resources, or can it be extras too?


Actually I have been vaguely thinking about implementing this as new extra class. Not that I particularly want that feature, so don't rely on me to implement it.

Also, rather than implementing simple reveal-and-never-hide feature, I think more general "appear" and "disappear" framework that could model anything of revealing, hiding, depleting, actual appearance and disappearance, growing, falling from the sky, blocking, worker's strike, etc would be in order.

> I'd be tempted to have a go at this for 2.5,


I would oppose.

1) That's not an improvement over existing feature, but completely new feature, and S2_5 should be rather stable already. After all, I've proposed datafile format freeze in two months.
2) Things will come out from woodwork - I've proposed datafile format freeze in two months and if not all things have been ironed out before the freeze, we have to live with them
3) Even if this would not be based on extras work, porting between S2_5 and TRUNK that has all the extras work would probably be more work than it's worth (I'm probably biased though, as I have no plans to use such feature in my own ruleset)

Marko Lindqvist <cazfi>
Project Administrator
Thu 02 Jan 2014 04:01:06 PM UTC, original submission:

(We should have a ticket status "Half-Baked".)

It would probably be fairly easy to make it so that a particular kind of resource would only be revealed to a player when they learn a certain technology. This would be particularly useful for "strategic" resources (required for units/buildings/etc).

Basic implementation would probably be fairly simple -- just don't send the resource to the client until its requirement is known, and evaluate tile output and requirements in the context of player knowledge.
Once a resource is known to exist on a tile, the player gets to keep that knowledge forever, even if they lose the prerequisite.

When the relevant tech is learned, we could either reveal the resource in any tile known by the player and add it to their private map (patter: scholars go over their records looking for tales of yellow rocks on discovery of uranium), or require re-exploration of terrain to find the resource -- this could be a ruleset (per-resource) choice.

  • The latter has usability issues -- how does a player track which bits of terrain have been re-surveyed?
    • Possible idea: update the map generator to optionally arrange that every tile of a certain type has either a "helium-3" or "no helium-3" resource, both revealed by the same tech, the latter having no sprite; and add a map overlay to the client highlighting areas which don't have any known resources.
    • This would also allow resource surveys to be done by specialist units in an explore-type mode, if that were desired.
    • Need to think about what happens if there are multiple resources for a tile revealed at different times; perhaps we have to forbid that.
  • In general, in both cases strategic resources would benefit from extra client UI to find resource locations on the map, but that's outside the scope of this ticket.

Obvious generalisation questions:

  • Should the requirement be hardcoded to be a tech, or can it be a generalised requirement? If the latter, then probably certain requirement types will never be handled correctly.
  • Should it be limited to resources, or can it be extras too? Resources have certain restrictions that make this easier to implement. (Not sure what future plans are for resources vs extras.)

There are several wrinkles with this that would need ironing out. Some I've thought of:

  • This makes player maps more valuable. I don't think we need a new "resource map" diplomatic gift, but the AI may need to evaluate the value of world maps more carefully in diplomacy, considering shared vision etc.
  • This would interact badly with extra/building requirements on the absence of a certain resource ("you can't build a mine here, but I can't tell you why"). Can we detect and disallow this at ruleset loading time?
  • All the requirement machinery would need updating to reflect the uncertainty of presence of a resource on a tile, to avoid the server leaking information about hidden resources.
  • (Probably more I've already forgotten.)

I'd be tempted to have a go at this for 2.5, but (a) I have no time (b) stuff will clearly come out of the woodwork (c) it'll probably be much simpler if we can rely on all the 'extras' work having been done first.

Jacob Nevins <jtn>
Project Administrator

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by doctorjlowe (Posted a comment)
  • -unavailable- added by morphles (Posted a comment)
  • -unavailable- added by morphles
  • -unavailable- added by cazfi (Posted a comment)
  • -unavailable- added by jtn (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follows 1 latest change.

    Date Changed By Updated Field Previous Value => Replaced By
    Sun 02 Feb 2014 05:50:57 PM UTCmorphlesCarbon-Copy-=>Added morphles
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup