Lexx_
Account Details
SteamID64 76561198000820646
SteamID3 [U:1:40554918]
SteamID32 STEAM_0:0:20277459
Country Romania
Signed Up May 7, 2013
Last Posted May 4, 2014 at 11:40 AM
Posts 27 (0 per day)
Game Settings
In-game Sensitivity
Windows Sensitivity
Raw Input  
DPI
 
Resolution
 
Refresh Rate
 
Hardware Peripherals
Mouse  
Keyboard  
Mousepad  
Headphones  
Monitor  
1 2
#15 Help with TF2 database design in TF2 General Discussion

@EmilioEstevez, the diamonds represent associative entities. Regarding SQL, it is not the essential point of my application, which I've described in an earlier post on this thread. The role of the database is simply to store the data required for the learning algorithm that I will implement. The data acquisition and manipulation will be done in R, using an SQL-enabling library called sqldf. So the main functionality of this application lies within the fields of machine learning and data mining, and this is the area where I will be seeking employment.

@RussianGuyovich, thanks for the advice. During my undergrad years we've even been taught to add numerical primary keys to tables that would contain an otherwise suitable primary key (such as the map_name in Maps). It's been some time since then, so now I don't even remember the logic behind that choice (if there ever was one).

posted about 10 years ago
#11 Help with TF2 database design in TF2 General Discussion

@nTraum, that would be great, thanks! That would definitely help me with the design, even if I will end up simplifying things for a bit.

As you can imagine, most of my work so far has been guided by the information I got from log files, as these will be primary data source. This explains the "Events" association for example.

posted about 10 years ago
#9 Help with TF2 database design in TF2 General Discussion
manaI never took any database classes, however, it seems like your diagram is tough to understand because I'm not sure what each term is referring to. Items? Classes? Rankings? Statistics? A lot of this design hinges on how the league itself is designed (for example, you're only supporting seasons, when ETF2L does occasionally do one night cups and other tournaments).

It'd be way easier to design around a league already in mind, rather than the other way around. i.e. the only reason I'd continue on this project is if someone is in need of a database for a league, and they had a reasonable plan, and some kind of accredited background (because who wants to just waste time).

It's also a slippery slope to say that the KA/D ratio can determine the individual skill of a player. It's much better to associate the match with a logs.tf or SizzlingStats log to see the overall picture.

In short, is there any reason you want to build this database? For fun? Because that's a very complicated road to go down if you actually want to accomplish your goal.

I'm building the database in order to learn these techniques better and build a "programmer's portfolio" before seeking jobs in the field. It's also my way of contributing back to the community. If anything ever comes out of this, it will be released open-source on GitHub. But first and foremost, it's a personal project meant to help me develop some practical skills.

The database itself will later be used for a machine learning application which will try to model the dynamics of a TF2 competition and try to predict the outcome of a future season. I chose to focus on ETF2L because it seemed easier to find logs for matches in the prem division. Not to say that I'm not interested in ETF2L cups, but I guess these would be modeled in a similar way to an ordinary league. Is there any important difference between

I haven't started designing that bit yet, however I'm going to have to rely on some sort of "performance metrics" such as KA/D for this (just as an example). Think of the players ratings from a Fifa game. Correct me if I'm wrong, but I think you can't tell a program to "look at a log file and see the big picture", that would need artificial intelligence far beyond what I am now able to code. Instead, I think I will have to rely on individual player statistics. Let me know if you have any comments about this. What would be a good metric for the quality of play in TF2?.

mansfield7A division doesn't have a ranking, it has teams. A ranking is displaying teams based on their match results, it's not an entity by itself.

You'd also want an intersection table for player and team, since even if a player is only going to be on one active team at a time you'd want to keep a history, and account for teams going inactive, etc.

I think this is a scenario where you really need fully defined requirements as to what a league is going to be before you start worrying about how to store the data.

Thanks for the comments. You're definitely right about the need to have well defined requirements. In my first post on the thread I added a first version of these, based on my current understanding of how a TF2 competition works. I'm not sure if I got everything right, so any corrections/additions would be very helpful.

Good catch on the intersection table between Players and Teams. Perhaps I need a similar junction table between Teams and Matches as well? And if I add a relationship between Divisions and Teams, then I guess the one between Divisions and Matches becomes redundant. I'm not too good at this whole database normalization thing yet. Here's an updated entity-relationship diagram, I hope I understood your comments well. I'm still not sure what to do about the division table/rankings. Is this an association with derived fields? Or does this only appear in the visual reports generated from the application?

posted about 10 years ago
#1 Help with TF2 database design in TF2 General Discussion

