What you're basically proposing is a boxer engine (that's the general term given to flat engines with opposing cyclinders), with a scotch yoke crank/rod set-up and ported cylinders.

None of those havn't been tried.
Scotch yokes are problematic, because the slightest amount of play causes knocking. Reduce the play too much, you can't get oil in and risk seizing/premature wear, too much play and you can't keep oil in and it knocks. Wear is always an issue on scotch yokes due to the sliding components, and the only practical area I've seen it used is in relatively low speed hydraulic pumps, which start knocking when worn and under load. Now given that this part of the design needs to withstand millions of cycles (a quick calculation for 10'000miles covered at an average speed of 30mph and 2000rpm, works out at 40 million cycles), it needs to be able to withstand wear.
There is also the disadvantage of not being able to tune when peak torque is applied to the crankshaft. With a scotch yoke peak torque transfer will always occur at mid stroke, as that's when the crank pin is at 90deg to the applies power.
With a conventional con-rod design, and by varying stroke/con-rod length, you can alter where peak torque is applied to the crankshaft, which from memory is usually around 30-40% of stroke from TDC.

Ported cylinders also come with issues. The biggest issue being purging the cylinder of spent gases. With a 4 stroke, the exhaust and inlet strokes do that very well, whereas with a two stroke you're never going to get a clean purge. With both ports open, there is still an area of gases at the top of the cylinder which even with good porting/air flow management, isn't going to be purged too greatly.


I'm not saying those issues aren't insurmountable, but there are many reasons why the Otto-cycle engine is still the favoured basic engine design to this day.