 |
|  |
 |
|
axi
|
 |
Athens Greece
Sep 1999 time: 07:13
|
|
Hey, F_Smith!
Were you changing stuff in the beast, just now? It got stuck on me.
As for the "add new EG" button, err, I think you have to fix it. I only get a horizontal line where it is supposed to be. I click on that line several times and I get two of the "select base EG" popups. Then the beast gets stuck.
No, it's not you after all. It's that bloody MSIE5 that crashes half of the time! Please, by the end of the day, pack up all the classes and a batch file in a zip, because this thing is getting on my nerves.
Btw, nice change in the civ window. And special actions too! The window headers, are the supposed to be titled "Foul Play" all of them? Are all these done by the book (the govt model) or by improvisation?
No it's you after all! I was doing nothing, something changed on the map, and crash!!! 
As for the "Macchiavelian Ruler" problem, I think that we should leave it alone until the riots model gets implemented. I have a hunch that Rodrigo won't like your approach very much. As you can see from my quotations, he seems to insist in the importance of negotiations over policies (and of negotiated results), as opposed to the mere "passing" of these policies through a voting body. Your approach looks pretty much like what I had suggested and pretty much like what happens in a Parliamentary Republic, while Rodrigo's is more alike the negotiations between the companies, the state and the trade unions, for the annual Collective Labor Contracts (I hope you have them in the US too).
[This message has been edited by axi (edited August 20, 2000).]
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
I'm afraid 'negotiated' values is just not fun, and would cause a lot of micromanagement as players adjust their preference up or down by trial and error to get exactly that % pref they want in the govt.
So negotiating contract values was the model's inspiration? That is not an example of political decision-making. We need a political system here.
It also allows manipulation of the system that is not intended.
Man, I need some feedback and direction here.
P.S. -- that's improve, for the special actions. They don't actually do anything yet. The text was just to be a placeholder/example. Altho they sound fun, to me. Especially when you consider possible consequences . . .
|
|
|  |
 |
|
axi
|
 |
Athens Greece
Sep 1999 time: 07:13
|
|
BUGS is my issue this time. New features attrack attention away from old features, so old bugs get overlooked. I accidentally stepped on a couple of bugs of the "Build/Edit Base EG" window:
1) After the addition of a fourth EG, the list acts funny; sometimes it can't get down to the 4th EG, sometimes it reverts to the 1st or 2nd EG, sometimes it just shows only 2 EGs. I remember that I have pointed out before that there is something wrong with that list and so had LGJ. It was then partially (?) fixed, so that the 4th EG was selectable, but nevertheless, the list is still buggy. Oh and one request: make it bigger, as you have done with quite a few others.
2) After building a new (not pre-made) Base EG, I tried to add some of it to a square. Although the Base EG had a Religion and a Culture selected, the local EG had none of the two; it had inherited only the name of the Base EG. Now this doesn't seem to happen with the pre-made Base EGs. Any ideas why?
3) That problem I mentioned with the "Add new EG" button for the mapsquares, when will you eventually fix it. It looks like the button was given a height of 0, so that the button was compressed into a line (which btw works fine). Can't you see it?
4) Another odd bug. After inserting the population of a new EG on a mapsquare, one click at the white background of the Editor (in any place, even up, above the map) would bring up again the population popup, which of course would not go unless one reinserted the population of the EG (you will have to put "cancel" buttons everywhere eventually). One click at another square of the map will fix this problem.
What I think you ought to do is to write-up and preserve a "known bugs list", containing observable and non-observable bugs. I've made the start for you. The benefits of such a list are:
- You will not forget to fix bugs, after they are reported and verified.
- We will not get in the trouble of always reporting the same known bugs.
- If you are unable or unwilling to fix a bug, someone with java knowledge will be able to check-up the source and provide you with the fix.
- The beast will cause us less frustration, once we know what to expect. 
On a totally different issue: quote:

Man, I need some feedback and direction here.
 | I am doing what I can, but if you haven't noticed, you and I are alone here, for the time being at least.
