Attempt at custom game engine