and what class file reducer do you use?I have tried JOGA and ProGuard3.2 but it seems they only work with .jar files and i would like a utility that can be run from a bat file so i dont have to run the gui every time i recompile:)my game is now 5156bytes zipped with 7-zip program..7-zip gives me 5byte better compr. then kzip hehe

could you also / someone please post the smallest code you know for just initiating an fullscreen application with bufferstrategy? I believe i have alot of "correct" stuff in there on how to do fullscreen..like checking what modes are available on the computer etc..

// the rest of your init code...// (you will run into problems if you try and create the BufferStrategy immediately after the DisplayMode has been changed)

createBufferStrategy(2);

I gotta say, im amazed how poor *all* the obfuscators are at producing size optimal code.I guess that is the next size optimisation step for the 4K contest entrants - write your own bytecode optimiser - I estimate a further saving of 1-2% (beyond the most optimal implementation possible in straight Java)

[...]I guess that is the next size optimisation step for the 4K contest entrants - write your own bytecode optimiser - I estimate a further saving of 1-2% (beyond the most optimal implementation possible in straight Java)

Surely the overhead to launch a Webstart app is going to eat all that gain.

I believe mlk just stated in another thread that the Webstart descriptor doesn't count.

I just ran pack200 on a Robotron4096 jar. 4,087 bytes down to 3,468! That's over 500 bytes saved!

Quote

Beyond automated bytecode optimisation tools, we could start writing in assembly.It gives you soooo many more options.

Erm... knock yourself out. Unfortunately, I don't think you'll gain much more than a good bytecode optimizer will give you. Not to mention that the JAR compression is actually going to work against you as you reduce redundancy.

So Abuse, when do we get to see your entry? The world is holding their breath waiting! :-)

Surely the webstart descriptor has to count if your app. will *only* work when using webstart

Allowing jars that weren't self-executing was a slight but acceptable flex in the rules - allowing a whole webstart descriptor fo free is a *huge* change, and opens the door for many possible abuses.

For starters you can specify command line parameters for free if the webstart descriptor isn't included.

Quote

Erm... knock yourself out. Unfortunately, I don't think you'll gain much more than a good bytecode optimizer will give you. Not to mention that the JAR compression is actually going to work against you as you reduce redundancy.

Thats what I initially thought - however, I disassembled my game last year, and straight away could see dozens of simple optimisations that would cumulatively save 50-100 bytes.

Beyond that it would require code restructing, to take better advantage of the single byte %load_# instructions

I'm not saying it'd be easy, but there is definitely space to be saved there =)

Quote

So Abuse, when do we get to see your entry? The world is holding their breath waiting!

Coding all day at work doesn't fill me with enthusiasm to code at home in the evenings/weekends =/

If I take a week off work, then maybe =)(still got 1 or 2 ideas Kev hasn't pre-empted )

Parameters aren't allowed if their purpose is to carry some data. They are allowed for changing the default behaviour like using 16bit instead of 32bit.

I believe the rule was that the game must be capable of being run without parameters. e.g. If I downloaded your webstart JARs and created my own webstart file with no settings, it should still run. This rule was put in place to ensure that options could be used, but that no massive data sets were being space shifted out of the JAR file. :-)

You probably don't want to write all the info in all the places, though... just give a reference, as stated above. I'm not sure, but by doing this I've gotten one entry (only one before last update) on the "official" contest site: http://woogley.net/games.html

>Surely the webstart descriptor has to count if your app. will >*only* work when using webstart

The html doesn't count if it's an applet. (Was that different in the past?)

>For starters you can specify command line parameters for>free if the webstart descriptor isn't included.

Parameters aren't allowed if their purpose is to carry some data. They are allowed for changing the default behaviour like using 16bit instead of 32bit.

So will the rules be updated ?

"The game must be playable on command line OR via JWS (or both of them)"

My game in Pack200.GZIP + JNLP file is smaller than a single jar, meaning i could put more code inside, but this couldn't be played anymore on command line (java -cp... doesn't undestand Pack.gz format).

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org