Charts!

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderator: Oberlus

Post Reply
Message
Author
User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Charts!

#1 Post by eleazar »

I'd love to see Dilvish's charts, or some derivative thereof available from within the game. This kind of info is useful both for testing, and helping the player understand the game.

Possible?

At some point we may want to hide some other empire's info based of vision and/or espionage, but that's a secondary concern.

Image

User avatar
Bigjoe5
Designer and Programmer
Posts: 2058
Joined: Tue Aug 14, 2007 6:33 pm
Location: Orion

Re: Charts!

#2 Post by Bigjoe5 »

I can't speak for any other particulars of implementing it, but I suspect that limiting information based on visibility will happen for free if the statistics are generated client-side.
Warning: Antarans in dimensional portal are closer than they appear.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Charts!

#3 Post by Dilvish »

Right now, the info is pulled from the log files, where the AI's happily record their deepest secrets, unaware of the prying eyes of their hidden Overlords.

Client side, the relevant info, like Supplied Starlanes, are all part of the Empire Class structure, which is not a Universe Object and not subject to the normal visibility rules; I think the empire manager will currently hand out full copies of Empire type info to anyone who asks for it -- such things as Ship Designs known, Techs known, the Research and Production Queues, but not, I believe, things like fleet lists (and even if a list of fleet IDs were available, trying to retrieve info on them *would* be subject to normal visibility rules).

What that's suggesting to me is that we'll probably want the EmpireManager to be cognizant of the espionage system we set up, so as to restrict such info. In order to enforce rules about access to info, requests for empire info would be evaluated in light of the PlayerID of the client that sent the request (I believe that's currently done at least for some diplomatic messaging). We could decide to allow a restricted set of charting info to be supplied regardless of espionage status, if we desired.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13603
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Charts!

#4 Post by Geoff the Medio »

Dilvish wrote:...EmpireManager to be cognizant of the espionage system we set up...
I suspect making the EmpireManager only know what it should would be a major part of setting up an espionage system, not an additional side-project...
In order to enforce rules about access to info, requests for empire info would be evaluated in light of the PlayerID of the client that sent the request...
I wouldn't expect there would be any means of a client requesting empire info from the server. Rather, the server would send to clients all info it knows about other empires, and the clients could check their local EmpireManager for info just like they check their local universe ObjectMap.

AndrewW
Juggernaut
Posts: 791
Joined: Mon Feb 04, 2013 10:15 pm

Re: Charts!

#5 Post by AndrewW »

eleazar wrote:I'd love to see Dilvish's charts, or some derivative thereof available from within the game. This kind of info is useful both for testing, and helping the player understand the game.
Agreed, could be nice to have that available, if nothing else to help judge how you are doing. Could see some of this being able to be gathered using espionage, perhaps with false information at times...

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Charts!

#6 Post by Dilvish »

markpi mentioned an interesting alliance dynamic from Age of Empires which I think deserves a fair bit of discussion in that thread; one of the subtopics is empire scores/rankings which I thought would be more suitable to follow up on here. We've talked about how much of the info currently the basis for empire charting will likely become subject to espionage-visibility, but I think some kind of derived score for every empire, or at least a ranking based on it, would be reasonable to make available to all empires regardless of espionage. (Though it could be that we'd want to allow an empire to be able to pursue espionage projects that would distort the score/rank that other empires perceive for it.) Independent of any kind of charting and alliances, players tend to like to see a score for themselves assessing how they are doing / have done in a given game. The key points that come to mind for me are Raw Components & Weighting, and Scaling.
  • Raw Components & WeightingSome obvious score components would be current PP and RP production; total research progress, and some type of cumulative production progress (perhaps tracking buildings and ships separately) would also seem suitable. Once we add influence that it should go in as well. Total Battles fought & % Battles won would be fun components (battles where both sides had surviving ships and/or planet defenses would count as draws). Total colonies & outposts might merit a separate category, but I tend to think they get covered well enough implicitly by the other components. For initial implementation raw components and weighting, I'd propose equal parts (i) current Production (sub-weighted PP + 2*RP), (ii) Cumulative Production sub-weighted same as current, (iii) Total Battles * %Won / ((1- %Won)**0.5)
  • Scaling: The scores should be meaningful across games & so need to be scaled in some fashion. I think different types of scaling are necessary for the different components. One significant factor that doesn't really affect the maximums possible for any of the components, but certainly affects game difficulty, is the number of empires, and AI difficulty (currently, aggression). I'd propose scaling the entire score by the log of the number of empires and by the log of 2+Difficulty (so beginner game, difficulty zero, would not always have score zero), and individual components as follows:
    • Per-Turn Production strongly tends to go up exponentially over time for successful empires, & so should involve taking a log of the raw score and dividing by current turn. Also important, how to scale so that a small galaxy isn't penalized relative to a large one? During early/mid phases their production will progress the same, but It will eventually be capped by a factor based on total planets (we could use exact tally or approximate by NumSystems* PlanetDensityFactor). I suspect that there should be some kind of transition over time in how this score component is scaled, but I'm having a hard time figuring out a good way just now, so I'll punt.
    • Cumulative Production Being sort of the integral of Per-Turn production, an exponential, it also scales as an exponential in the same fashion as per-turn production.
    • Battles I don't really see %Won as being subject to any particular scaling (except perhaps max AI difficulty). I'd propose to start by just scaling NumBattles linearly with currentTurn.
