How can i optimize the polycount of hard surface game assets?
Here is a method to optimize hard surface models with a lot of flat surfaces for round shapes a decimation is preferable:

You can combine muliple tools or modifiers to remove the edges that doesn't affect the silhouette automatically.
The modifier has the advantage that you can keep modeling/retopologizing while your game asset will be automatically optimized, but you will need to apply the modifiers and unfold the UVs for a correct result.

Shortcuts

With the shortcuts go in Edit Mode (it's for the low poly to look good with a smooth shading, so it's purely optionnal), select everything and press x then Limited Dissolve, this will remove by default every vertices at an angle of less than 5 degrees, you can change this value in the "t" menu. Blender will keep one (bad) edge on some faces it depends of their shape. Then do Ctrl + t to add triangle.

Redo a limited dissolve then Ctrl + t to remove the bad edges that were created.

Modifiers

With modifier add an edge split modifier then a decimation modifier in Planar mode Sharp. Change the angle of the split modifier until you get the result you want.
Then add a triangulate modifier.

Like for the shortcut version you must redo the decimation and triangulate to remove the first edges that weren't placed correctly.