2008 Java 4K Competition

Hi fellow game programmers!

I’d like to (tentatively*) announce that there will be a 4k competition starting from December 1st 2007 and ending February 29th 2008.

Since there was some speculation about not there being a 4K competition for 2008, we decided to announce early that there will definetly be one.

Myself and jojoh will be managing the 2008 4k competition.

The competition will be as usual (almost!), with the same rules. It will be hosted at a new website which is currently being worked on, and will be ready before December 1st (cross your fingers!).

No prizes have been decided on, most likely there will not be any, just the reward of participating :slight_smile: We believe that people aren’t participating for prizes anyway, the fact nobody claimed the prizes in this years competition gave us a hint. But we will consider it, but no promises!

CONTEST RULES
Note: These are tentative rules, they will be formally defined on the competitions web page when it opens.

Basic rules are as follows (same as from last year’s competition):

  1. The final game package (byte code + resources) must be below or equal to 4096 bytes
  2. Must be a playable game (cannot be a pointless animation)
  3. Must be pure Java (no JNI)
  4. Must be self-contained- no external resources (e.g. loading an image from a website)
  5. No Pack200
  6. No external libraries may be used - you must use the libraries that come with the “public” version of the JRE
  7. No soundbanks may be used because they are not a default part of the “public” JRE. You will have to create your sounds at runtime rather than use MIDIs.
  8. The presentation (jar, class, or other) does not matter, as long as the code can be executed without a command line
  9. The target JRE is 1.5 (Java 5) or lower
  10. Must not be identical to a game submitted into previous 4k competitions.

Some extra notes about Java Webstart:

  • Webstarted games’ code size will be determined with the JAR that Webstart uses to launch the game
  • Splash screens and icons for Webstart will not be counted against you since they are not part of the JAR
  • If your JAR is below 4K until you sign it, you cannot use it unless you provide an unsigned JAR as another option for launching the game that is auto-executable and under 4K.

JUDGING AND CATEGORIES

There will be two types of judging, a judging panel consisting of a few judges (yet to be picked and defined) and a community vote, where everyone can participate in voting the best community game.

The judging panel will consist of both programmers and non-skilled-humans, and they will choose the winning games in 3 categories:

  • Best Game Award: The overall winner of the competition
  • Technical Achievement Award: Games that show a impressive implementation of some sort of technology.
  • Best Presentation Award: Recognition for impressive graphical and/or audio in-game effects. (This can include a wide variety of things, but remember rule #2, this must be a game and not some senseless animation or audio playback.)

So, in short, there are 4 categories:

  1. Best Game of the Competition (judging panel)
  2. Best Community Game (community)
  3. Technical Achievement Award (judging panel)
  4. Best Presentation Award (judging panel)

But there is only one category that matters the most :slight_smile: (hint: it’s 1.)

That is most of it.

The competition hasn’t started yet, but anyone is of course free to freshen up on his 4K skills and of course it doesn’t hurt to spread the word, competition never hurts :wink:

  • Rules and setup of what has been described here can change, we will try to have everything squared off before the competition starts though.

Good stuff - I’m looking forward to it. A quick question? Will there be ratings, or just the top game in each category? If you only mention one game from each category, that could lead to only 1 or 2 games getting any awards at all - that’d be dull, no? :slight_smile:

All games will receive a score and a short review from each judge.

[quote]and non-skilled-humans
[/quote]
haha,

If you arn’t a programmer, you are skill-less - I like that ;D

What are everyones thought about target JRE of 1.5 and not 1.6?

We based this decision on the fact 1.6 isn’t available for MacOSX (AFAIK), and we wouldn’t want to exclude Mac users from running these games.

1.6 didn’t add anything useful for 4k stuff, did it?

I am sure even 1.4 is fine. It is with me anyway. Although 1.5 does give you the nano timer.

1.5 it is. I don’t think it’s a good idea to downgrade since last competition.

For code size the Java 1.6 class file format sux anyway :slight_smile:

I’ve been asked if it’s ok to re-submit a game from previous competition, so it would get a better, more thorough, review and judging.

This is not a good idea, think about it. If people start to see “old” games in the “new” competition, then they’ll re-submit their old game(s) too! Do we really want to see 50 “old” games in a new competition? I think it just adds a extra burden on the judges and makes the competition that much less interesting for the people that have liked to play the 4k games over the years.

We just have to accept the results from last competition, it wasn’t fair to most, but at least we always have a new competition! So let’s simply do our best again and make better games this year around :wink:

edit:
As a consequence, I’ve added rule #10.

If it’s critique you want, and not a scoreboard, I’d be pretty happy with last year’s results. The voting system and the inofficial scores both had too little data to be accurate, but when it comes to personal comments the year was good - pretty active forum, lots of constructive critique going on. I agree, no resubmitting should be allowed :slight_smile:

EDIT: Wording.

niiice

[quote=“appel,post:1,topic:30883”]
Can you pass arguments from the jnlp to the jar file? How large can the arguments be? :wink:

* Markus_Persson imagines writing a 4k classloader and base64encoding a 50mb zip file :smiley:

I imagine myself disqualifying the game then :wink:

The jnlp can only be used to start the game, not pass on data in a form of a external resource. Be reasonable :slight_smile: don’t make my hair turn gray before I hit 30!

Sorry, I just wanted to point that out so you could add it to the rules or clarify that it counts as an external resource so nobody would try to (ab)use it. =)

Sigh, @27 and i’ve got a few showing up :-\

I’m 27, stop scaring me :expressionless:

Yes, I agree. The rules will be clarified before the contest officially starts (Dec 1st), until then everyone are free to make comments and discuss.

We were thinking about adding a requirement:

Game must be startable via webstart and/or applet.

This will help attract people that aren’t especially interested in development or Java, but rather just normal end users who want to play without much hassle. Webstart and Applet are the simplest tools we have for that. So no submitting only a JAR file, which requires a download, and not everyone recognize the JAR (both end-users and browsers/OS’).

I don’t think this would be a problem, it’s fairly easy to deploy as webstartable, and it also shrinks the game (you don’t need the META-INF stuff). Also, something like 80% delivered in webstart last season.

How about games which when webstarted need to be signed thus in previous years would be ok to submit as the unsigned stand alone jar is less than 4k but the web start version is over?

Yes, I agree. If the signed webstart is larger than 4k, an unsigned jar will have to be provided to prove it’s smaller or equal to 4k. That is fair.