Ошибка в том, что в onCreate у вас инициализируется локальная переменная, а не поле класса, к которому обращается onStart, поле остается null, довольно частая ошибка и конкретное API тут ни причем.
Все просто! Сделайте расход за поиск боя и тд..
и функцию восстановление на сервере по времени 10 энергии в час (просто как пример) и проверяем по timestamp кому сколько добавить (для тех кто был оффлайн начисляем энергию в момент входа в игру)