NBA Live 07 Sim Engine Editing

From NLSC Wiki
Jump to: navigation, search

This guide was originally posted by Chris_23 in the NLSC Forum.

Games

This tutorial applies to the following games:

The Guide

Alright I started researching into ways to get the simulated stats not realistic in specific individual scale (like trying to get Nash to lead in assists), but in varied individual scale (aka getting leaders averages match that of real leagues).

I started up with a suggestion I received in my dynasty thread about a Primacy fix Mark did. I can assure you that it is indeed one of the ways to increase points for guards and leaders and should be used. I tweaked it a bit myself and added fatigue capping (so that every player would get fatigued at least a bit in game), but overall you can use Mark's version for the time being.

Anyways, about simeng.txt. I was surprised when I did not see nearly any threads about the Simulation Engine. I studied how it works to find a way to get it working and am still long ways before actually releasing anything, but I'll share some information here you can use.

Firstly, the way NBA Live 07 simulates games is not through play by play. It is, in fact, directly through using data in simeng.txt using in-game algorithms for the result. simeng.txt has nothing to do with players individual averages. This means that you cannot increase Steve Nash assists per game by tweaking simeng.txt. You can, however, increase Phoenix Suns assists per game. How many of those are by Steve Nash depends purely upon his minutes per game, his passing and offensive awareness, and the amount of other good passers in the team (who would share the Phoenix Suns total assists).

Also, the simengine matrixes (the integer and float number, aka {45, 0.30}) are about teams perfomance. I did not find a specific stat they depend on, however it had something to do with field goal percentages. The lower integer values were lower shooting perfomances and higher values were better shooting teams (but it is not only about shooting percentage, since I could not single out one value, just a vague value and it's clear that shooting is involved).

The higher values, like the 99 integer value, probably means a really good shooting perfomance (not 99% mind you, it's scaled between two hardcored values I imagine, or is dependant on another matrix in simeng.txt). Values behind integer signify how many assists will the team score in game. You can scale it depending on how well does the team do. higher integer means more team assists in game, lower values mean less team assists. Good average was around 0.66f (the f means float value). Yes, you can fix the simulated assists issue by sharing out all assists in such manner, but it's in fact a curve (thus why a float value) and not linear. Setting all values the same won't bring the desired result (and would in fact make it so that there's no exceptional game in assists by any team ever).

What the game does is it calculates first the points flow (without calculating who makes the shot, it's not a play by play calculation to save speed), depending on team perfomance, it changes lineups (depending on simeng.txt values). Then it gets a result. After that it basically generates stats for players. Assists are calculated, blocks, rebounds, fouls, steals, turnovers, shots etc. They are not taken into account before the result itself is clear in every quarter. simeng.txt seems to take the value and apply it to the whole team, and then based on player ratings and randomizer value the assists and other stats are shared across the team.

This means that you can't make Steve Nash score more just by tweaking simeng.txt. You can however make Suns assist more, but to make Nash do it more means having to lessen the passing and offensive awareness on other players in his team (unless you want the Suns average way too many assists per game).

I am going to research into this more but I hope the firsthand information clears something up to those wishing to edit the file. After that I'll compile a dynasty focused patch that includes edited fatigue/primacy fix along with simengine.txt. Don't hope for something amazing from it, I won't bother tweaking rosters and player ratings so that players do exactly what they do in the league, but will try to get assists, blocks, steals and so on leaders average similarly to what leaders average in the league. The rest is dependant on ratings and not simeng.txt.

Anyways, just a heads up here, hopefully this information was useful.

Links