Verified:

Comrade Game profile

Member
96

Jan 29th 2015, 7:04:20

I would really like to know the break-down of tech points received from my research allies, rather than just a sum (eg. normally we get: 3 mins ago You have gained 2286 technology points from [player]'s research, but it should say something like: You have gained 2286 technology points from [player]'s research, of which there were: 1086 Industrial, 1000 Weapons and 200 Spy points).

Actually, wasn't this info available at one point in time in this game, maybe some 10 years ago? I can't remember, but some bells are ringing.

h2orich Game profile

Member
2245

Jan 29th 2015, 7:51:55

Good suggestion. can easily be done I think.

flgatorboy89 Game profile

Member
1620

Jan 29th 2015, 17:38:57

I concur!
Jon
ZT, SoL


<jon> off to bed fluffbeater :p
<mrford> i dont beat fluffs
<mrford> i eat them
<mrford> gosh
<jon> well, fluffeater
<Kat> oookay....

Marshal Game profile

Member
32,589

Jan 29th 2015, 20:08:46

outside ffa yes, in ffa useless since we ally our own countries.
Patience: Yep, I'm with ELK and Marshal.

ELKronos: Patty is more hairy.

Gallery: K at least I am to my expectations now.

LadyGrizz boobies is fine

NOW3P: Morwen is a much harsher mistress than boredom....

KoHeartsGPA Game profile

Member
EE Patron
29,652

Jan 30th 2015, 3:12:19

Originally posted by Marshal:
outside ffa yes, in ffa useless since we ally our own countries.


Thanks for the tip Captain Obvious :P
Mess with me you better kill me, or I'll just take your pride & joy and jack it up
(•_•)
http://www.youtube.com/watch?v=W6VRMGTwU4I
-=TSO~DKnights~ICD~XI~LaF=-

S.F. Giants 2010, 2012, 2014 World Series Champions, fluff YEAH!

qzjul Game profile

Administrator
Game Development
10,263

Feb 10th 2015, 3:57:53

I'm not actually sure if it can be done easily or not; i think to save room in the database it's just added and stored as an int
Finally did the signature thing.

Comrade Game profile

Member
96

Feb 14th 2015, 13:58:21

How hard would it be to add another field into the db, maybe a String, which would hold a simple description of the breakdown of research points?

On the other hand, judging by the way you mention it, the engine directly accesses the ally's country tech when it adds the research, but it apparently only saves an int of total research to deliver as a message to the ally's screen. Why not, for example, constantly keep track of the player's tech points and so whenever an ally does research and that research is added to the user's balance, print that data in the user's news messages directly, which would then store it as strings used for the news items, right? This could turn out to be messy so, additionally, you could attach a token to the string containing research data points and whenever that token is detected parse the specific part of the string for an int, extract the int, and add into an array; display the contents when the user logs on. All of this could be run in memory without the need for a database edit. At least it would in a way that I think of it - I only program in Java, so I don't know how it looks like in this game and on the server side, but may give you an idea... The downside is that there would be more processing. At any rate, I'm just poking in the dark here, but seems like there are 2 choices: 1 - edit the database (this could be easy if you have a nice database update method) and 2 - don't edit the database and use the string field to keep track of research point types.

As a third possibility - how come when something is sold on the market we know exactly what and in what quantity? Can this same mechanism be exploited to keep track of gained research? Perhaps "disguise" the gained tech info as, for example, purchased tech, but without touching the money balance, and save that information in the same field where "sold tech" is kept?

Just some ideas..

qzjul Game profile

Administrator
Game Development
10,263

Feb 17th 2015, 17:58:37

Originally posted by Comrade:
How hard would it be to add another field into the db, maybe a String, which would hold a simple description of the breakdown of research points?


Not *hard*... it's the space & lookup time that's the issue... Trying to keep it fast!

The current country events table is 8 column: int, smallint, mediumint, int, smallint, int, tinyint, bigint; and has 64 million entries (not too bad considering!), for a total of 3.9GB for that table.

So this would either mean taking the tech events and multiplying them x up to 13, or adding a dedicated table for that event type, again, with up to 13 entries instead of one; news is absolutely not stored as strings, that'd be craaaazy nuts (we actually had that as the super-fast get-'er-done initial launch, but it was multi-GB very quick even after a couple million entries).

Originally posted by Comrade:
how come when something is sold on the market we know exactly what and in what quantity? Can this same mechanism be exploited to keep track of gained research?


This is because we keep track of all market sales *anyway* for the market news & everything; so, this one is really easy, the country events table simply records the market transactionid, which being a primary key is a super-fast lookup anyway :)
Finally did the signature thing.

qzjul Game profile

Administrator
Game Development
10,263

Feb 17th 2015, 18:01:59

although, you know, i could develop a way to do it possibly; jam the total points in an int (assume you don't ever receive more than 2B tech), the bigint could be split into 13 4-bit fairly-decent-accuracy percentage fields; ie like 00F0000000000 or 0088000000000 or something like that... hmmm could do that
Finally did the signature thing.

qzjul Game profile

Administrator
Game Development
10,263

Feb 17th 2015, 18:03:07

And could normalize it so the largest one was always F, that'd make it pretty reasonable
Finally did the signature thing.

Marshal Game profile

Member
32,589

Feb 17th 2015, 20:13:57

is getting 2b tech even possible? that's ~633 million techpoints gotten per ally so they would need to tech ~6.4b points. assuming allies get 10% of techs teched.
Patience: Yep, I'm with ELK and Marshal.

ELKronos: Patty is more hairy.

Gallery: K at least I am to my expectations now.

LadyGrizz boobies is fine

NOW3P: Morwen is a much harsher mistress than boredom....

enshula Game profile

Member
EE Patron
2510

Feb 18th 2015, 10:10:32

even if it rolloed over to negative tech gained from ally if it goes above 2.1b, wouldnt matter anyway its just a display of how much you were given, it wouldnt take away your tech

what you could do as the parallel change and wouldnt require storing would be to tell you how much of each tech your allies got, and potentially how much they missed

even a single number of how much they missed getting could be nice, same for receiving

Comrade Game profile

Member
96

Feb 22nd 2015, 0:58:48

Hmm... I lost you at "64 million entries" lol but doesn't matter, I get the overall issue. I only program small java stuff and basic sqlite db so some of these concepts are new to me.

At any rate, I hope something quick and painless can be done to show type of research; it would be very nice.

Comrade Game profile

Member
96

Feb 22nd 2015, 1:04:57

Originally posted by qzjul:


This is because we keep track of all market sales *anyway* for the market news & everything; so, this one is really easy, the country events table simply records the market transactionid, which being a primary key is a super-fast lookup anyway :)


Oh, I get this, nice :)

zerozerozero Game profile

Member
378

Mar 1st 2015, 10:50:13

Originally posted by qzjul:
although, you know, i could develop a way to do it possibly; jam the total points in an int (assume you don't ever receive more than 2B tech), the bigint could be split into 13 4-bit fairly-decent-accuracy percentage fields; ie like 00F0000000000 or 0088000000000 or something like that... hmmm could do that


as a developer, I kind of laughed on this one :p

midevil.chaos Game profile

Member
202

Mar 2nd 2015, 2:37:34

The idea itself is good...