Greetings. The Imperium wants YOU !
If you're a Java programmer or other techno-geek, that is.
Mark has tasked me with getting the programming effort started. In order to do that, I'm going to start with the following:
- Team Assets survey. This is a fancy term for a list of people who are going to help with the programming. If you are a Java programmer, and are intersted in doing something for this project, please post below. Also please give some indication of your Java experience and how much time you can spend on this. If you're shy, you can email me directly. ALL levels of folk are going to be needed, with various skills -- testers, programmers, grafix folk, program integrator, etc. But for now, I'm only talking about Java programming.
- We'll also need project-leader type geeks who are not necessarily Java-gods. [OKOK.. Java programmers and project-leader types.]
- Wanted: someone to design a bug/problem collection active web page that will fill the bug database. If you think you're the one for this, please do NOT get started. There may be several people who want to, and I'd hate to see anybody waste valuable time. [*AND* an active web page programmer]
- IMPORTANT Clash of Civilizations will live or die based on the quality of our AI. If you have some special expertise on this aspect, please step forward. [Did I mention AI experts, too?]
- Before programming will start in earnest, there will be an overall system design flowchart [or equivalent]. Once this is detailed to the module level, we will have something to work toward. I'm starting on that now, based on what Mark has already programmed for Clash v0.05. I havent looked at it at all yet [as of 6/3], but I expect we'll wind up with something more complex.
Ideally, I'd hope that the Dukes could each do a partial design to this level - with or without "formal flowchart" doesnt matter. If you're a Clash Duke of [_whatever_] and you have no idea what I'm talking about, or feel unsure how to go about it, let me know, please. I know we have techno-folk on this project who are NOT Java programmers who will be available to help [meaning: "we will draft them" ].
- We'll follow some programming protocols. I certainly am not trying to insult or offend anyone by mentioning them up front. Nobody is going to try and be the Tsar of Code on this, and no one will come to your house and tell the neighbors what an evil person you are. But this project will be at least 'semi-open' code, and it will have to be debugged and maintained by a whole range of people. We have to start and finish the Clash project with the idea that on-going maintainability is the key programming issue. So, just scan thru the following ideas and be honest if you cant deal with these modest restrictions.
---- Comments are required. Not on every line [there *have* been project with that requirement, but none of them was a game *S*], but the main logic of every module has to be clear from the comments. I anticipate using Javadoc [or something better if my info is out of date] to compare the final code with the original design.
---- Dont write dense code. And if you have some unbelievably "neat" but undecipherable Java-trick.... dont use it.
---- Format your code.
---- Do not create new public or global level variables or constants in your module. Somewhere, we'll have a global module that will do them all.
---- We'll use the programmer-hated, but maintainer- and debugger-loved, long and meaningful variable names. PLEASE!
---- No spaghetti code. If your logic is getting that complex, we need another module or two, or you need to reorganize the logic.
---- You have to be willing to ask for help when/if you get stuck.
---- No easter eggs !!!
Again, I apologize if this looks like a list of "well.. EVERYbody does that"... The fact of the matter is that most programmers I've met over the years... (me included!) .. do NOT. Because of the nature of this programming team... volunteers, dispersed around the world, various skill levels etc... doing these things will be crucial.
---------------------------
My background:
I've been a consultant / programmer / analyst / project manager for about 20 yrs now. [Yes, that puts me in the "Old as Dirt" category, but that's another story entirely. ] I'm fluent in several languages, but I wouldnt call myself a Java programmer. I know enough to get along in Java, but nothing deep.
I've never worked on a Unix design or on a Mac, so anyone with info on pecularities of those platforms should speak up!
------------
..Druid..
If you're a Java programmer or other techno-geek, that is.
Mark has tasked me with getting the programming effort started. In order to do that, I'm going to start with the following:
- Team Assets survey. This is a fancy term for a list of people who are going to help with the programming. If you are a Java programmer, and are intersted in doing something for this project, please post below. Also please give some indication of your Java experience and how much time you can spend on this. If you're shy, you can email me directly. ALL levels of folk are going to be needed, with various skills -- testers, programmers, grafix folk, program integrator, etc. But for now, I'm only talking about Java programming.
- We'll also need project-leader type geeks who are not necessarily Java-gods. [OKOK.. Java programmers and project-leader types.]
- Wanted: someone to design a bug/problem collection active web page that will fill the bug database. If you think you're the one for this, please do NOT get started. There may be several people who want to, and I'd hate to see anybody waste valuable time. [*AND* an active web page programmer]
- IMPORTANT Clash of Civilizations will live or die based on the quality of our AI. If you have some special expertise on this aspect, please step forward. [Did I mention AI experts, too?]
- Before programming will start in earnest, there will be an overall system design flowchart [or equivalent]. Once this is detailed to the module level, we will have something to work toward. I'm starting on that now, based on what Mark has already programmed for Clash v0.05. I havent looked at it at all yet [as of 6/3], but I expect we'll wind up with something more complex.
Ideally, I'd hope that the Dukes could each do a partial design to this level - with or without "formal flowchart" doesnt matter. If you're a Clash Duke of [_whatever_] and you have no idea what I'm talking about, or feel unsure how to go about it, let me know, please. I know we have techno-folk on this project who are NOT Java programmers who will be available to help [meaning: "we will draft them" ].
- We'll follow some programming protocols. I certainly am not trying to insult or offend anyone by mentioning them up front. Nobody is going to try and be the Tsar of Code on this, and no one will come to your house and tell the neighbors what an evil person you are. But this project will be at least 'semi-open' code, and it will have to be debugged and maintained by a whole range of people. We have to start and finish the Clash project with the idea that on-going maintainability is the key programming issue. So, just scan thru the following ideas and be honest if you cant deal with these modest restrictions.
---- Comments are required. Not on every line [there *have* been project with that requirement, but none of them was a game *S*], but the main logic of every module has to be clear from the comments. I anticipate using Javadoc [or something better if my info is out of date] to compare the final code with the original design.
---- Dont write dense code. And if you have some unbelievably "neat" but undecipherable Java-trick.... dont use it.
---- Format your code.
---- Do not create new public or global level variables or constants in your module. Somewhere, we'll have a global module that will do them all.
---- We'll use the programmer-hated, but maintainer- and debugger-loved, long and meaningful variable names. PLEASE!
---- No spaghetti code. If your logic is getting that complex, we need another module or two, or you need to reorganize the logic.
---- You have to be willing to ask for help when/if you get stuck.
---- No easter eggs !!!
Again, I apologize if this looks like a list of "well.. EVERYbody does that"... The fact of the matter is that most programmers I've met over the years... (me included!) .. do NOT. Because of the nature of this programming team... volunteers, dispersed around the world, various skill levels etc... doing these things will be crucial.
---------------------------
My background:
I've been a consultant / programmer / analyst / project manager for about 20 yrs now. [Yes, that puts me in the "Old as Dirt" category, but that's another story entirely. ] I'm fluent in several languages, but I wouldnt call myself a Java programmer. I know enough to get along in Java, but nothing deep.
I've never worked on a Unix design or on a Mac, so anyone with info on pecularities of those platforms should speak up!
------------
..Druid..
Comment