General Discussion

Good luck in all and i think i should be a bit realistic and mainly simple with T20s possible
 
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 :p). 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 :p 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.
 
I don't know about the programming but I can help with rosters etc. Also I would like to be a tester if that's ok.
 
I'd love to be in the testing team as well, Sohum!

I'm not much of a coder/programmer, but I can give you some idea's!

Like you have already mentioned - the batsman/bowlers should have some idea of the rune rate and overs, should go through patches of great form and bad form, and should have special characteristics (Aggressive, defensive, ect)

Better bowlers could bowl special deliveries such as the yorker or googly.

Practice matches could be played to better each players skill.

Perhaps have this on some sort of server or something so that the attributes of the players will be the same on everyone who has the sim. (Or put the sim online?)
 
Regarding the database, no use spending money on SQL Server. MySQL is a better alternative, but I'm unsure of compatibility with the programming languages.

I was thinking of MS Access as well, but, again, I'm unsure of compatibility.
You can use MySQL as an ODBC source and otherwise there are connectors available (for C#, that is). I'm sure you can connect to it as a JDBC source as well. I actually think we should go for SQLite instead of one of the full featured solutions. This would allow the simulators to run the application without having a database server installed on their computer/connecting to a remote database.

We can even try developing a web-based program using php / asp. I have ASP knowledge, so i can easily code in that. (though i feel i'm the only one around who's comfortable with that.)
Web-based would be an option and we could probably reuse a lot of what I have written for PHP. However I think designing a simulator in a type-checked language is much better than one such as PHP or ASP and much easier, too. Libraries and solutions available for C#/Java are much more robust in my opinion.
 
An idea for the 'response to game situations':
A game situation object could be made containing info. about how much aggressiveness is needed, the required run rate, etc. And The same object contains a method for simming every ball. So it won't be very difficult to take the situation into consideration.
 
I'm going to cap the testing team at 10 (it is 8 currently) for now. This until we elect a testing lead who will be in charge of testing the simulator (which I strongly believe will be one of the league simmers/organizers).

sohummisra added 1 Minutes and 57 Seconds later...

Perhaps have this on some sort of server or something so that the attributes of the players will be the same on everyone who has the sim. (Or put the sim online?)
You bring up an interesting point here. If we set up a SQL database on PC that contains all the player/tournament information, we can centralize the access to all that data. Anyone could then use that data to conduct their own simulations, and official simmers can authenticate into the server and create tournaments and play matches that actually track data.
 
It's not much of an idea but in Cricsim the cpu doesn't declare, this would be good in the PCCS because it would be more realistic.
 
An idea for the 'response to game situations':
A game situation object could be made containing info. about how much aggressiveness is needed, the required run rate, etc. And The same object contains a method for simming every ball. So it won't be very difficult to take the situation into consideration.
Hmm... this is something similar to what I am looking at for the next Cricket Career engine. Game strategies. There could be a plethora of these strategies/mentalities such as: Setting a target, chasing a target in ODs and looking to bat once, looking to draw, looking to avoid follow-on, etc. in FC's. However, this is an implementation issue that we should delve into once we have made some decisions based on brainstorming.

sohummisra added 0 Minutes and 58 Seconds later...

It's not much of an idea but in Cricsim the cpu doesn't declare, this would be good in the PCCS because it would be more realistic.
The CPU does declare in Cricsim IIRC. I remember the Soakers being robbed of a few matches because the CPU made a knuckleheaded declaration.
 
Perhaps have this on some sort of server or something so that the attributes of the players will be the same on everyone who has the sim. (Or put the sim online?)

You bring up an interesting point here. If we set up a SQL database on PC that contains all the player/tournament information, we can centralize the access to all that data. Anyone could then use that data to conduct their own simulations, and official simmers can authenticate into the server and create tournaments and play matches that actually track data.

I had this in mind, thats why i suggested a web based application. I suppose we can host it on the PC host (if possible), so there won't be costs involved.
Implementing it would be really easy.
 
Hmm... this is something similar to what I am looking at for the next Cricket Career engine. Game strategies. There could be a plethora of these strategies/mentalities such as: Setting a target, chasing a target in ODs and looking to bat once, looking to draw, looking to avoid follow-on, etc. in FC's. However, this is an implementation issue that we should delve into once we have made some decisions based on brainstorming.

sohummisra added 0 Minutes and 58 Seconds later...


The CPU does declare in Cricsim IIRC. I remember the Soakers being robbed of a few matches because the CPU made a knuckleheaded declaration.

Oh ok...sorry :(. I like the strategies idea. When you are simming and playing with one team, you could have a strategy to choose. In the simplest idea if you need a high score have an aggressive strategy.
 

Users who are viewing this thread

Top