En el presente proyecto de fin de grado se ha desarrollado un sistema de detección de trampas o, en términos internacionales, cheats, en el videojuego de disparos en primera persona llamado Counter-Strike: Global Offensive (CS:GO). El uso de trampas en los videojuegos arruina la experiencia de los jugadores que no las utilizan, ya que los que sí lo hacen, obtienen una ventaja visual o de ayuda de asistencia en el control del ratón sobre los jugadores que únicamente utilizan su habilidad. Además, el presente videojuego está dotado de una gran importancia a nivel internacional, siendo uno de los más presentes en competiciones de deportes electrónicos. En dichas competiciones están presentes cheats realizados por programadores profesionales que son capaces de saltarse, en gran medida, la seguridad impuesta por las mismas mediante los sistemas anti-cheat. Cabe destacar que la suma total de dinero a repartir en las competiciones anuales, superó los 11 millones de dólares en 2018, de ahí la importancia de mantener una escena competitiva limpia, donde los jugadores ganen de forma lícita el dinero. Este proyecto, enfoca su objetivo en crear un sistema capaz de detectar mediante inteligencia artificial, y, concretamente, aprendizaje supervisado, los cheats de asistente de puntería, o, en términos internacionales, aimbot. Dicho asistente de puntería permite al jugador que lo utilice obtener una ayuda en el control de movimiento del ratón. Esto se produce mediante operaciones de lectura y escritura de memoria, en las que se obtiene información del videojuego que se almacena de forma dinámica en la memoria del computador, y se sobrescribe dicha información con la nueva, aquella que otorga ventaja al jugador. Para ello, se crean y se utilizan programas que captan la información más relevante de una partida, y convierten dicha información relevante en un formato legible para su tratamiento en programas de generación de modelos de aprendizaje supervisado. Finalmente, se consiguen varios modelos que consiguen clasificar más de un 95% de las instancias correctamente. This project is developed using the videogame CS:GO (Counter Strike: Global Offensive) as its base. This is a first person shooter (FPS) videogame developed by Valve Corporation, which is the owner of the most important digital distribution platform in the world right now, Steam. It is the forth videogame of the series Counter Strike, being launched officially at August 21st, 2012. This series, along with other series like Call of Duty or Battlefield, is the most important in the world of FPS videogames, since it is the one with the highest number of online players. There are competitions in a lot of videogames, where the players can prove who is better, but, precisely, in this one, the amount of money invested is very high. For example, in 2018, there were at least more than 11 million of dollars invested (information collected from the most important competitions). However, such amount attracts players, and not all of them are honest and honoured. There are players who use cheats (self-made or bought ones from professional coders) called cheaters, to have an advantage over the skilled players. These cheats, sometimes are good enough to get over the anticheat security which the videogame or the competitions provide. There are cases of professional players being banned by the anticheat after winning prizes in important competitions, and the money is not taken back. This is one of the problems that has to be solved. There are different types of cheats as well, depending on the help they provide. The ones that are more common in competitions are aim-assistant ones (called aimbot), since they do not show anything in the player’s screen. Also, they are used in the competitive mode of the game. Because of this, the main goal of this project is to create a system which is capable of distinguish aimbot from humanized aiming. Also, this system will have to respect the privacy of the players and not be intrusive. This will be the second goal. For constructing the system, Artificial Intelligence will be used, and more precisely, supervised learning. In supervised learning, the system will build a function from training data, which will be data with pre-assigned classes. Final model will be chosen after doing many tests, where the algorithm used and the dataset will be changed. It will be the model with the highest percentage of correct classified instances and has less false positives. The different models will be generated with Weka and RapidMiner, so .arff files will need to be generated. Ingeniería Informática