About the political system: I will make another large quotation concerning this subject and hopefully this will make things clearer, especially in what concerns Rodrigo's point of view. Since he is not present, let his own writings speak for him. I only hope that you will be patient enough to read through all this. 
Edit: The quotation was moved to the govt model thread.
[This message has been edited by axi (edited August 21, 2000).]
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Axi:
1) It's still on my list of things to look into, but I'm not really debugging the GUI components at this juncture. This week, I'm focused on the turn logic.
After the functionality is complete, then I'll debug the GUI stuff completely, possibly next weekend.
It is worth it to mention the bugs, tho, because when it's time to do that part of the debugging I will go back thru all these posts and check to see if all these issues are taken care of.
And I do appreciate your feedback here. It is very helpful. I had just hoped for more input from Mark and Rodrigo, at a minimum. I kinda thought I had committments to be available.
Ah, well.
I do think I understand what Rodrigo wanted, but I don't believe it's workable, from a 'fun' standpoint.
The results while playing are not good. His system's focus is on arriving at a final number based upon inputs. We need a system focused on how things change, since that is what happens during gameplay -- you only deal with making changes, never on creating a value from nothing.
The results aren't realistic, also. When you want to lower ethnic discrimination by 5%, say, you have to mentally calculate how much to lower your preferences to 'manipulate' the system. Then, even if all other forces are against the change, the value goes down.
If I don't get some guidance on this by tonight, I think I'll leave one or two of the variables as 'negotiated' policies, and the rest I'll code up as 'approved/denied' policies. So a side-by-side test can be done, they can change each value and see which works best.
|
|
|  |
 |
|
roquijad
|
|
Santiago
Nov 1999 time: 05:13
|
|
I couldn't check the beast on saturday. Sorry. I haven't been there yet. I stopped by this forum thread before checking the beast so I'm gonna refer now only to the dicussions above.
F_Smith: will you code the govt model or whatever you want to code? It seems to me you're doing whatever you feel is fine with only a vague reference to the govt model Axi and I developed.
I can't participate in a process where the model is being built by improvision at every step of the way. I simpy can't. Sorry.
If you want to code the model Axi and I created, then give me a call.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
*Sigh*.
Well that's just swell. My code has been rejected before it had even been tried.
Rodrigo, this is still 90% of what you designed. There was just a problem that a spreadsheet couldn't show. The other half of the design team even spotted this problem early, and pointed it out to you. The problem continued to come up during testing. That problem may require a change in the system.
That's how it works, isn't it? Testing has to be the final answer, doesn't it?
My last proposal was to code it both ways, for a round of tests. Surely you are not against this?
* * *
This certainly seems like 'ownership' problems, I must say.
This is what I meant when I complained about 'not working with programmers'.
I feel I'm being treated as a lackey, to be told what to do. I'm just the worker bee, to your Queen.
What kind of programmer do you think is going to just 'do what he's told', even when he comes across a problem? Do you want anything coded by that kind of programmer?
Most any good programmer would have pointed out this problem, and offered suggested solutions.
* * *
Perhaps I should just drop this, then? Rodrigo clearly would prefer I forget it, he apparently has a different programmer in mind for this stuff. Should I halt development?
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:13
|
|
At first I thought that the object builder was a design utility for people who were familiar with the models, but now it seems to be a demo for playtesting. I am not familiar with the government model, but I would be willing to playtest it. Would it help if I downloaded the thing and experimented with it?
If it would help for me to work on it, how do I download the thing?
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Mark:
I'm sorry if I got a little bent.
Long weekend watching both kids, I guess. Yes, I'll do both ways up tonight. Heck, for an example of the '51%+' approach, just go to the beast and play with the tax rate.
But tomorrow, we'll be able to test both ways.
* * *
Richard:
Note: All the new work is in the '4000bce' scenario.
Yes, please do check it out. The beast is a 'prototype' for the govt, population and some 'ruler' stuff.
It needs heavy testing by all concerned.
Be aware that the User Interface stuff is still very crude, all the work goes into the plumbing of the data model and the turn code. But this is a prototype of what will be the actual guts of the game code's architecture. Any substantive corrections/comments/criticisms are welcome, and will be fixed. Just be kind. Remember that there's thousands of lines of code here, so if a dozen or so are completely off the mark please tell me so with kid gloves! I will fix it anyway you want it to be, altho I may offer alternatives, too . . .
Prototypes are intended to be run thru 'iterations' of correction and debugging cycles, until you eventually end up with a final product.
That's the way software is built, now-a-days.
[This message has been edited by F_Smith (edited August 20, 2000).]
|
|
|  |
 |
