Author | Post | |||
moose |
What are the responsibilities for a project leader? I'd hold the contact with the admins (with Erik, I think), I'd try to coordinate the programmers/ testers and I'd try to find persons who programm/ test if the "chess part" is working (if every rule is in the game, like Castling) and to find people who try to exploit the script (to erase the exploits). If these are the responsibilities, I'd try to be the project leader. I think we should wait, lets say about 3 days (until 21.10.2007) or sth. like that and if nobody else wants to do this job, I'll do it. |
|||
Edited by moose on 18.10.2007 04:22:45 | ||||
18.10.2007 04:19:17 |
|
|||
sniperkid |
I can always switch on my linux box for a bit of testing too, was having a few internet probs which is it was off, should be sorted now though . |
|||
Edited by sniperkid on 18.10.2007 16:20:27 | ||||
18.10.2007 16:20:17 |
|
|||
moose |
okay, now I'm the project leader first of all a list with chess-words for all who are not native english speakers: check - one player's king is threatened with capture and there is a way to meet that threat checkmate - one player's king is threatened with capture and there is no way to meet that threat castling - a special move involving the king and either of the original rooks of the same color. Castling consists of moving the king two squares towards a rook, then moving the rook onto the square over which the king crossed. En passant - another special move chess piece - king, queen, rooks, bishops, knights, pawns so here is a short outline what we have to do:
and, I think its important to say this: its like when you contribute a challenge to tbs: Quote: Don't forget that if you submit a challenge it is going to be ours. That means you can't just tell us someday that you want us to delete it from our site because you feel like it. This also gives us the chance to modify challenges. Nevertheless you are credited for all your submissions. If you do not feel comfortable with these lines contact theblacksheep to discuss details. but I will make sure that everyone who workes in this project will be mentioned on a "About-page" |
|||
Edited by moose on 29.10.2007 08:30:22 | ||||
22.10.2007 14:04:27 |
|
|||
moose |
I've just uploaded a little project site with the general structure the page should have (its just an idea and made in about 5 minutes! so any notes about the good structure changes are welcome, but I think we should talk about the design after we have finished the programming part) If someone would like to participate in this project, please send me a pm. I'll give you the work (or you can also tell me what you would like to do, I'll upload it on my site to avoit that two persons do the same thing) |
|||
22.10.2007 14:40:33 |
|
|||
Phas(retired) |
@moose: Some quick comments... About the tables: - In the 'progress' table you need at least a movement_number, to be able to replay the game. If you don't want to replay a game you need another table to 'save' the current game. - In the table 'games' a <<status>> field would be helpful (white_plays, black_plays, white_won, ...). Why "`winner` VARCHAR( 255 )"? About the code: You started coding (I know, It's only a dirty example that doesn't allow a pawn to move from E2 to E4 ) but for a project that involves more than 1 programmer I'd start by defining what version control system to use (http://en.wikipedia.org/wiki/Version_control_system) and some other things that need to be cleared before anyone write a single line of code like naming convention (http://en.wikipedia.org/wiki/Identifier_naming_convention), programming style (http://en.wikipedia.org/wiki/Programming_style) or even the kind of license. |
|||
22.10.2007 15:56:46 |
|
|||
moose |
Quote from Phas(retired): @moose: Some quick comments... About the tables: - In the 'progress' table you need at least a movement_number, to be able to replay the game. If you don't want to replay a game you need another table to 'save' the current game. I don't think so. The id is auto increment and we have a game id. So if you print "SELECT `from`, `to` FROM progress WHERE game_id=13 ORDER BY id ASC" you get all moves in the right order (but the ordering by id isn't nessesary) Quote: - In the table 'games' a <<status>> field would be helpful (white_plays, black_plays, white_won, ...). Why "`winner` VARCHAR( 255 )"? I thought of the 'winner'-field as a status field. Quote: About the code: You started coding (I know, It's only a dirty example that doesn't allow a pawn to move from E2 to E4 ) but for a project that involves more than 1 programmer I'd start by defining what version control system to use (http://en.wikipedia.org/wiki/Version_control_system) and some other things that need to be cleared before anyone write a single line of code like naming convention (http://en.wikipedia.org/wiki/Identifier_naming_convention), programming style (http://en.wikipedia.org/wiki/Programming_style) or even the kind of license. I'm sorry, I never made such a project with that many people. I made one project (which seems to be down atm ...) with another programmer. We communicated via skype and so it was no problem with a the version. As this programmer has made a lot of work before, I just used his programming style. so here are my thoughts about the programming style (or parts of the wiki entry ): Indenting Whenever I get into another level, I indent with 4 spaces (8 spaces are equal to one tab), e.g.: if ($hours < 24) { return true; if($minutes < 30){ echo "I hope you know what I mean"; } } else { return false; } Vertical alignment If two variables are assigned in two follwing lines, please align the equalations symbols vertically: $search = array('a', 'b', 'c', 'd', 'e'); $replacement = array('foo', 'bar', 'baz', 'quux'); Spacing int i; for (i = 0; i < 10; ++i) { printf("%d", i*i + i); } instead of int i; for(i=0;i<10;++i){ printf("%d",i*i+i); } naming I think this isn't important for php, is it? The names should be logical and in english, but with the automatic type conversation its not that important edit: I just found a TBS-easter egg you can use the code-tag |
|||
Edited by moose on 22.10.2007 17:36:04 | ||||
22.10.2007 17:18:22 |
|
|||
Phas(retired) |
Quote from moose: I don't think so. ... Well, that doesn't matter. I mean, it isn't important if I'm right or you are (or none or both of us), the important thing is that you didn't start the project by defining things and you started implementing them instead. |
|||
22.10.2007 17:47:22 |
|
|||
unknown user |
you might want to start a project at https://launchpad.net/ or sourcefourge.net this way you have easy access to source control, bugtracking, .. also I would reconsider your "license statement", I suggest choosing an opensource licence or a licence that is even more free. A gpl, a bsd, a MIT license whatever. It allows you to ignore a lot of the problems. seeing as disgruntled people can then always just take the code and work on it on their own terms. |
|||
22.10.2007 17:55:17 |
|
|||
moose |
I've just registered the tbs chess project: https://launchpad.net/tbschess/ the license problem: I would like a licese which forbids the use of the code without writing the origin (means the http://www.bright-shadows.net or ever person who has made a part of it), but allow almost every non-commercial use if you say the origin The GNU GPL allows the commercial use. That means, someone could take our work and sell it. But the rest of the license sounds good and GIMP, GCC and MySQL are under the GNU GPL .... I think it sounds good. Do we have someone here who is interested in laws / licenses? |
|||
22.10.2007 19:38:22 |
|
|||
Towley |
Dont take this project too big, but i surely agree with phas that you 1st need to plan it. Maybe learning by doing would work out fine for a simple php p2p chess, so you(project leader) should start to code it and provide easy access to source and a playable version. also update this stuff on a regular basis. Then the project can easily grow and you will see who is interested. Here are some thoughts for this project: - What is the input and the expected results (optimize sql tables and test with much data) this includes but is not limited to: getCurrentGameState(gameid); getReplay(gameid); getRankings(page); ...and so on... - Always expect weird input from users. - Non Registree players... how about guests and bots(ai) just my 20cents PS: i dont have much idea of license, but i guess when you want to use gpl you can think about that later |
|||
22.10.2007 21:30:57 |
|