 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Guys:
I'm running a small fever, and the wife has threatened to have my hide if I don't go to sleep early a few nights.
Women.
Maybe Sunday I'll finish up with adding the 'Social Classes' and 'political structures'. I've got those about 2/3rds done.
|
|
|  |
 |
|
Lord God Jinnai
|
 |
St. Louis
Sep 1999 time: 23:13
|
|
Bare with me cuz this is the first time i've actually tested this thing...anyway here's the report (and i'm doing this as i test it so i don't forget):
1> I don't know if you know about the window sizing problems, but there are a lot on the pop up windows like new province names and ruler name (ie the default sizes are the same) and they're a little to short. The civ edititor i had to expand it some width wise, ie anything that requires you to enter a new name is one. Ethinic culture editing had to be widened also (ie not the first menu that lists the various ones, but the one with the info). (Resolution is 1024x768)
2> On ruler options every time i put something at 100% it would go back to the prev setting. Also on tax rate and civil rights, when i set to 0, it also went back to the prev. setting.
3> In Edit Enthic groups when i clicked on one on the list it flickered and went back to the top without showing it selected (it actually did, but i don't think it should flicker and unhilight like that).
4> More of a question, but why lack 100% on all the culture modifiers? (not that it matters since the final version should be more tweakable that every 5%).
5> You need cancel/ok buttons instead of just using the 'X'. This is espically true with the cancel button.
6> It'd be nice to have differnt tones of highlited areas on the main window for which section i last put my cursor in and selected something, instead of the same default blue for all of them.
7> A way to switch between scenerios w/o reloading the whole thing would be nice.
8> This is totally unrelated to the actual applet fuctioning, but i think for many reasons, one of which is the fact that we're trying to make Clash cross cultural or non-cultural, u should replace the Cathlic abrivations of BC and AD with BCE and ACE, otherwise it might be seen like we're contradicting ourselves and could cause problems for certain scerios based on differnt religions and/or cultures.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
I'm feeling better now.
Lordy:
Tonight I'll fix those. Thanks for your help on this, with all of us pulling together in the same direction we'll get this cart over the hill!
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Axi:
As soon as the new enhancements are finished a little more, I'll zip it up and put it out in a new 'version'.
'Age' was just for fun.
The one on the website now has 'Political Structure' info, altho the gui part that sets the info isn't done.
Now it's time for specifics!!! It's time for turnhandler code!
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Mark:
Yes, I'm sorry.
I thought I mentioned that I'm using Vectors for simplicity, right now. Feel free to replace that with any type of collection you want. The method signature and return will stay exactly the same.
You don't have to use an array, by the by. Collections like a Linked List can give the same performance. The main advantage is that 'mapsquares' don't have to be 'square'. They can be any shape, and have 'borders'. Then to find the 'square' you just give the x/y location on the map and do a '.contains(x, y)' on the mapsquares until you get the one you want.
Altho even the simple Vector is not as slow as you're afraid . . . I did some tests with a full map (280 x 170) and access times were not bad. I can put that test out there, if you'd like. For any map under about 100x100, there was no pressing immediate need to use anything faster.
But a 2d array of mapsquares would certainly be one of the fastest, under many circumstances. Altho I think you should test some of the new Java2 collections like 'TreeMap' that are suppose to give a constant retrieval time for any number of elements. And again, you could also get the same performance with a 'LinkedList', and not be limited to squares.
But it's up to you. Do feel free to replace the specific collection. Later, if you'd like, we can code up some quick tests and check retrieval times.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Okay:
I ran some tests. The results were quite interesting.
It looks like a HashMap is the way to go. It is a tiny bit slower than using a raw array, but the difference is so negligible that it would be like putting a racing engine in a dump truck -- it may be faster, but it doesn't suit our purposes (hauling data) any better.
* * *
A note on methodology:
I wrote a program that created a certain number of random points (x, y locations). Three identical maps are built in different ways (simple Vector, MapSquare[][] array, HashMap with a 'Point(x, y)' key), then the program goes and retrieves the mapsquares at those points (including casting -- and the same list of points is used for all three maptypes, for consistency, to be fair to the 'Vector'). Retrieval times are as below.
Note: A retrieval time of '0' milliseconds actually means *less* than one millisecond. Nearly instantaneous.
The Data:
For the Full World Map:
MapSize: 280 by 120
Creating 100 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 12:57:28 CDT 2000
Finished: 965930256168
Total Time: 8132 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965930256198
Finished: 965930256198
Total Time: 0 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965930256719
Finished: 965930256719
Total Time: 0 milliseconds.
**************************************************
***
Creating 1000 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 12:57:36 CDT 2000
Finished: 965930262627
Total Time: 5888 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965930262637
Finished: 965930262637
Total Time: 0 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965930262817
Finished: 965930262817
Total Time: 0 milliseconds.
**************************************************
***
Creating 10000 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 12:57:42 CDT 2000
Finished: 965930327450
Total Time: 64593 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965930327460
Finished: 965930327470
Total Time: 10 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965930327651
Finished: 965930327681
Total Time: 30 milliseconds.
* * *
A single hemisphere, something like Europe and Asia:
MapSize: 100 by 100
Creating 100 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 13:00:05 CDT 2000
Finished: 965930409098
Total Time: 4016 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965930409438
Finished: 965930409438
Total Time: 0 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965930409709
Finished: 965930409719
Total Time: 10 milliseconds.
**************************************************
***
Creating 1000 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 13:00:09 CDT 2000
Finished: 965930411291
Total Time: 1562 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965930411291
Finished: 965930411291
Total Time: 0 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965930411401
Finished: 965930411411
Total Time: 10 milliseconds.
**************************************************
***
Creating 10000 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 13:00:11 CDT 2000
Finished: 965930427204
Total Time: 15763 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965930427214
Finished: 965930427214
Total Time: 0 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965930427254
Finished: 965930427274
Total Time: 20 milliseconds.
* * *
And a map about the size of Europe:
MapSize: 50 by 35
Creating 100 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 13:21:27 CDT 2000
Finished: 965931691762
Total Time: 4606 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965931691982
Finished: 965931691982
Total Time: 0 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965931692163
Finished: 965931692163
Total Time: 0 milliseconds.
**************************************************
***
Creating 1000 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 13:21:32 CDT 2000
Finished: 965931695107
Total Time: 2934 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965931695107
Finished: 965931695107
Total Time: 0 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965931695117
Finished: 965931695117
Total Time: 0 milliseconds.
**************************************************
***
Creating 10000 random points to be retrieved
Creating Vector Map: Absolutely the slowest (yet simplest) method.
Created. Now retrieving test mapsquares:
Start: Thu Aug 10 13:21:35 CDT 2000
Finished: 965931698091
Total Time: 2954 milliseconds.
Testing Array Map: Probably the fastest method, but limits flexibility
and adds a point of failure (index out of bounds exception).
Created. Now retrieving test mapsquares:
Start: 965931698091
Finished: 965931698101
Total Time: 10 milliseconds.
Creating HashMap Map
Created. Now retrieving test mapsquares:
Start: 965931698111
Finished: 965931698131
Total Time: 20 milliseconds.
* * *
Another interesting result is that for smaller maps, around the size of Europe, the retrieval times even for a Vector is still fast. Altho a note on the variation in Vector retrieval times -- since the vector is looped thru until the right element is found, it is very time-sensitive to the position of the randomly generated point within the vector.
Both an array and a HashMap guarantee constant retrieval times.
[This message has been edited by F_Smith (edited August 10, 2000).]
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:13
|
|
You're right, the test results were interesting.
But I don't really see any advantage to the HashMap. So the array can throw an exception. If the HashMap returns null, which is the analogous result, then there is an error in the programming that we need to fix anyway! Plus there is a huge amount of existing code that already uses the array method. I already have safe access methods written... So from my position anyway the dump truck already has a Ferrari engine in it and it's not broke, why'fix' it? Please, just save us a lot of grief and copy the map stuff as it exists out of the code I've sent you. The code in the Beast doesn't have much on map handling yet, and it would be extremely easy for you to switch over. That is Not the case for the existing code base.
BTW, on another topic, is there any real advantage to using one of the Collections for holding something like the economic sectors, which I don't expect to change? I do realize that if we add one more sector to the economy it would save the trouble of changing over a bunch of array indices. Is that the limit to the benefits of switching, or is there something else?
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Mark:
I'm sorry, I thought I mentioned that the main reason I used a collection was the possibility of MapSquares not having to be square. It also gives you the power of an iterator or enumerator for looping thru mapsquares, and allows the use of custom comparators for some fancy ordering and reordering.
But it's no big deal if you chose to stick with an array. The only place that will have to change is the three methods in 'GameData' and the actual collection in GameData. The maphandling code in the rest of the program shouldn't have to be changed at all -- if it does, that's a goof that needs to be looked at.
Maybe I should back up -- I am assuming that the game code is going to store all game date in a single 'database' class (I've called mine gamedata, but I'll change that name to match whatever you want).
And this gamedata class will have two methods for getting mapsquare info --
public MapSquare getMapSquare(int x, int y)
and
public Enumeration getAllMapSquares();
altho if you don't use a collection, the last one may not exist for you, and the controller code may have to manually iterate thru all mapsquares individually, as you do in the Clash code. Which is not a problem at all.
So as far as mapworking code is concerned, there isn't any reason for me to work with an array -- and you can just as easily use one in your code. As long as the method signatures stay the same.
That's the beauty of a 'component' architecture. Plug in whichever you prefer.
[This message has been edited by F_Smith (edited August 10, 2000).]
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Oops:
Dense me.
By economic sectors you mean food/etc, I believe.
Ah. That does not absolutely have to be a collection, no. Altho doing so leaves open the possibility to greatly expand the econ model -- I was thinking more of having different types of food, instead of just 'food' (farmland/pasture/forest/lake/etc). Same for the other resources. We can (if we want, no need) have a bunch of different types of manufacturing sectors, instead of one lump sum.
Kind of like Caesar 3.
But it's not absolutely necessary.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Yeah, actually, that's because it's 'between releases'. You're just getting to see a work in progress, as I upload it for testing.
The code for the new features isn't firm, nor is it fully fleshed out -- for example, the info doesn't save or load yet.
You're just seeing my testing version.
Really, don't expect to be able to go looking for new features until a post here says that it's a 'finished' release. Anything that is in there but not 'announced' is just a feature in development. I don't mind if you check it out, and comment on the direction of the development, as long as you keep in mind what you're seeing.
Don't worry, when a new 'release' is finished, I'll post loudly here (and in the 'help dialog' inside the game) what is new and how it works.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Mark:
There's definitely more in the code than I've got GUI stuff for. I'm sorry I haven't written 'view' code for all of it yet, that part just takes a little longer. As does parsing the XML.
That's one of the curses of development people are much more impressed by what they can see than what they can't see.
I get it all the time at work -- I can spend 3 months working up a perfect, clean, fast data model that revolutionizes our product's performance and the managers politely pat me on the back. But if I spend 20 minutes putting some cool moving grafix on a splash screen, or a 'toilet flushing' sound when you exit, and they go nuts and call me a genius.
The plumbing just isn't exciting (to others -- it's my favorite part!).
p.s. -- packages are a good idea, actually. We've already got the directory structure.
I'll do that later.
I tend to write a program, then go back and organize it later. Not the best way. One of my bad habits.
|
|
|  |
 |
