I am near releasing my first engine version. During progamming, there appear more questions:
1) Supose I have two variants that arrives to the same posicion and same evaluation, where there is a move in bethween of difference.
V1: W1, B1, W2, B2
v2: W1, B3, W2, B2
(B1, B3 and B2 move the same piece)
These two lead to the same evaluation, so my engine pick one..... but what about if white not play W2 move??, then one of the variante could be better than the other, because the move in betheen lead to a better evaluation. Is there any way to know what's the better path, even if the two lead two same evaluation? I susspect engines pick one in accordance with move ordering and not what is better.
2) I suspect the 1) issue can be a problem too for hash tables. How two identical possitions can store the different eval resulting of the path choosen?
2) Are there books to buy about computer chess programming? It would be a good idea to make one by top people here
3) It is safe to make two or more null moves in the same path? (of course, avoiding two in a row) Must I do it only at a certain depth (i.e. >=3)
4) How many extensions it is safe to allow in the path? I am ussing two for depth <= 8 and if make more the search tends to exploit. Is there any good way to implement this?
5) Supposing ordering in root is OK. What about if after 7 or 8 iterate depth we search the last 1/3 of moves with a depth -1 with respect at the first ones in the move order? it looks to me a good way of save time. (this is a reduction, and feel it could be done in any node in the tree if the conditions match)
6) I am not sure about draw rules for insufficient material. I have read that some national federations consider K+minot piece vs King a theorical draw, and others don't, so you must play until 50 move rule or draw agreement. I have doubts here. Any site that explains exactly when the engine can stop and make a result command or when must play until end? The problem I see is if the engine has the autorithy to make result command
7) for global vars I have read in a forum that it is better to group them in a struct, so compiler can caching them better, but I doubt about this affirmation. any opinion?
8) does anybody know how can I tell MinGw not to show some warnings I dont want to be showed?
9) After so many years of advances in computer chess.... is there room for improvements? (i.e?) It looks like all is yet invented....
10) This point is not a question, but a issue I'm having. I use TSCP for test my engine, and I have null move and more chess knowledge, but TSCP continue scoring as if I had the same characteristics than TSCP. It looks to me that making new chess knowledge is a very difficult task, above all to make compatible with existing one...... and more difficult if that knowledge are refinement and not basic knowledge.
11) to compare chess knowledge bethween engines, is fixed depth level tournaments a good way of comparation?
12) do you use case tools or any other ways of analysis/design your program? or do you directly write code?
13) apart from compiler and editor/ide, what other tool do you find useful? I have read about lint..... do you use any other?
14) are there profile tools for programs made for windows OS ?
thx in advance..... sure I will bother more with my questions in the future.....

