Yes I could probably simplify it a bit. The reason I added * 1f was because I needed it to be a float but I should probably just use (float) haha. The reason I divide by height and width is because the coordinates are between 0 and 1. 0 is one end of the screen and 1 is the other. I calculate the coordinates of the object and then I divide it to get the coordinate that the system wants. But I think this is all irrelevant, since the code for the x and y-axes are identical except for x and width being replaced by y and height. The x-axis works perfectly so by my logic the y-axis should work perfectly too. But it won't

Diag is supposed to become sqrt(0.5) and when I printed it before it seemed to work. Although I'll test that once this problem is solved since now the speed when going up and down is different from going right to left so I can't really measure it properly.
I'll try commenting out the orthographic camera but that was in the example program when I got it so I'd expect it to work.
Edit: The only thing that happened when I removed the camera was that nothing appeared.