Let's do this.

got home late from work today, so I’ll post a full list of rules tomorrow. but I didn’t want to dissapoint anybody who was waiting for 12:00 AM of December 1st to arrive, so the submission page is open!

http://javaunlimited.net/games/submit.php

screenshots and custom homepages are a plus (saves me some work ;)). currently the FTP Hosting link is unavailable but I will be offering free hosting to whoever needs it this year.

be sure to select “Java 4K 2006” as the contest, and also be sure your minimum Java requirement is at 1.4 or earlier.

games will enter an approval queue where I will approve the games based on content. game sizes will not be validated until the contest closing, so feel free to post unfinished previews if desired ;). Approval queue is checked daily, so expect to see your game in at least 24 hours or less.

also, this is the first public run of the submission page. please alert me of any bugs - we can’t afford to lose track of any games :slight_smile:

finally, judges are needed, so feel free to volunteer if you’re not submitting an entry.

I know this is a n00bish question and there is probably somewhere that I could RTFM, so I humbly and shamefully apologize in advance for asking this question, but.

What external libs, if any are allowed to be used? Is the 4k game required to only use what comes with the JRE SE?

Thanks!

I believe all of your questions will be answered this evening and/or night, when woogley gives us the full rules.

Ahem, rules?

EDIT: Oh - is this going to be posted at the other java games forums btw? (http://forum.java.sun.com/forum.jspa?forumID=406)

Kev

I’d like to see the rules as well :slight_smile:
Oh, and unlimited still says “Launching dec 1”. It’s dec 2 now, so… =P

sorry for the wait :-X

anyway I think this covers everything: http://javaunlimited.net/contests/java4k.php

the only thing I have to setup now is free hosting but nobody has even asked for it yet so …

anarchotron, no external libs :wink:

any other specific questions (after reading the rules)… hit me :stuck_out_tongue:

ooh, kev, good idea (even though it is more than dead over there). cant hurt to inform the rest of the community though

woogley, you’re confused. I didn’t ask about external libs, it was somebody else. :smiley:

Let me see if I understand the rules:
If I use webstart, then the SIGNED jar (if I need a signature) has to be below 4k?
Fine, so I’ll just submit a normal JAR as the official entry and link to a webstartable version anyway… which brings me to my next question: If I submit both links (JAR and webstart) on the submission site, which version will you use to check size? I hope you’ll use the archive, because I really wish to be able to provide webstart on the site as well so that people can try the games, and still have my JAR ar the official, size-checked entry.

How are things going with those comments fields for games on the site? Will that be possible soon? :slight_smile:

So, we’re saying you’re not allowed:

java -cp myjar.jar Game

this year then? It’d have to have a manifest inside it? But I am allowed to use webstart and the main-class attribute in there?

All fine by me if that is the case, just wanted to be sure.

Kev

Sorry Morre, I’m on flu medicine atm :smiley:

Kev, yes you can use Webstart’s main-class attribute, nothing wrong there. As long as it executes from the link on Java Unlimited with no command line, you’re in the clear. This year’s contest is shooting for a “plug and play” type of feel.

Also don’t forget you don’t need a manifest in a JAR if there is only one class file in the JAR (or at least that’s how it used to be in the 1.2 days).

edit: Morre, about your question. You can use a signed JAR that is above 4K for webstart if you also provide the same JAR unsigned that is below 4K as a download as well. If you submit both a webstart and unsigned JAR version, the only size I check is the unsigned JAR.

Excellent. Thank you for making that clear :slight_smile:

EDIT: Sorry to hear you’ve got the flu :S

Hi Woogley,

A Question: If a game has both an Archive URL and a Webstart URL, which one is used for official judging? I understand that you can force the Webstart URL to be invalid by making the JAR larger than 4K via a signature, but what if both JARs fit?

For example, someone could create two separate versions of their code, one with full screen support, the other without. That would allow the Webstart version to work without a signature. Yet that developer may not actually want the Webstart version to be the one judged. How would this be resolved?

Morre, thanks :wink:

jbanes, interesting. like I said above… when it comes to size, the archive URL is the one validated. As far as which file is judged, the gameplay itself should be the same on both launch options, so does it matter? You might want to put in your submission notes that the archive URL runs fullscreen which could potentially be more fun than a non-fullscreen webstart version.

Be careful when you have differences like that though… because the game is disqualified if any part of the gameplay is different between launch types (i.e. extra in-game feature due to extra space on the unsigned jar…). Fullscreen counts as a launch feature so that won’t be marked against you.

Either way I’ll have judges play both webstart and archives so you’ll be in the clear. Either way like I said… best you can do is say in your submission notes if one launch version could be more fun due to fullscreen or whatever.

woogley, I suggest you modify the top post with a bold text that says “Rules” or something, so that it’s clearly visible. Right now the link’s in the middle of the posts, a bit confusing.

hmm I’ll just make another topic for it.

That works.

Woogley, Can I take you up on the hosting offer for the 4k contest. I see that my entry LadyBug is not showing the screen shot as it is bieing hosted on the free site tripod which replaces direct links to images with a plug for their site. What are the FTP details to upload my image to your site.

Is there any “j4k guide for n00bs” anywere? I have been doing something (just to try) and i have just reached 4061B only with input and rendering implemented and i don’t know how sqash my code harder :-\

Check some of the threads from last year, lots of people posted source code to their games (including me). Warning, 4k can be addictive… ;D

Some hints:

  • Use only one class
  • The class should inherit from JFrame if it is a webstart app. That way the close box automagically works, although you need to call isVisible() from time to time & do a System.exit(0), if the Frame is no longer visible.
  • Put the entire game in the constructor if possible. Each function added to the class has overhead
  • Avoid using class variables, unless you absolutely need them (e.g. more than one function accesses them) as these are more expensive in space than local variables in a function.
  • If you declare any constants as class variables, declare them as private final static. This will get them inlined.
  • Use the minimum number of class library methods. Everytime you use one of these, the full name (class+method) ends up in the .class file.
  • Use long variable names as usual, except for the class name, which should be a single letter. Use an obfusticator such as proguard. This will reduce all variables in the .class to single letters, remove unused functions.
  • Unjar the file proguard produces and then rejar using a standard zip compressor such as 7zip or kzip. Remember to specify the command line switches to get maximum compression.
  • You don’t need a manifest if you use webstart as the only starting method. If you do include a manifest (& it is a nice touch) you only need the version and main-class statements.

Good Luck

Alan