|
roquijad
|
|
Santiago
Nov 1999 time: 05:13
|
|
Hi F_Smith.
I played with the beast and it crashed again. I tried again and it worked. I'm not sure why it worked on the second attempt.
Here are my comments:
1) just to show my ignorance: what's an "applet"? why they appear with a warning message?
2) When editing a civ, you have a sub-section called "govt planning pref". Why? what's that? why didn't you put just the list of all policies? why "social policies" and "economic planning" aren't there?
3) Since we're still discussing scalability for social classes, I'd appreciate it if you use our "standard" classes. No slaves class. Include Religous Class and Warriors Class. Alternatively, you can implement my last proposal in the govt model thread and replace the political structure with People, Ruler, Capitalists, Bureacratic Elite, Religious Class and Warriors Class.
You should also display two lists of political power. The nominal (by law) political power and the real political power for each entity.
4) When I add a new base ethnic group the window is titled "new civ"...
5) What's the difference between an ethnic group and a base ethnic group? does the concept ethnic group exist? is it all "base" ethnic groups now?
6) when editing cultures, a "ruler govt preferences" title is on top.... get rid of! ruler has nothing to do there.
7) I presume editing religions is not implemented yet. I couldn't do anything there.
8) what is a "group"? (edit group option)
9) A simple next step is to add ideologies objects. Attributes for ideologies would be (using the newly proposed system) Ruler pol.power, People's pol.power, Capitalists pol.power, Warriors Class pol.power, Religious Class pol.power, Social Policies, Economic Planning and Private Property.
10) Within ruler's preferences, you must include his preferences for the distribution of pol.power.
11) We should be able to give a nationality to a civ. This sounds tricky, but civ's nationality doesn't have to match one of the ethnic groups names. A civ like Yugoslavia has yugoslavian as nationality, but ethnic groups are actually serbs, croats, kosovars, etc. This "trick" serves a purpose in the social model.
It looks nice! keep on going!
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Rodgrigo:
I don't understand that about windows crashing. Does Internet Explorer ever crash your machine at other times, or is it just with this applet?
1) An applet is a type of java 'program' that runs thru a web browser (like IE). The warning is because it's a program running on your machine, and can do many things in the background (but can *not* write to your hard drive, so no viruses to worry about).
2) For cosmetic reasons only, I put the planning techs in a seperate 'panel'. And the three that should be displayed there are 'economic', 'social' and 'foreign policy'. They should be there. But all that is only temporary anyway, that entire civilization dialog box desperately needs a 'look and feel' makeover.
3) I can remove 'slave' class, if you'd like (altho I like it, if it's possible to keep it for testing, for now).
I do need to, and was going to put in 'social classes' next -- warrior class, etc., and I would really rather use your new system, if that's okay. If so, I'll alter the 'political structure'. I'll also put another 'political structure' next to it, and call one 'real' and the other 'nominal'.
4) Oops. Fixed. Altho that entire functionality will be switched over to a 'build EG' wizard, under the other drop down list, in time.
5) Actually, that's just for my convenience. The 'base ethnic groups' are the actual 'ethnic groups' that exist at the civ level. My 'ethnic group' might be better labelled 'local ethnic group', because they exist in a single mapsquare. Usually they begin as an 'instance' of a 'base ethnic group', but their evolution from there forward is dependent on their envrionment.
6) Oops. Fixed. Copied that panel, forgot to change the label.
7) No religion detail GUI yet. The plumbing is there, gotta whip up some quick GUIs.
8) 'Groups' are usually 'Ethnic Groups' (groups of population). But I couldn't find an 'edit group' option -- where was that?
9) Yes, absolutely -- ideologies seems to tie in with social classes, unless I'm wrong, since social classes need 'ideologies'. (Do I have this right?).
That must be next (social classes and ideologies). When those are done, we actually can start playing the 'govt' game, and tweaking the turn results/turn code.
10) I believe you mean 'ideology', again, correct? Yes, the ruler will have one too. Brings up an interesting idea, too -- I've arbitrarily given the ruler an 'ethnicity'. Should his ideology be related to his ethnic group's culture, and evolve from there?
11) That's in the code, forgot to put it on the screen components. When you pop up the 'edit Power structure' button, it allows the choice of a 'majority EG'. The majority EG defaults to the ruler's EG, for now.
Hey, if you can be available next weekend to check this once a day or so, I think we can finish this model soon. It looks like my wife is going to the Dallas Apparel Market for the weekend, leaving me time to get wild at nights (well, coding is about as wild as I get! Sad, eh?).
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
rodrigo:
1) I'm sorry, yes, typo -- those are 'economic policy' and 'social policy'. I'll fix that.
2) The ruler's prefs are currently in there, except his 'ideology/political structure' preference.
3) If I understand Ideologies correctly, their purpose is in determining the political structure.
For now, we'll just let the tester set the political structure at will. That's better anyway, for testing the actual govt turn logic, since we have to be able to test every concievable type of govt.
Sat and Sun afternoon would be perfect. Just remember to be patient with me -- the turn logic is pretty complicated, and I guarantee I won't nail it right the first time! But with ya'lls help correcting my errors, this shouldn't take too long.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Okay:
The progress is significantly more visible now, altho far from finished.
Please still be kind with corrections.
The Turn Button is now live, and processes turn logic.
The turn logic structure is in place, altho not all the equations are in yet. The few that are (taxes, slavery) are just using very simplistic equations, and will certainly have to be tweaked.
But you can get an interesting feel for how this game will be played. And I think it's kinda cool, myself.
Try raising taxes as each of the three different leaders. A 'small' increase is currently hard-coded as under 3%. A bigger increase and the people resist (yes, just a simplistic trigger, for now).
Business(capitol) always resists higher taxes! And no one resists lower taxes (haven't put in the beauracracy yet . . .).
More coming tomorrow night.
[This message has been edited by F_Smith (edited August 19, 2000).]
|
|
|  |
 |
|
axi
|
 |
Athens Greece
Sep 1999 time: 07:13
|
|
F_Smith:
1) quote:

Merchants throw a 'tax resistance' rally, with free beer, to garner support.
 | LOL! 
quote:

Business objects, and makes a few 'donations' to key people, killing the increase.
 | What is the difference between the two expressions? The second one occurs when capital has a lot of pol power?
2) Another question: These things in the civ's colors that look like horses in the prairie, wtf are they?
3) A minor bug: The first time one turn passes, the year does not change from 4000BCE.
4) I think that you have started the wrong way! Tax Rate is the only policy we haven't discussed any behaviors about and it's the first that get's it's own negotiation process. It would be better to rely on what is already in the govt model rather than on improvisation. If I were you, I would begin with the Culturally Negotiated Policies, who are simpler, and then proceed to coding Ideologies and the INP negotiation procedure.
5) Btw, I think that INPs and CNPs should be eventually seperated into two individual groups in the civilisation window, specially after ideologies are implemented.
6) The idea of keeping a log of the "major events" is good (and very funny sometimes ), but this birthday thing is a little bit annoying.
7) Even at this stage, I feel that it's necessary that all the pol. powers amount to 100% Is it that hard to accomplish? (But please, no "You can't do that!" popups; every % that is missing or is superfluous during a change should be automatically subtracted/added from/to elsewhere - like in civ2)
8) When you said (in the other thread) you were going to flesh the econ code into the Beast, what exactly did you mean? Are you by any chance going to code any of the govt-econ stuff?
Come on, how long am I going to listen to poor "Sir Rogin" calling helplessly "for an end to slavery"?
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
axi:
Hope you like it. It actually seems fun to me.
1) One gets written if govt is acting alone (the 'donations' one). The other gets written if the people are also against the increase. This is all just arbitrary right now, but I think it's already kinda cool.
2) Those are just an early attempt at 'TaskForces'. They have no other purpose than cosmetics, at this point. There's one for each civ -- 2 groups of horsemen, and one group (the 'townsfolk') of spearmen (in yellow).
3) Oh, actually the date starts at 4001 bce. I need to fix that.
4) Actually, the reason I chose tax rate first was because it was one of the hardest, and because I was concentrating on building the structure of the turnhandlers, so I could just make up an equation without having to study anything yet. I have now finished that, and can plug in turn logic quickly and easily. So now I will study and implement the other equations tonight.
5) INPs and CNPs -- I'm afraid I don't understand the reference. I'm sorry.
6) Yeah, I can do away with that. Or better yet, I'll allow the player/designer to set what level of messaging comes thru. It was just that, at first (and during many turns), that was (will be) the only messages.
7) They're suppose to add up to 100%. Did I goof somewhere? The GUI will have to be changed to enforce that, as you say, but right now you can set the numbers to any combo you want.
8) I don't know how far all this will go. Perhaps I'll end up adding everything in the game, if ya'll like it enough. For now, since we've got taxrate, population and production sites already stored, I wanted to add in production values, so we can figure tax income.
Finally:
I also wondered if Poor Sir Rogan (and any leader that wants something his country won't pass) should call for a change every turn, give up after a while, etc.
Maybe something in the Character model I can add in that would help determine that?
[This message has been edited by F_Smith (edited August 19, 2000).]
|
|
|  |
 |
|
axi
|
 |
Athens Greece
Sep 1999 time: 07:13
|
|
1) INPs and CNPs are the original expressions that Rodrigo used in our initial discussion and probably they have not survived in the final version.
INPs: PP, EP and SP (policies that are included in ideologies) + the power structure.
CNPs (or DNPs - Directly negotiated policies): Slavery, RelDisc, EthnDisc, CivRights, ForPol.
I suggested that they will have to be seperated for practical reasons.
2) quote:

I also wondered if Poor Sir Rogan (and any leader that wants something his country won't pass) should call for a change every turn, give up after a while, etc.
 | Well, IIRC, Rodrigo intended the negotiations procedure, for the CNPs at least, to be initiated only if there were enough cultural or political changes that would justify a rearrangement. As for the INPs, the same conditions apply, but changes are allowed to happen on a more regular basis, while the player can initiate a negotiation himself. That means he can push a "negotiate" button, that will automatically provide an equilibrium point, which is to be gradually reached in a given small number of turns (like some kind of inertia). When we were discussing this, Rodrigo was talking about the accumulation of "events", which, after some limit, would trigger the negotiation. I was pushing for more frequent negotiations; in fact I envisioned a political system that would never be in equilibrium, but would always change upon changing conditions. I also suggested that then it was too early for such discussions, so we dropped the subject; now would be the right time to bring it back.
3) Before you start adding economy into the Beast, you'd better consult with Mark for the theory and with Laurent, who is supposed to be coding the econ model. Maybe Laurent should come on stage too and start contributing his code directly into the Beast, under the public's eyes.
4) Features that have come... and gone: Where did the "Build new EG" button go? How am I supposed to add EGs to unpopulated squares? Also, where did the object "Social Class" go? If you are going to start creating behaviors, you'll have to base them on classes (I had the socioeconomic classes in mind). A socioeconomic class will also contain lots of economic data (WHs, Labor, Kapital, Profits, Wages, Income, investment, demographics, etc). Mind you, classes of both types will have to be editable in everything (this is the Scenario Editor after all).
5) What are Tendency Values and Group Attributes supposed to be. What are they doing sitting there? I thought that all the cultural elements that you have hardcoded into Religion and Culture should be instances of TVs and GAs. Or maybe I have not understood the Social model all so well.
If I have busted your balls, please excuse me, will you? 
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
1) Ah. I get it. I don't think I've noticed those terms used. Yes, agreed, it might be good to seperate them graphically.
2) Good point, only show events when something actually changes. For now, so we can see all the behind the scenes stuff, I'll keep the extra info in there. But I will allow the user to turn that off.
3) Agreed. I have checked some with them. I was just thinking ahead.
4) 'BuildEG' should still be there, under 'build' objects -- "buld new BaseEthnicGroup". Be aware, that is a 'game' level ethnic group. To add an ethnic group to a mapsquare, click on that mapsquare then use the 'add ethnic group' button on the main page, under 'Selected Square Detail:'.
And yes, Social Classes are all ready to be put in, once there's some sort of consensus on how they'll work. I may have missed it, but I didn't see any clear decision yet. It won't take long to add. And absolutely, everything will be editable.
5) I forget the specifics, but they're for the social model. But I haven't needed them yet.
P.S. -- hey, no problem. This is exactly what I need from all of ya'll. As long as you are understanding and kind when I get something wrong, this is how software gets developed.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Okay:
I'll be browsing the boards for the next hour, reading and digesting the exact requirements for setting the various govt policies.
Any suggestions/comments/helpful hints would be welcome.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Help!!!
I've got a serious question.
Is this correct:
When a player is playing the game, if he wants to raise taxes, his mechanism will be the ruler's tax rate pref?
* * *
If so, then from playing with the beast I'd like to raise a complaint.
If I want to raise a value in a negotiated policy, I have to 'high-ball' the pref choice -- ask for way more than I want to get what I want. It's kinda wierd, and wasn't much fun.
It kinda seemed like a loophole that allows you to manipulate the system.
* * *
If I may offer just one possible idea . . .
I was thinking that all proposed changes from the status quo could begin as 'proposals' that must be passed thru the govt meat grinder for approval by each group with power. For now, only the ruler could offer 'proposals'. Altho perhaps that is easy to expand on, too.
* * *
I'll wait for an answer. I can fix a few other bugs while I wait.
|
|
|  |
 |
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Axi:
I agree, that is unworkable.
I'm coding assuming that has to be fixed. The way it works now, is as I said above. The ruler proposes, then the people with govt influences get their chance to agree or disagree.
The ruler has to get 51%+ of the political support to pass a change.
It seems quite cool and fun. Altho maybe it's just me.
|
|
|  |
All times are GMT. The time now is 05:13. Apolyton Time is 00:13. |
top of page
|
|
|
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|