|
axi
|
 |
Athens Greece
Sep 1999 time: 07:13
|
|
Uh, oh, I told you so... 
Ok guys, lets just relax a little bit here. I know that F_Smith wants to have a productive evening tonight, so let's try to be helpful tonite and from now on. Everybody should get in the trouble of checking the beast more often, because the more eyes we've got, the faster things will progress.
I agree with F_Smith and Mark that we should try both approaches, to see what's best. Specially since we can't reach an agreement simply by theorising.
I propose that CR, FP and RD (or ED) should be coded through negotiations, while TR, SL and ED (or RD) should be done the other way. As for the INPs, we must do them as a combo, so, after classes, ideologies, support shares, etc are put in, we can try both the negotiations procedure with the equilibrium point and the electoral system I had once proposed (or any other "majority rule" system). Of course we shouldn't write off the negotiations approach, until the riots model is added; only then will Rodrigo's approach have a chance to prove that it's workable. As for my personal opinion, I won't be sure about anything, unless I see that it works or that it doesn't. I have in mind too many arguments for and against both ways; it is not easy to foresee what's best.
All further theoretical discussion on this issue should be held in the govt model (LGJ has posted there already). Unless I'm told not to, tomorrow I will move all the relevant quotations to the govt model thread, because they are really OT here.
F_Smith, if you don't mind, I would like to ask a couple of things from you:
1) Please, whenever you have spare time, read thoroughly the govt model thread and also, whatever in the govtecon thread that might interst you. Whatever questions/comments/objections you have in mind, please ask them. Rodrigo and I have put quite alot of thought on this and it would be a waste if it got overlooked during coding. Rejection hurts, you know it better than me.
2) Also whenever you have spare time, please give us more explainations on what exactly your "improvisations" consist of (in other words, the system's actual design). It would be helpful if we could find faults in your "real" model, exactly as you find them in our "ideal" model.
3) At least fix bug #3! It is outrageous! 
My watch shows 3:45, so I'll call it a night. You'll hear from me tomorrow. 
------------------
"In a time of universal deceit, telling the truth is a revolutionary act."
George Orwell
|
|
|  |
 |
