Blender and game engines are two different tools. Optimizing objects can be different for those tools. For the game engine you are looking for CPU cycles (how many faces (triangles) you can handle to get a smooth game play).
Blender has more like optimizations of creating content and re-use in scenes and animations.
You should first think about what kind of games object you need and what to do with them.
Now you’ve created beautiful planks, but the end goal is to have a structure. Unless you do want to blow up the structure, you do not need planks for this. Just the object of this structure in the game.
But for Blender it is handy to have loose planks, so that you can design alternate structures. easily in a creative process.
There a lot of things to consider, all depending on what you are trying to achieve. Make that clear for your self. Where lies the efficiency in the work order and end usage.
Questions like, can I walk around it (3D model) or is it an object far away in the distance (which could be a rendered 2D image. Or do I need details (close-ups) and when do I need them.
The structure you’ve created is very hard to UV-Unwrap in Blender (as one object), a lot of islands. You can of course overlay some parts (islands) to use the same bitmap (Like the front and back of the plank), both are never seen at the same time. Painting is hard (Substance will help).
You could invest more time in reading about export Blender and import into game engines. How does this process work. Because creating textures for planks in a games is probably work for the last part of game development.
See other forum topics about this: WIKI - Interesting forum topics, problem solving issues