**edit Happiness should wind up being worked in also, but it seems little need to discuss that until Happiness itself is implemented more.
Last edited by Dilvish on Mon Mar 04, 2013 9:07 pm, edited 1 time in total.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

AndrewW
Juggernaut
Posts: 791
Joined: Mon Feb 04, 2013 10:15 pm

Re: Charts!

#7 Post by AndrewW »

Dilvish wrote: Total colonies & outposts might merit a separate category, but I tend to think they get covered well enough implicitly by the other components.
Which would be more though a large planet perfectly suited to your species or a couple of tiny planets that are only adequate?

If a total is gone with I could see some building outposts just to up their score.

User avatar
em3
Vacuum Dragon
Posts: 630
Joined: Sun Sep 25, 2011 2:51 pm

Re: Charts!

#8 Post by em3 »

Dilvish wrote:(ii) Cumulative Production sub-weighted same as curren
I'd suggest replacing this with total PP spent on finished projects (not removed from the queue mid-way, for example). Same goes for total RP spent on completed research.
AndrewW wrote:If a total is gone with I could see some building outposts just to up their score.
Which is a tedious and boring way to increase the score, potentially with very little return value.
https://github.com/mmoderau
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556

AndrewW
Juggernaut
Posts: 791
Joined: Mon Feb 04, 2013 10:15 pm

Re: Charts!

#9 Post by AndrewW »

em3 wrote:
AndrewW wrote:If a total is gone with I could see some building outposts just to up their score.
Which is a tedious and boring way to increase the score, potentially with very little return value.
Just giving a potential consequence of including that. It might be tedious and boring but I can see some doing it.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Charts!

#10 Post by Dilvish »

AndrewW wrote:
em3 wrote:
AndrewW wrote:If a total is gone with I could see some building outposts just to up their score.
Which is a tedious and boring way to increase the score, potentially with very little return value.
Just giving a potential consequence of including that. It might be tedious and boring but I can see some doing it.
My initial reaction is to say, "So what if they did?" But also, if we did use this as a raw component, I'd likely propose to scale it involving time -- spending time & resources doing unproductive things should not seem likely to lead to a higher score.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

AndrewW
Juggernaut
Posts: 791
Joined: Mon Feb 04, 2013 10:15 pm

Re: Charts!

#11 Post by AndrewW »

AndrewW wrote:Just giving a potential consequence of including that. It might be tedious and boring but I can see some doing it.
Dilvish wrote:My initial reaction is to say, "So what if they did?" But also, if we did use this as a raw component, I'd likely propose to scale it involving time -- spending time & resources doing unproductive things should not seem likely to lead to a higher score.
Oh I don't really care if they do or don't, just thinking of what if this was done is all.
Last edited by AndrewW on Tue Mar 05, 2013 8:47 pm, edited 1 time in total.

User avatar
Bigjoe5
Designer and Programmer
Posts: 2058
Joined: Tue Aug 14, 2007 6:33 pm
Location: Orion

Re: Charts!

#12 Post by Bigjoe5 »

Dilvish wrote:My initial reaction is to say, "So what if they did?"
My preference in an ideal world would be that the players that are the most "successful", however that metric is defined by the game, are also among those who are having the most fun.
Warning: Antarans in dimensional portal are closer than they appear.

User avatar
eleazar
Design & Graphics Lead Emeritus
Posts: 3858
Joined: Sat Sep 23, 2006 7:09 pm
Location: USA — midwest

Re: Charts!

#13 Post by eleazar »

During play, a numerical "score" is primarily useful to determine how well a given empire is doing at that moment. It is a measure of of an empire's power at that turn. There's no need to complicate things by adjusting for size of galaxy, number of opponents, or previous kills. In fact taking those things into account would distort the number. If an empire was once the biggest in the game, but later is nearly destroyed, its former greatness has no bearing on weather another empire should be willing to go to war against it (or whatever).

If we want to add an endgame accounting like Civ's Julius Ceasar to Dan Quale metric, it should probably be scaled to into account a lot of those other things-- but that is a different question, and probably something to worry about as a second phase.


Also population is a much better metric for scoring than colonies + outposts.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Charts!

#14 Post by Dilvish »

eleazar wrote:During play, a numerical "score" is primarily useful to determine how well a given empire is doing at that moment. .... If we want to add an endgame accounting like Civ's Julius Ceasar to Dan Quale metric, it should probably be scaled to into account a lot of those other things-- but that is a different question, and probably something to worry about as a second phase.
Well, I was pretty explicit I was talking about a score useful to provide assessments across games, so it's really not a totally different question than what I was trying to answer. The kind of score I was talking about would be useful for both purposes, not just one, and I don't understand much reason to necessarily wait for a second phase.

Within a single game, I only see the score useful for relative rankings of empires, absolute value being meaningless, & so scaling it by galaxy size doesn't hurt its suitability for that at all. Are you seeing some other purpose for it, some way scaling for galaxy size would make it less suitable?

As far as the cumulative score component goes, it doesn't assist the moment-to-moment assessment, but I don't see it really impairing it. It seems unlikely to me that a leading empire could decline relative to the others without one of them also having at least rivaled them in that area and then outperformed them in the battle success component, so the new leader would likely still have a higher score it seems to me. But this part isn't really critical to anything I care about, so if you don't like it I won't argue about it being dropped (beyond what I just did :D )
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

Post Reply