|
roquijad
|
|
Santiago
Nov 1999 time: 05:13
|
|
Well, I'll play the bad guy, I guess. It's not that I believe our model is perfect or anything like that, but the same way you, F_Smith, cannot work as a bee for the queen, I cannot work under this style of yours where just EVERYTHING is changed with little arguments behind. It's impossible for me to work asking "what did you REALLY code?" as Axi did in the last post. What good will I do checking the beast? I'll see a lot of stuff that I won't be able to understand and that I couldn't know how to link with the model we developed. I won't be able to help!
I don't believe in the "we have to test and do less theoretical work" statement. We all are not that stupid. We can foresee what pros and cons a system has. If we start coding without thinking ahead, then we'll end up with a whole system that unlikely will be what we want.
I'm not stopping you from coding whatever you think is best. I can't and I don't want to. It's just that in practice I can't help you with any invetion you come up with. I don't want to spend my time trying to understand your system and then trying to link it with the rest of the model (if possible). I don't know how to work in this "code first, then analyze" style.
I'm not upset. I'm just saying that I can't help you if you start your own "de facto" model. Since you're coding two models now, you can be sure I can help you in anything regarding the model Axi and I created. As for this attempt for an alternative approach, I'll step aside. I'm sure Axi will be very helpful.
Just keep on going, F_Smith, I don't want you to stop.
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:13
|
|
When I tried to modify the 4000 bc scenario, I couldn't do anything other than change the civ's borders. I think the trouble might have been in the connection; everything was going at a good speed at first but then slowed down horribly.
I was able to open the Create Culture window, but the culture did not appear after I altered it. There were a lot of nonfunctional windows, like Edit MapSquare. Generally, I couldn't do much at all. Do you have any idea what might have happened?
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Axi:
1) I have read thru it all several times. I spent about 4 hours yesterday going thru it all again. That's how I come up with the problems I'm finding. It's a big, complex, far-reaching model. I've had to build a gameworld, build a population, religions, cultures, leaders, governments, and on, and on. I'm doing the best I can. But only ya'll know it as well as you do, so only ya'll can answer some of the questions.
2) I'm sorry, thought I had been clear: The only 'improvisation' in there is the voting method for changing a govt value.
Everything else is exactly what ya'll designed, as ya'll designed, or at least as far as I understand what ya'll designed.
The improvisation was the method for changing a govt policy. The ruler (or someone in the govt) 'proposes' a change to a policy, then all parties with political power either vote yea or nay, depending on the equations you and Rodrigo have put together. More yea than nay, it passes. Otherwise the change fails.
3) That's almost certainly because I'm basing window size on screen size, and I have a 19 inch monitor. My bad. It'll be easy to fix, but right now I'm working on the 'turn logic' code. I'll try and take some time to re-arrange that panel. I'm just really putting cosmetics on the back burner, for now. Later, all the GUIs will have to be reworked in detail.
* * *
Rodrigo:
No, no bad guys here.
Just a clash of cultures.
I'm afraid everything has to be open to change, if we are to end up with a great piece of software. Testing will be the only way to answer most questions. Some core assumptions will have turned out to be wrong. It always happens.
It's not that we're stupid -- it's just that programs are so complicated that there is *no one*, *no where* that can fully forsee how all the details will work out.
Testing is the only way to do this right. It's a basic rule of programming. We ain't so smart we can write all this code in our heads and have it come out right the first time.
Ever written a 5,000 line story, article, thesis, whatever? How much writing, re-writing, re-thinking, starting over, etc do you have to do?
This is like that, only times 100. I'm manipulating words to tell a computer *exactly what to do in order to simulate this gameworld*. I am not the 'Mozart' of coding that I can just write it from beginning to end in my head. There are a dozen ways to do most any of the hundreds and hundreds of tasks we must do in code. I won't know which is the best way to do each until I try them. Each will have a different result in the final product.
And you can help with this process. You *must* help, if the finished product is to be what you want. Ever seen software that programmers write when they don't prototype? It has nothing to do with what the client really wanted.
Your part shouldn't take 10 minutes a day. Look at what is there and comment on how close it is to what you wanted. Because that is the deal -- this is not 'my' system. This is my attempt to give you the system you wanted. There are going to be problems with your design, and I have to be free to suggest solutions. You have to work *with* me, not tell me what to do then send me away. We're members of a team. We work together. I need your feedback. It moves the process along 10 times faster.
That's the key. You're writing the requirements here, so you must work with the programmers to make sure they are clear on all the thousands of little points.
There are problems with *every* design, in the software world.
Only prototyping can give a finished, working product that is bug-free in a reasonable amount of time.
* * *
Richard:
Good point -- I haven't written any test cases.
That is a big part of all these problems, isn't it? I see. Richard, you have actually been extremely helpful.
I'll explain my stupidity in that only by saying that the datamodel is completely debugged. All the data stores, loads and changes flawlessly. The 'turnhandler' code is about 80% bug free. It's approaching being finished, as soon as I put in live numbers tonight.
The Gui, however, is full of bugs.
I'll write a test case pronto, next post, to help guide thru that minefield I've called a Gui.
Do remember, that Gui is just a tool for use to view the data. It's not going to bear any resemblance to the final Game front end.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
The 'edit power' button should work.
I'm debugging the last of the 'negotiated' policies' formulae now, so it will work exactly as Rodrigo requires. I'll upload it in an hour or two.
Then I'll put in a switch to allow the choice of either system, from a pulldown menu I'll call 'Game Options', so we can play the other 'govt' game, too.
|
|
|  |
 |
