Przede wszystkim dziedziczone są metody, a nie funkcje (kwestia nazewnictwa). Metoda to funkcja będąca składnikiem klasy.
Co do Twojego dziedziczenia, to @kq napisał, że robisz już tutaj coś źle. I to widać na pierwszy rzut oka. Klasa Game dziedzicząca po Core. Raczej tak nie powinno być. Oczywiście nie wiem, co sobie wymyśliłeś, ale to już daje czerwoną lampkę.
Poza tym weź nie zaczynaj nauki programowania od robienia gier.
Co do samego pytania, prawdopodobnie Game powinno być osobną klasą, która nie dziedziczy po Core. W Core pewnie chcesz mieć jakieś metody ogólnodostępne, więc powinieneś z tego zrobić klasę statyczną / singleton / klasę implementującą jakiś interfejs -> to wszystko zależy od tego, co chcesz. Prawdopodobnie chcesz też za dużo robić w klasie Core.
Prawdopodobnie bardzo silnie chcesz powiązać klasę Core z Game, co szybko doprowadzi do problemów.