CONECTAR  CONECTAR - REGÍSTRATE   MERISTATION   BLOGS   MERCADILLO   MERITV
Al home de Meristation
Publicidad Publicidad

Compartir:

Zodiark
vida restante: 100%
Ver perfil de usuario Enviar mensaje privado Visitar blog personal
Registrado: 24 Ago 2006
Mensajes: 34.627

Mi proyecto de fin de carrera: Un simulador de fútbol sala.

Citar
Por fin voy a comenzar el proyecto que tanto tiempo tuve en cabeza. Estoy nervioso por si me va a venir grande, peor ya tengo mi tutor, y he realizado la especificación de requisitos.

Aquí os pongo un resumen de lo que será:
Cita:

Se pretende la creación de un "motor" genérico de juegos que consistiría en una consecución de eventos que se sucederán por un conjunto de reglas disponibles que serán aplicadas en función de unas condiciones o en base a unas probabilidades. Tanto el sistema como el usuario dispondrán de una serie de acciones a realizar que afecten a dichos eventos.

El simulador de gestión fútbol sala va a ser un caso práctico para poner a prueba el motor de simulación de partidos.
El usuario final podrá comenzar una partida eligiendo un equipo entre varios disponibles y el ordenador manejará el resto. El simulador comenzará en la primera jornada de la primera temporada, sucediéndose estas hasta su fin. Durante cada jornada el usuario se encargará de gestionar el club tanto tácticamente como económicamente. El motor entra en juego durante los partidos de cada jornada.



Pues bien, voy a desarrollarlo en Java. Y para la creación de acciones y reglas, como los datos de jugadores y equipos usaré XML.

Me gustaría que me ayudarais con información que pueda serme útil, ya os digo que jamás he manejado XML(aunque me parece sencillo visto por encima) y Java para programas muy simples, vamos que voy casi a empezar de 0 con estos 2(obviamente aportaré mis conocimientos de la carrera).

Lo primero? Diseñar una interfaz sin funcionalidad y crear un xml "básico" con poca info.


Espero opiniones, ideas, y cualquier cosa que os pase por la cabeza. Un saludo!!!



Zodiark
vida restante: 100%
Ver perfil de usuario Enviar mensaje privado Visitar blog personal
Registrado: 15 Oct 2002
Mensajes: 3.735

Citar
Es un proyecto bastante ambicioso...


Si lo quieres hacer bien y "realista" tendrás que meterle bastante estadística y matemática (probabilidad).

Yo, los XML los dejaría sólo para mantener datos y configuración básica.

Las reglas y los eventos del juego es posible que te interese sacarlos en un lenguaje de script, como puede ser LUA. Pero vamos, tampoco creo que pase nada por tenerlos "hardcodificados" y que haya ciertos parámetros configurables.

Imagino que no querrás llegar al nivel de meterle comportamientos IA a los distintos jugadores.


Yo empezaría por definir las reglas básicas que va a tener que cumplir un partido. Por ejemplo: número de acciones que podrá generar uno y otro equipo.

Luego definiría los parámetros básicos de un jugador. Por ejemplo: defensa, ataque, control, motivación, estadofísico, etc...

Luego los atributos y reglas de un equipo, en función de los jugadores que lo componen y del propio equipo.


Con eso ya puedes modelar la ejecución de partidos.

A partir de ahí, todo sería ampliar el simulador con funcionalidades: generador de equipos y jugadores, liga, módulo económico...



Te lo vas a pasar pipa, desde luego.



PD: yo no me metería en ningún aspecto gráfico, hasta haber terminado el simulador por completo. Ese proyecto es perfecto para presentar varios tipos de interfaces usando el mismo motor.


Shiva
vida restante: 100%
Ver perfil de usuario Enviar mensaje privado
Registrado: 13 Ene 2008
Mensajes: 4.243

Citar
Últimamente me he interesado bastante en Machine Learning (Un campo de la Inteligencia Artificial).
Como dice Xinef vas a tener que usar buenos algoritmos de simulación, te recomiendo la siguiente clase:
https://class.coursera.org/ml/lecture/preview/index


Zodiark
vida restante: 100%
Ver perfil de usuario Enviar mensaje privado Visitar blog personal
Registrado: 24 Ago 2006
Mensajes: 34.627

Citar
En principio la idea motor es el encargado de gestionar las reglas probabilísticas y acciones encadenándolas de manera "realista" durante la sucesión de eventos.
Qué quiero decir, pues que el motor aprenderá después de cada evento surgido, para así evitar un partido en el que solo haya goles, o solo faltas, o evitar que termine un equipo con 7 expulsiones. E igualmente si hay una expulsión, sea más probable que aparezcan más goles en contra.


Mi profesor me sugirió que sea el archivo XML la entrada de datos al motor, donde estarán el listadod e equipos y jugadores con sus atributos, y aparte las reglas no de acciones, si no de cuantos cambios se pueden hacer, duración del partido, etc...
Para luego ser el mismo motor el que modifique el XML(resultado del partido, lesiones, cansancio acumulado).

Debería usar 2 palabras distintas, ya que da lugar a confusión el uso de "regla" para definir el tipo de partido, y para definir las reglas que definen a los eventos.



Shiva
vida restante: 100%
Ver perfil de usuario Enviar mensaje privado
Registrado: 13 Ene 2008
Mensajes: 4.243

Citar
Yo prefiero en CSV (Comma Separated Value) que viene a ser el estandard por lo que he visto.
He estado usando un poco de R (lenguaje para programación estadística y eso) y me gusta bastante: podrias integrar el engine con unos scripts de R si se te hace mas facil.


Hegemón
vida restante: 100%
Ver perfil de usuario Enviar mensaje privado
Registrado: 28 Nov 2011
Mensajes: 687

Citar
Si algún día haces uno de tenis plis pasame el código ^^u

No sé qué más decirte, suerte.