Reducing class file sizes (Java4K)

A little project i have, trying to reduce the size of a Java Class file.
Without removing any features.

Original Size: 5736bytes
Current reduction: 3150bytes removed (~55% reduction) (Pure javac compile, no compression or proguard)
With Proguard(class only): 3219bytes removed (~56% reduction)
Compressed Jar: 4219bytes removed (~73% reduction)
Compressed Proguard Jar: 4304bytes removed (~75% reduction)

NOTES:
Rolling your own builder in eclipse pays off, got a ~550b reduced class file size :smiley:

Fell free to leave any comments/tips which can help in my quest :smiley:

Source Code:
Final - http://pastebin.java-gaming.org/311b3907443
v1.4 - http://pastebin.java-gaming.org/e905a337341
v1.3 - http://pastebin.java-gaming.org/9e9052a7343
v1.2 - http://pastebin.java-gaming.org/19e90157a43
v1.1 - http://pastebin.java-gaming.org/619e900754a
v1.0 - http://pastebin.java-gaming.org/4619e996045 - This is not the first version, it’s the first version i had access to.

I kept a little changelog: (Number prefixes are class sizes in bytes)

Prefix = bytes

5736 First

5712 Changed .76f to .75f 
5707 Chaged wall/roof/floor size to 50 instead of 1000
5693 .. Some random shit (but it still works)
5687 .. Some random shit (but it still works)
5449 Removed debugging(box pos)
5330 Removed boolean isAlive and changed to !Display.isCloseRequested
5169 Shortened some variable names
5096 Removed unnecessary code.
4984 Removed unnecessary code.
4708 Reusing variables
4640 Reusing variables
4638 Shortened Variable name
4610 Changed !Display.isCloseRequested() to !Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)
4609 Removed unnecessary code.
4603 Changed some floats to ints
4055 Reused some variables FixtureDef, BodyDef & PolygonShape (used .clone())
3882 Removed unnecessary code.
3855 Removed unnecessary code.
3653 Removed unnecessary code.
3598 Changed Math.toDegrees() to Radian * (180 / 3.1415)
3547 Changed getContactList() to b.getPosition().y < .77f
3518 Removed unnecessary code.
3363 Reused some variables.
3339 Removed unnecessary code.
3275 Various fixes.
3238 Removed glDisable(GL_DEPTH_TEST) as it was never enabled by glEnable()
2683 Implemented custom builder into Eclipse. psuedo cmd: javac -cp "PROJECT_CP" -g:none SOURCE_FILE -d OUT_FOLDER
2586 Removed unnecessary code and various fixes.

Wait, you’re talking about reducing class files for java4k but why all I see is lwjgl with physics?

Yes, this project originally was about using JBox2D with LWJGL as graphics lib.
But when i started editing(shortening variables), the class file started shrinking dramatically(~50bytes :P).

Then i started thinking why not try to make it smaller and smaller.
This way I will learn about shrinking games for Java4K (this game is not a Java4K game).

I’m pretty sure there are better ways to compile without debug information in Eclipse.

Can you explain what this exactly does in more detail? How does it achieve the reduction?

I have made the reductions myself, I change Variable names and changes the code around.
So that the final class file would be smaller :smiley:

Code changes:
https://code.google.com/p/random-rpg/source/diff?path=/A.java&format=side&r=5 (First and final version comparison)