I have tried to coding a Mario 3 clone (and would love to do a Sonic game) in Java, or maybe C++. However, using Java's AWT & Javax.swing, the coordinate is at the top-left of the viewport. That blocked the entire project, as I could not think of a way to make it so the origin is at Cartesian 0,0. My attempt to handle it resulted in problems w/ sprite locations given that some sprites are different heights. What tactics could people suggest as a workaround or alternative (provided it's free)?