by Gamanern » Sat Feb 07, 2009 4:06 pm
Well, starting with the real basics, you will have a few things that you want to work out, and some of those will affect how easy or hard it is to progress with the project. I remember after 3 months I had to rebuild the entire project so it had the flexibility to add in all the other features I wanted.
For an initial version, I would suggest at least the following:
* Define how you will store the data, in a super table with links, in a single table per opponent, or as a list of player tables within an opponent. This will affect how easily and fast you pull the information out later, more controls allows you to grab information faster, less controls makes the data structure easier to get a start on. Decide what numbers you want to generate, and from there what structures you need to achieve that. Can you build the stats as you load the data, or do you load the full data for a fight and then go back to analyse it.
* Work out which types of lines you will read in, and how to split the information out of those lines, so your melee, other's melee, non-melee (yours and others I think are the same), and damage over time (the mac version may not show other's DoTs) as well as whatever else you want about spells, crits, kill messages.
* Work out how to read in the file, and weather you do it as a single read, or if you create a process that allows you to pick up extra information as it becomes available. Making a parser is the hard part, making it live isn't too much extra work, and becomes easier when you plan your work with the assumption you will try to read in live mode later, or do as I did, rewrite your project 3 months later.
* Work out how to determine when a fight starts and ends, including when fights overlap (both 'a snake' and 'a bear' in camp at the same time, keeping their damage separate). Be careful how you handle fights that you don't see a 'slain' message, like when the opponent is out of range when it dies, you don't see the message.
* Work out how you are going to display your information. Will it contain many tabs for each type of information, or will it be a series of cells and any kind of information could be output to it.
That should give you a good place to start, and depending on how familiar you are with your development environment, and your previous programming knowledge, you could get something up and running in a week or two.