I can program Java and VB, but by the sounds of things you're at a higher level than me in programming. Still reckon I could be useful just because it helps to have people who know how programs work.
If we choose C# you will definitely be able to contribute with programming since the syntax is almost identical to Java and most of the standard Java libraries have C# versions.
I reckon the main focus should be getting the probabilities of each result a ball could have to be as accurate as possible. The random result of a ball should incorporate the bowler's skill, the batter's skill, the run rate required, the overs remaining, the wickets fallen. Don't ask me how to include it, I'm hardly in a thinking mood at the moment, but to me, the biggest problem with Cricsim is the lack of influence the match situation has on what happens. You'll see maidens when teams are chasing 7 an over. Madness.
Yes, and that is the hardest part of the simulator, in my experience. Luckily I have some experience in developing this in the first iteration of Cricket Career. Even more fortunately, that simulation engine was quite complex because each batsman and bowler had about 10 ratings whereas I think for the purpose of this simulator each player should have a batting, bowling and fielding rating (so just 3 ratings).
The two biggest issues I had with that previous sim engine I wrote was:
(1) Teams would not chase actively enough (when I tried to rectify it there seemed to be a noticeable bias towards the chasing team)
(2) Teams setting targets would not be proactive enough (they would end up with scores of 230/2 or something like that--i.e. not throw their bat towards the end like madmen).
sohummisra added 5 Minutes and 41 Seconds later...
I think that the best way is to keep it simple. Don't go out trying to do lots of different things that won't work well. I say you create 3 player behaviour profiles: 5 day, 50 over, 20 over and leave it at that. It would be nice to have something for Pro40 and the 4 day competitions around the world, but it would be much easier to keep it at 5 days, since that is the test length.
Yup, I am not intending to make too many specific engines. I think it will be best to have 3 engines: Twenty20, OD and FC. The OD engine would be optimized for 50 over cricket but could be used for any game between 20-50 overs per innings. FC would be optimized for 5-day cricket but could be used for any game between 3-5 days in length.
Remember that match situation would be a great thing to include if possible. That way, batsmen are more aggressive when the Required run rate is higher, and in the last 10 overs and during powerplays. In tests too, when a team is chasing a total in a short time, perhaps to go more aggressive. I have no idea if this is all possible or how in depth you could go, but it's one of the most annoying things in cricsim.
I think that's one of the core features that we want to include and probably one of the main reasons we are thinking about this project to start with! It is definitely possible but tinkering with the probabilities to make them accurate enough may take a while.
In addition, a feature to keep all stats and be able to export them would be great. A competition feature could be good if possible, so we can play tests outside the competition, or just the option to not have it work.
I think the stats feature will be one of the highlights because it is something I am really interested in (although not making it as in-depth as StatsGuru

). I am even thinking of a way to export them to vB Code so the simmer can just copy and paste it into the stats thread.
If we design the fixture creation abstractly enough it should be possible to create any sort of competition. I have some experience with this in Cricket Career as well, so that should help. Ideally we should be looking at plugging in XML files that contain the tournament structure.
sohummisra added 3 Minutes and 3 Seconds later...
Seeing as it'll assist the PCPL

Could i volenteer to do some custom rosters?
I can get international rosters.
I'm putting you down as Testing for now as we brainstorm the different teams we may need.