How big should i make my assets for a game
Well, that could be ok if the only thing you're going to do in your game is showing this tree alone... and some engines would probably break the same...
A basic character (human mesh + clothes) for vg is good at, lets' say, 15K polys on low-end mobile devices...
To keep a 4M model high quality you need to create a low poly model, then bake all the maps your game engine needs to use the low poly like an high poly, saving processing power in your game engine.

This is called baking and is better explained on Polycount here.
Blender-wise, you could try to use the AssetGen addon, for instance, to test the process...