|
roquijad
|
|
Santiago
Nov 1999 time: 05:13
|
|
[this message was posted simultaneously with F_Smith's last post]
F_Smith:
By now I'm doubting my skills to communicate in english... I feel I've been saying the same things over and over again. Here I go again...
It's not a matter of model ownership. I don't feel you're turning your back to "our" model or that you're creating "your own" model. Even if the latter is true, I don't mind seeing other attempts to create a govt model.
It's not that I consider you my working bee expecting no inniciative or ideas from you. The more ideas you have, whether for coding or for design, the better this project will be. I honestly think so. However, simply implementing your ideas without analysis is an approach I don't like.
It's not either that I feel "our" model can't be changed. I'm sure there're things we can change for the better.
It's not either that I don't like testing. I feel it's very very valuable. It's IMO a good way to find out what things must be changed.
I have experience coding (I used to code in basic and pascal some years ago), so I know what you're going through and I know how these things go.
So, What's what really bothers me? It seems to me that you give EXTREMELY little value to equations. I feel your concept of a model and mine are very different. My perception is you see a model mainly as a set of elements/objects with attributes, where methods (equations) are just a couple of multiplications and sums of attribute values. For me the equations are Everything. For me a model is nothing but defining a correct set of equations. Equations define how all info must be treated and processed in order to achieve an interesting outcome. It's them that determine if you'll have a fun or boring game. They're IMO the only real value a model has and I feel you don't value equations like this. Maybe it's like a "coder's desease" where mind focuses on objects and forgets about procedures or treats these as if they were simple objects. The discussion in the govt model thread about scalability of classes is maybe a symptom of this disease. Assuming we can have lots of classes just because code allows lots of objects shows how little importance equations have in your mind.
There's a lot (and I mean a LOT) of thinking behind procedures (equations) in the govt model. I and Axi spent lots of hours thinking these equations you find in the govt model. So, when you go and say "I'm not going to code 'your' procedure, but this other one I came up with last night", then it's impossible to not be offended! Unless you're a genius (myabe you are, I don't know), it's very hard to believe you invented procedures during a weekend that are better than those that took us, Axi and me, several weeks to develop. If you (or anybody) are going to challenge several days of work and a lot of effort, then AT LEAST I want arguments showing me why the procedures we developed are wrong. Otherwise you're just insulting my inteligence.
I know you never intended to be insulting or offensive, but you've to realize your coding style (which says "let's change whatever 'feels' wrong without thinking too much what we're doing") overlooks my effort and I can't help feeling offended. This feeling must not be confused with an opposition to change the model. I'm willing to change Anything in it. I don't "own" the model. It belongs to us all. But I can't see how the model is arbitrarily changed without any arguments with new systems based, again, in no arguments showing why they're better.
You can still say "the code is 90% what you planned", as you usually do, but I don't share this opinion. Changing the "negotiation procedure" is a major change in the model. And I wonder why it was changed without any testing! You say "let's test and see", but before any tests you're already doing other stuff! Then you say "let's code both systems". Yes, of course we can at the same time test several different implementations to see what's better, but are we going to code whatever alternative method that comes to mind? Sure not... it'd be a waste of time. We should only test systems having a relative good chance of success. This means we should at least have a general idea of what we'll do. But in this "doing-by-improvisation" style, we are like sailing to wherever the wind wants to take us to. There's no way to know if what you're doing is a total failure or a fantastic idea. What scares me the most, however, is the beast-based analysis improvistion will lead us to. The capability to analyze an implementation and all what it can provide and all what it does wrong will be strongly reduced if we can only base our opinions on beast's windows and their cool messages instead of looking at equations. We'll see things like "people have started a revolution!" and we'll say "oh, that's cool", and then conclude it's fun, but will we know if the message has sense? will we know if that will happen at the right moments? I'm affraid we'll be approving many things in the beast because they proved to work nicely in a couple of scenarios in it, but without realizing the same system can be a total failure in other circumstances. I need to know what's happening behind stage. I don't want to work just looking at the cover.
But you go. Continue with improvistion in whatever aspect you think is useful. I don't want to be the guy who destroys the innovation. All I ask is for you to give us all the equations (procedures) you're using instead of the ones provided in the govt model. In this way I'll be able to critizice your implementation in a way you never did with mine! 
So, to sum up, I'm against any arbitrary change to the model having no arguments and without explaining what is better in an alternative implementation. I won't participate in that game. Don't insult me changing things without discussing them only to have what YOU think is better with no arguments at all, and then asking me for feedback... Maybe I'm too uptight, but, well, sorry. God bless argumented analysis!
You can do it, tho. You (and all the rest who feel tempted to create a govt model without saying why it's better than the model Axi and I developed) can go ahead, just without my help. I'm sure this is understandable. On the other side, I'm all ears to those who are willing to critizice the "current" (?) govt model. I'm all ears too for those who believe other entirely new govt model must be developed based on what's wrong with the "current" one.
A final thought: I know you all (with the exception of Axi and maybe Mark) don't really know the govt model. I know you don't know what procedures can and cannot do in terms of gameplay. I know it's boring to read the very long govt model document and even those who do it, I know it takes some time to really understand it. The same thing happens to me when I look at other models. I'm willing to write an "explanation post" dicussing pros and cons of the model for those who are really interested in the model and want to do some serious criticism.
P.S.: I'll check the beast when in a better mood. Just please don't stop doing your stuff because of me, F_Smith. I'm just one in this team and Clash is greater than me. I don't want to see you saying (again) that you're planning to leave the project. I wouldn't like to be blamed for that. It's better having a coder than an uptight, equations-lover model developer like me! 
[This message has been edited by roquijad (edited August 21, 2000).]
|
|
|  |
 |
|
Richard Bruns
|
|
NC, USA
Nov 1999 time: 06:13
|
|
I think I can understand both roquijad and F_Smith. Rodrigo's comments in the post above are very close to what I would have said about the tech model a month ago. (And I think I did say something similar a while back.) There is a lot of thought and planning that goes into the model equations, and it does frustrate the model lead when all of that work is tossed aside by the coder for inexplicable reasons.
But as I learn about Java and Object Oriented structures, I see that most of what F_Smith says is correct. In Java, objects are everything and everything is an object. The equations are of secondary importance and are coded last. It is the object hierarchy and definitions are the most important things and are coded first. Java is built around this design approach that is non-intutive for most people.
So the model lead is upset that the coder is ignoring the core of the model and the coder is annoyed that the model leads are obsessed with things that are of secondary importance in the code.
There are two alternatives for resolving this clash of thought patterns:
1) Abandon Java and switch to a procedural programming language like the one I, and presumably Rodrigo, are accustomed to.
2) Create models using an Object Oriented design system.
I think we would all agree that option 1 is not a good plan. So, the model leaders will have to design systems that work with Java's OO structure.
This would require time and effort to accomplish. Model leads would have to learn a new system of doing things, and the coders would have to teach them and do more work with the models. But I think that in the end everyone would benefit. The coder could easily create the code based on the model, and the model leader would know that the model will be implemented exactly as designed. And something needs to be changed, the model leader rather than the programmer should be able to change it.
|
|
|  |
 |