I started working on a database to store all the required information about a TF2 league. The model I will be using is ETF2L season 7 and the data will be extracted from TF2 log files.

I'm currently working on a design of the database itself. Now I'm by no means an expert on relational databases and I imagine that most people on this forum aren't either, however if any of you guys has any experience with this stuff either from school or work, any sort of feedback or comments would be greatly appreciated. Alternatively, is there a better spot I could ask for help with this stuff?

So here's a link to a current entity-relationship diagram (update here) that I drew. The relationships between the entities that I identified are represented using crow's foot notation. The diagram is based on the following description I came up with. Please let me know if there's anything important that I may have overlooked in the description.

A TF2 6vs6 league is composed of a number of annual seasons, each containing a number of skill-based divisions. Each division consists of a series of matches played by teams composed of 6 players. Team line-ups are usually fixed, however substitutes are allowed if the opposing team agrees. Matches are played on different game maps and, depending on their outcome, teams are awarded points which add up to give the rankings within the tournament. Depending on the type of map (KotH or CP), a team needs to win several rounds in a specific time in order to win the match. During a match, players cause different types of events to occur (e.g. a player changed class or a player killed an enemy or the medic healed a team mate etc.). These events happen in succession (in discrete time) and may influence the player who caused the event or other players (either team mates or enemies). The events ultimately dictate the outcome of a match and their net effects are added up into different statistical factors (e.g. kills/deaths ratio) which may indicate the individual skill of a player.
posted about 10 years ago
#3 Logs in TF2 General Discussion

How about ETF2L or UGC?

posted about 10 years ago
#1 Logs in TF2 General Discussion

What's a good place to find logs for specific matches? For example, let's say I wanted to get the log file for this match. Where could I find it? I tried searching on logs.tf and tf2logs.com but nothing came up.

Does anyone in the community upload and provide links for log files from a whole tournament/league season, like some people do with STV demos or POVs?

posted about 10 years ago
#6 Extracting demo information or converting to video in TF2 General Discussion

The closest thing to what I need was linked on this post. It's an old program that can extract and play audio from TF2 demos. I managed to get the code to compile (Java's my choice of language so I was really happy with it). Sadly, this software is quite outdated and doesn't seem to work with the new network protocol that Valve uses. In theory, it should be easy to update it if someone had managed to document the new Source header structures.

I don't have any specific goal in mind yet, but I'm trying to think of a way to do batch-processing on demo files in order to extract useful information from them. The practical use of this could be an analysis of the matches, predicting future outcomes, assessing the evolution of a player's skill throughout the season etc. Come to think of it, I could maybe get most of the info I need from TF2logs.com. Now I just need to figure out a way to easily create a unified database from there.

posted about 10 years ago
#3 Extracting demo information or converting to video in TF2 General Discussion
BuschmasterACRAnd no, demos literally only record the POV of a player and you can't really get any more data than you could just watching it.

What does it mean to "literally only record the POV"? Do you mean it only records what's on the player's screen? And what sort of data are we talking about?

Let's imagine the following simple scenario: an enemy soldier shoots a rocket at you from behind (you don't see him). If what you say is true and you play this demo, there would be no way for the game to know that you received any damage. But you certainly do get this information: damage, projectiles, explosions, deaths of team mates or enemies etc. At the minimum, the demo file must contain some time-based events (the rocket was fired at some moment in time from some position in some direction).

posted about 10 years ago
#1 Extracting demo information or converting to video in TF2 General Discussion

Is there a simple, automated way to create a video from an STV demo file? I want to avoid any manual editing and I will be working with POV demos only. I don't intend to upload the videos anywhere, so video quality really isn't important to me.

Alternatively, does anyone know what kind of information one could get from a demo file? For example could I somehow learn stuff like the outcome of a match, the number of kills/deaths of a player, the position of a player on the map or the entities present in the field of vision of the player at a specific time? I imagine the first two examples should be easy enough to get, but stuff like the last two is what I'm really after.

So far I found that the Source engine simply dumps the network packets into the demo file (https://developer.valvesoftware.com/wiki/DEM_Format), but analyzing those packets is proving to be more difficult than I thought and I'm not sure how far I can get this way.

posted about 10 years ago
#20 ESEA-Invite: Classic Mixup vs. tri Hards in Events

Hoping for some quick-fix action tonight...

posted about 10 years ago
#61 ESEA-Invite: HRG vs. tri Hards in Events

Are the date and time confirmed? Wouldn't want to stay up until 4.30 AM for nothing...

posted about 10 years ago
#7 ETF2L Prem: Skidmark Central vs. Vinland in Events

Hoping for a more balanced game than all the ones last week.

posted about 11 years ago
1 2