La primera respuesta a contestar sería la más básica: ¿se simula el partido jugada a jugada con variables aleatorias o se decide el resultado antes de empezar y luego se escribe el reporte de acuerdo a ese resultado?
Es una mezcla de lo que has dicho ahí: el sistema reúne todos los datos y los confronta. No pienso que lo haga jugada a jugada sino habilidad contra habilidad, táctica contra táctica, entusiasmo contra entusiasmo, etc. Luego lo justifica en un desarrollo del partido para darle un sentido al resultado, o, como mínimo, para que el usuario lo pueda entender.
Un hilo interesante al respecto fue éste, donde también desarrollaba mi opinión:
(201483.1)