Прежде чем писать именно новые функции, нужно изучить как работают существующие.
Сейчас есть слитые сурсы игры
, они и раньше были, просто не паблик.
Дальше открываешь какую то функцию, изучаешь что она делает, и соответственно смотришь в игре почему это происходит.
Например интересен бэктрэк дойдешь до компенсации лагов, интересен десинк дойдешь обработки анимации, и т.д.
Сответственно затем наоборот, изучаешь игру и смотришь что можно эксплуатировать.
Чем больше знаешь об устройстве игры, тем более качественный софт можно писать.