Constructive Criticism is the most useful. If I tear apart your work it's not because I don't like it, it's because I do. If a user's Comment or Post is useful to you, Make sure to give them "Thanks!".

While I think it would make a cool web app, but the problem is I dont know any php nor do I really feel like teaching myself php at the moment.

Maybe after I write a basic version up in java I will look into creating php version.

So, in long, Web app would be cool and probably doable, I want this to be a fun project for me, so I am going to stick with regular, boring java.

In short, No.

However, I will be posting most of my thought process, and probably links to the source code in this thread. If I know other people will read my code then I can make some pretty detailed comments. So if anyone wants to port it over to PHP for me as I go along then that would be great.

However, as I am typing this the idea does keep sounding more interesting (making it as a php webapp) does anyone have any recommendations for an IDE to edit PHP in?

Constructive Criticism is the most useful. If I tear apart your work it's not because I don't like it, it's because I do. If a user's Comment or Post is useful to you, Make sure to give them "Thanks!".

However, as I am typing this the idea does keep sounding more interesting (making it as a php webapp) does anyone have any recommendations for an IDE to edit PHP in?

Click to expand...

Zend Studio seems to be the gold standard for PHP IDE's, but it's ridiculously expensive. Aside from that I've only ever used a few others and never been impressed with any, which is why I just use a basic text editor with syntax highlighting (SubEThaEdit on X and Crimson Editor on Windows). Haven't looked at IDE's in years though, google turns up quite a few options I've never heard of.

Have you considered using SQL to store this (ultimately static) information?

Click to expand...

No because I dont think this is really a data storage application or an application that would need to access saved data really.

Here is the basic use case I have been tossing around in my mind.

User opens the program.

User browses to their server log file and clicks "Load"

Program parses server log for data.

User checks off what information they want displayed.

User browses to their .vmf file.

User clicks "Generate event mapping"

Program creates a "<mapname>_events.vmf" file with the event data inserted into the .vmf file.

If it is made as an online web application I can see this being taken in a couple directions.

Virtually the same as the downloadable program I discussed above, except instead of "1. opening the program" it would be to navigate to the page.

A much more complex way would be to..

As a new log is created on the server, the web app picks this up and parses the data for the log and saves it into the database.

When a user navigates to the page they are presented with a list that looks like:
"<date> - <time> - <Mapname>"

They select a map from the list and then are given the option to select information from a list of checkboxes as stated in my first post (killers / killed by weapon type, ect...)

Then I see 2 options:

Upload the map .vmf, click "Generate" and it inserts the new data into the .vmf and provides it for download.

Just click "Generate" and it allows you to download a .txt file containing the code you can manually insert in the .vmf file.

So, in all I still like the stand alone program idea the most, while the Online application with a database might be more elegant I think it is less portable and would require more work that I dont feel like doing.

For your goal it sounds like a desktop app would be the better solution. A more expanded one like the webapp version you described would be pretty darn nifty if the data were actually stored and accessible by anyone. Given the coordinates it would take some fancy footwork and precise top-map views to do, but generating the heat maps "on the fly" would be certainly be possible.

It would be a pretty good way for mappers to find common elements that work, while having a legitimate "cool" factor for the general public.

Ok, updated my post with the flagevents, however in the process I thought of something.

Really what i would imagine people would be interested mainly from flag events would be locations where the flag got completely halted and it was sent back to base, However, I dont see a "Flag Event Type" that relates to the flag returning to the base.

There were several different flag "events", and I was looking for a "Flag Returned" event, but I dont see one.

So for the (event type) section, here are the different types of flagevents.

picked up

Flag was picked up off the ground.

captured

Flag reached a capture point

defended

Triggered on the user who kills the flag bearer.

dropped

Triggered on the user who actually drops the flag.

Thinking about it I will be keeping track of each events time, so if I have a "dropped" flag event type, I can ask the user for the default flag return time. If no "picked up" flag event is thrown during the return time, then I can assume it was a returned flag.

The only potential problem I see with this is if someone is waiting back on the flag stand and immediately picks it up, if the timer is off by a fraction of a second then there could be issues, I think I could always error on the side of caution and just take 1 second off whatever time the user inputs.

Thinking about it I will be keeping track of each events time, so if I have a "dropped" flag event type, I can ask the user for the default flag return time. If no "picked up" flag event is thrown during the return time, then I can assume it was a returned flag.

The only potential problem I see with this is if someone is waiting back on the flag stand and immediately picks it up, if the timer is off by a fraction of a second then there could be issues, I think I could always error on the side of caution and just take 1 second off whatever time the user inputs.

On that note, isnt the default return time something like 60 seconds?

Click to expand...

Maybe this is more complicated than it needs to be? That is, if you see on the maps that 90% of your "flag defended" events occur in the same location, and you have a huge concentration of player deaths there as well, you know you have a gameplay issue.

In the same line of thinking, if there is a flag drop location that is so hard to get to that it almost always returns to base, this will also show up as a highly concentrated group of player deaths. I wouldn't even say that these are necessarily bad things, for instance some times people will try to take the flag out through a path that just doesn't make a lot of sense, or can only be accessed by rocket-jumping soldiers, etc.

In the same line of thinking, if there is a flag drop location that is so hard to get to that it almost always returns to base, this will also show up as a highly concentrated group of player deaths.

Click to expand...

Not necessarily; in some maps, it's possible to drop the flag in a location where it is impossible to pick it up. Remember the 2fort bug where the flag would fall through the floor if dropped on the stairs in the ramp room?

But Ryodoan, I think a simple way of determining whether a flag was returned is just to compare the next pickup event for the same flag. If its position is very different at all, then the flag must have returned to base in between.