|
Mark_Everson
|
 |
Canton, MI
Jan 1970 time: 00:13
|
|
Just a few comments to get myself in trouble before I go to work .
For purposes of full disclosure, I think I come down more on the equation modeling than the object modeling side of things for game design. Although I think I can see each side of the issue at least somewhat. For actually building the code, and making sure its flexible, obviously an object approach is better. Neither approach guarantees the result will be fun. For that we need playtesting.
For things that take a long time to code I think its clearly better to have significant discussions before the coding. Otherwise huge amounts of coding time (currently our most scarce resource) can be lost.
However, for an optional way of handling things that is easy to code, it is IMO more productive to just try it. So long as a switch is put in to allow the option to be used or not at tester discretion.
There are many things in the gray area between the 'mostly talk/model' and 'mostly code' extremes, and judgement needs to be used. But bear in mind that one of the criticisms I have heard numerous times from different people about the Clash project is that we spend too much time talking. I am not sure the criticism is legitimate, but every potential member we scare off because they think we never Do anything is one more resource lost to the project. So coding up alternate ideas is one way of Doing rather than talking.
It looks to me as though, at least now, F_Smith is programming the complete proposed govt model, and then putting in switches for his ideas. I think this is a great model for how to investigate a lot of the 'design space' effectively.
I agree with Richard that we should move towards more thinking about objects in the models. But I personally think most of our models are inhererntly at some level already object-based since they try to mimic actions and reactions of groups of people or whatever in the real world.
So personally I think it is not too difficult to assign objects for coding purposes to any of the models. YMMV 
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Rodrigo:
I understand your frustration. When I started learning Java, I was slinging Cobol for a living. It was a major adjustment.
But OO modeling is the next step up from 'procedural' or 'equations-based' modelling. OO modeling is *far* more powerful.
No one will never be able to build a game like this procedurally. Procedures/equations by themselves are just too limited.
* * *
Richard:
Whoah. That's the best summation I've seen on the topic, I think.
Good post, man.
* * *
Mark:
The only problem with modelling in equations then converting to OO for coding is all the power and flexibility the OO could have given us that we'd chose not to use.
And if the model will have to be converted to an OO model anyway, for coding, the programmer ends up redoing the model anyway . . .
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Rodrigo:
One example might explain better than I can otherwise.
It's a system everyone is pretty familiar with.
In modeling a 'military' system -- which is more important, the equations or the objects?
If you were to create a combat system, first you'd define 'men', 'weapons', 'armor', etc. Not just as variables, but as 'objects'. The actual combat equations themselves would be the last thing you'd need to worry about.
Interesting way of looking at it in that thought, too -- an OO design is very much like a very complex equation in which the variables can themselves hold (encapsulate) other variables and equations.
[This message has been edited by F_Smith (edited August 22, 2000).]
|
|
|  |
 |
|
roquijad
|
|
Santiago
Nov 1999 time: 05:13
|
|
Some comments on what I saw in the beast:
1) PrivateProperty is missing in ideologies.
2) Can you round to the closest integer the negotiated values for slavery, ethnic discrimination and religious discr.?
3) About the options for govt system:
default: is this the system in the govt model?
politics: yours?
everything else looks alright.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Rodrigo:
1) Oops. Private Property is now there.
2) Sure. They're all being rounded down right now (just casting them to an int). Is that sufficient our would you like me to change it?
3) Yes. 'Default' is your system, the one that the game plays unless you go select another option. The 'negotiated' policies. You can run a turn (or a hundred) changing a few of the 'directly negotiated policies' like slavery to see it in action. Also, 'tax rate' is at the will of the ruler, as you requested.
"Politics" is the other system. It's only about 20% coded right now, just taxes, slavery, one other.
P.S. -- The next test case will be to add a new ideology to a civ and watch it gain popularity and spread! Another day, or two . . .
|
|
|  |
 |
|
roquijad
|
|
Santiago
Nov 1999 time: 05:13
|
|
F_Smith:
A very simple thing to implement: Each available ideology should have a 0-100% variable named "Knowledge Level".
When each class processes how attractive an ideology is, KL should multiply the final attractiveness value, so even if the ideology exists, if it's not well known and understood by population, its attractiveness decreases.
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
I believe Rodrigo means '100% known'.
As in the ideology is well known to all.
It should have been there. It's in the new one I'll upload in a day or so.
The code right now starts all ideologies out at '10%' known, and increases them 5% a year to a max 100. It isn't a 'slider', tho, just a label showing the value. I didn't think it should be a 'set-able' value. Should it be?
I have also built the code in which people 'select' from among the Ideologies. It's very rough, but another day or two of debugging and you'll be able to watch an ideology sweep thru a civ and change a govt.
I'll be finishing up this next version this weekend, without a doubt. In order to 'pay me back' for watching the kids while she went out of town, my wife is taking the kids to her parents for the weekend -- I'm going to be loose! I plan to watch a bunch of (American) Football Sunday -- it's opening day of the season -- and pray the Cowboys can cash in on all that speed. But at night, I'll likely be doing what I like to do best, slinging code. So the beast should take another good step forward.
[This message has been edited by F_Smith (edited August 31, 2000).]
|
|
|  |
 |
|
F_Smith
|
|
Austin, Tx 78728
May 1999 time: 05:13
|
|
Mark:
Sorry, yes, next test case is imminent.
I ended up wasting all of Sunday on football.
Darn Cowboys . . .
By Wed I should have the next test case up.
The code is still only 95% debugged, too. The turn logic is still a bit buggy.
|
|
|  |
 |
|
roquijad
|
|
Santiago
Nov 1999 time: 05:13
|
|
F_Smith's interpretation of "Knowledge Level" is correct. It doesn't make sense making higher than 100%, except for some tricky things.
KL is, as you assume, not "set-able" for the player during play. It should rise slowly automatically depending on several factors. I don't have yet any procedure for that, so I think your simplified "add 5% each turn" will work perfectly for now.
It'd be helpful if you tell us what to test in the beast, F_Smith. I assume you're still dealing with the turn-logic for ideologies, so let us know when there's something to test there.
|
|
|  |
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
|
|
|
|
|
|