J4K

Must I come up with a clear #1, #2, and #3?

So far it looks like I will have a favorite, but I’m finding that for one reason or another a lot of my scores are coming out very close. That is, not many of the entries suck, and there aren’t many that stand out as being a lot better than the others. I’m not saying that they are all mediocre :slight_smile: … just that there are quite a few that are impressive.
Judging is hard.

I will probably have to go back over the scores when I am done and try to break a lot of ties, or ‘stretch’ the scores out to get a greater point spread.

I can understand you are having a hart time judgin :slight_smile: Don’t think you should artificially stretch scores, since that might be taken care of by weighting together votes from all judges.

[quote]Must I come up with a clear #1, #2, and #3?
[/quote]
no… vote how you want. Don’t worry if a game has the same score as another game… because the other judges might have different scores for the games. That’s the point of having 3 judges and taking the average of each score :wink:

Don’t try to break any ties… if you think some games are equally good, then vote like that. Just because it’s a tie in your scores doesn’t mean it’ll average out to the same result. In the end, after the averaging, the only tie breaker will be for first place. All other ties will remain ties.

Just a quick update, I have ChrisM’s scores. As soon as swpalmer and blah^3h return theirs (no hurry guys), I’ll forward them to woogley for posting. :slight_smile:

I’ve just finished a quick test of all the entrys:

Notes:
Collapse4k & Late4k

Dungeon4k
nofullscreen

MC4k
Checked manually (due to two version existing):
Old: 3866
New: 3991
No signed versions.
Both webstart jnlp files had:

jm4k
Checked manually (due to shellscript not not liking external resources): 4094
run_16bit.bat
::::::::::::::
java -cp .;jm4k.jar D any arguments will do the trick :slight_smile:
::::::::::::::
run_32bit.bat
::::::::::::::
java -cp .;jm4k.jar D

Lander
NOTE: this does NOT run without any params! While strickly invalid, I’ll let the judges make the final call.

Lander_FullScreen.bat
::::::::::::::
java -jar lander.jar 1
::::::::::::::
Lander_Windowed.bat
::::::::::::::
java -jar lander.jar 0

Pang4k
Checked manually (due to multiply versions):
Pang4K.jar (webstarted): 5747
Pang4Kfba.jar: 4070
Pang4Ktba.jar: 4361

Only the Pang4Kfba.jar is valid!

Robotron 4096
java.dnsalias.com down when I attempted to download.
Check manually: 4096

Tilt4k

Automated Results


Entry          No. Of Jars          Results
4ktris          Two File        Failed: Webstart content differ -- /TFps.class
ball4k          Two File        Failed: Webstart content differ -- /R.class
blast           Two File        Passed
bombnet         One File        Passed
bubbleracer     Two File        Failed: Webstart content differ -- /B.class
chopper4k       One File        Failed! Too Large!
city4k          Two File        Failed: Webstart content differ -- /R.class
clickrisk       One File        Passed
collapse4k      One File        Passed
combat4k        One File        Passed
dungeon4k       One File        Passed
fetrisk4k       One File        Failed! Too Large!
fifteen4k       One File        Failed! Too Large!
gridblaster4k   One File        Passed
gridrunnerx     Two File        Failed: Webstart content differ -- /G.class
hack4k          Two File        Failed: Webstart content differ -- /H.class
hunters4k       One File        Passed
kartrisk        One File        Failed! Too Large!
kick4k          Two File        Passed
labyrinth       Two File        Passed
lander4k        One File        Passed
late4k          One File        Passed
mc4k            Two File        Failed: Webstart content differ -- /MC.class
meatfighter4k   One File        Passed
neb4k           Two File        Failed: Webstart content differ -- /Designer$Lev
el.class
onet            Two File        Failed: Webstart content differ -- /O.class
pengo4k         Two File        Failed: Small file not under 4096
puzzleballs4k   One File        Passed
rest14k         Two File        Passed
rotbs4k         Two File        Passed
secretcolors4k  Two File        Passed
shot4k          Two File        Passed
slalom          One File        Passed
snakez          Two File        Failed: Webstart content differ -- /S.class
sonicracer      One File        Failed! Too Large!
stagparty4k     One File        Passed
stardodger      Two File        Passed
stepstones      One File        Passed
swarm           Two File        Passed
t4k             Two File        Failed: Webstart content differ -- /t4k.class
territory       One File        Passed
testFail        One File        Failed! Too Large!
tetris          One File        Passed
tilt4k          Two File        Failed: Webstart content differ -- /G.class
trek4k          One File        Passed
trooper         Two File        Failed: Webstart content differ -- /T.class
trucker         Two File        Passed
wumppus         One File        Passed

I’ve done a few tests, and signing jars does not change any of the class files. So it looks like a number of people updated one without updating the other. Will the judges please insure they have the downloadable 4k version.

The size failers, unzipping, removing manifest and kzipping gives me:


chopper4k:    4022
fetrisk4k:    3705
Fifteen:    2979
kartrisk:    3519
pengo4k:    5179
sonicracer:    3913

Test Code:


#!/bin/bash

function size() {
    ls -l $1 | cut -c34-42
}


function testOne() {
    FILE=`ls`
    echo -n -e "\tOne File\t"

    if [ `size $FILE` -gt 4096 ]; then
      echo "Failed! Too Large!"
    else
      echo "Passed"
    fi
}


function testTwo() {
    echo -n -e "\tTwo File\t"
    _TMP=`ls -m`
    F1=`echo $_TMP | cut -d, -f1 `
    F2=`echo $_TMP | cut -d, -f2 `

    if [ `size $F1` -lt `size $F2` ]; then
      SMALL=`echo $F1`
      LARGE=`echo $F2`
    else
      SMALL=`echo $F2`
      LARGE=`echo $F1`
    fi
    if [ `size $SMALL` -gt 4096 ]; then

      echo "Failed: Small file not under 4096"
      return;
    fi
    mkdir small large
    unzip $SMALL -d small/ >/dev/null
    unzip $LARGE -d large/ >/dev/null
    rm -rf small/meta-inf/
    rm -rf large/meta-inf/
    LARGE_FILES=`find large/`
    SMALL_FILES=`find small/`
    if [ `echo $LARGE_FILES | wc -l` -ne `echo $SMALL_FILES | wc -l` ]; then
      echo "Failed: Webstart content differ"
    else
      OK="1"
      for file in `echo $LARGE_FILES`; do
          if [ ! -d $file ]; then
            if ! diff -q $file ${file/large/small} >/dev/null 2> /dev/null; then
                OK=${file/large/}
                break
            fi
          fi
      done
      if [ $OK = "1" ]; then
          echo "Passed"
      else
          echo "Failed: Webstart content differ -- $OK"
      fi
    fi
    rm -rf large small
}

function length() {
    echo `echo $1 | awk '{ print length( $0 )   }'`
}

for of in `ls -1`; do
    if [ -d $of ]; then 
      cd $of
      echo -n $of
      if [ `length $of` -lt 8 ]; then echo -n -e "\t"; fi
      if [ `ls | wc -l` -ne 1 ]; then
          testTwo $of
      else
          testOne $of
      fi
      cd ..
    fi
done

Most of my webstarts include levels designers and such. I assumed the judging would be done on the non-webstarted versions?

EDIT: Infact, the process I’m using to make my webstarts is modifing the class files (they all seem to be modified on your list). Just use the 4k download jars.

EDIT2: As a side note, the webstarts are actually all the same versions.

EDIT3: What the hell am I talking about. My work flow doesn’t compress the versions that go into the webstart at all :slight_smile:

Kev

[quote]I’ve just finished a quick test of all the entrys:

Notes:

[…]
Dungeon4k
nofullscreen
[…]
[/quote]
Huh? That argument is in no way required to run the game, and is only used to make the webstartable version possible.

Re chopper 4k failing.

which version did you try? I posted 2. one was just a jar that needed a java -cp chopper4k.ar C to run. I’m pretty sure that this should be in the size limit. (it was late when I sorted it out though :frowning: I thought it was exactly 4096 actually) I tought this would be regarded as the ‘entry’. grrr I can’t download it and check it at work, shouldn’t have had a manifest in it though.

The other was a webstart (which was too big) just for convenience.

Sorry to cause trouble with this.

Does this mean that it’s ok to be considered an entry now?

Regards,
Dan.

edit: I’m actually supprised that it got down to 4022

Good work!

Regarding my parameter in webstart. Just a copy and paste bonus :slight_smile: Parameter is not needed, not used and now removed. Thanks for pointing that out.

I am almost done. I just have to go back and try a few games that I had trouble with before.

I also think my interpretation of “executable” was perhaps too open. I gave 1 point to anything I didn’t have to think about to start :slight_smile: so JNLP or double clickable JAR were treated equally. If I needed to use the shell, I gave 0 for executable.

Anyway…
I can’t get Bombnet 4k to run. It’s getting a zero from me unless someone points out where I’m going wrong. It says it is client/server, following the instructions to start the server I get:
scotts-laptop:~/Public/downloads scottpalmer$ java -cp bombnet4k.jar m
Exception in thread “main” java.lang.NoSuchMethodError: main

There doesn’t seem to be much in the way of instructions to start the client, except for a vague reference to making a web page and using the same ‘m’ class as an applet. Minus a lot of points for not providing the HTML.

Why are you taking into consideration a file that was never submitted into the contest?!? Please see my original post back on page 11 which mentions that the jnlp version have an extra feature!!! (and also my later post where I explicitly mention that it is the
http://www.woogley.net/j4k/4ktris/4ktris-1.0.jar that should be judged)

Petr >:(

@swpalmer

Thank you for taking the time to investigate my entry.

I’m sorry to read that it didn’t work for you.
This project started as a client server project where the server was hosted on my server. Due to bandwidth limitations (at the time) I had to take it off :frowning:

The ‘step’ for making the html file was on the documentation page. The missing main was not a problem to run from the jdk that I had installed on my linux server. The method was omitted to gain more space :wink:

I understand that it would be too much to ask to test it with a webserver hosting the html file. It is not required but without it the server application could be used to hack your server-machine… Feel free to rule a zero for the entry because of this!

I personally enjoyed making both client and server in the 4k limit which was reward enough for me!

Again, thank you for taking the time!

Regards from
M.E.

[quote]Most of my webstarts include levels designers and such. I assumed the judging would be done on the non-webstarted versions?

Kev
[/quote]
so far, i’ve only been able to judge those who had jars. none of your games had jars on the page with all the webstarts (at least, i couldnt find the links)

I put them all in my jws cache, but … then I changed laptops because my battery broke, so I only have the jar versions that I could copy from laptop to laptop with me.

I’ll tyr playing some @ lunch at the GDC, now that I’ve got wireless access here int he convention center.

[quote]Re chopper 4k failing.

which version did you try? I posted 2. one was just a jar that needed a java -cp chopper4k.ar C to run.
[/quote]
FYI: this really really annoyed me when testing. So far, I’ve only run approx 15-20 of the entries, partly because I couldn’t find JAR’s of the others (c.f previous post and my unforseen need to change laptop at last moment).

But the rest … this is the 21st century, I’m running OS X that doesn’t have a command prompt and when you double click a JAR file there is no way of telling if it failed because there was no manifest, or if it failed because the JAR is broken, or any number of other problems (without hassle).

Obviously, since the rules allowed it, this won’t affect my scores. But it does annoy me intensely that a lot of games want to be started with command lines like:

java -cp a.jar Z

Z? WTF?

I 100% understand why you’ve done this, but doesn’t change the fact that it’s really annoying :(.

Also, the fact that I had to save + copy the files meant I didn’t bother picking up the HTML for each - so those with very very bad choices of keys I’ve given up on playing for now, until I have time to sit down with a net conenction. Unbelievably dumb kb settings in some of them (e.g. one which uses spacebar not for fire, but for “suicide this life”).

And just gave up on the two applets entirely (will have to come back to them later).

Shrug. I think that post-contest a lot of these games will make java look bad unless their authors fix them to be more user-friendly - most people will get bored with lots of games that either don’t work or are incomprehensible.

Maybe, if I manage to do the rest today, or you want only 50% of the entries judged (the ones that ran easily without jumping through hoops, as noted above).

Once the conference starts in earnest, at 8am tomorrow morning, I’ll have practically no free time until saturday morning. So, I’ll be getting through the other entries in dribs and drabs. I might get them all done by friday evening, if not … then I dont have net access again til sunday evening :(.

[quote]I’m running OS X that doesn’t have a command prompt
[/quote]
Huh? I’ve never seen a version of OS X that didn’t have a command prompt. (Terminal). Are you using a restricted user account? Or are you just complaining because Mac users don’t use the command prompt?

I agree with the backwards launching though. I figured everyone would use webstart since the JNLP doesn’t count toward the limit. The only significant restriction that comes to mind if you don’t sign the jar would be no full screen mode, which wouldn’t matter much to me in the judging.

[quote]I’ve never seen a version of OS X that didn’t have a command prompt. (Terminal). Are you using a restricted user account?
[/quote]
It’s possible that someone dragged Terminal.app into the trash can and emptied it. But just in case Blah is looking in the wrong place, Terminal is usually found in:

/Applications/Utilities/Terminal.app

Using Finder, you need to navigate to the main hard disk, then to the Applications folder, then to the Utilities folder, then double click on Terminal. That should bring up tcsh, although bash is installed on many systems.

Um, yes, turns out that is what happened (don’[t know who did it, but I know the main users of this laptop use a kb shortcut to get terminal up - although, being a mac, it’s next to impossible to findout what that is).

thanks for the advice, jb, although yes I did already know how to run terminal like that. That’s a lot of hassle, though, and is something you never do when running apps on OS X - you click things, they run. I have met many OS X users who complain it is impossible to run java in CLI (even java programmers who use OS X) because they simply don’t know about the terminal (presumably?).

The complaint was more about “this is NOT how java is supposed to be deployed, and is a real bitch on some platforms” and “I can’t be bothered; i’ll wait till I can use the web to populate my webstart cache” (um, hope OS x has a jws cache) rather than “I personally can’t work out how to do it”

[quote]The only significant restriction that comes to mind if you don’t sign the jar would be no full screen mode, which wouldn’t matter much to me in the judging.
[/quote]
Hunters4k also requires a java.awt.Robot. Those require some kind of fancy permission.
(that’s why Dungeon4k has a webstart, and Hunters4k doesn’t)

[quote]thanks for the advice, jb,
[/quote]
No problem. :slight_smile:

[quote](um, hope OS x has a jws cache) rather than “I personally can’t work out how to do it”
[/quote]
Yes. Although Webstart Desktop integration is a little “weird”. As in the cool kind of weird. If you tell Webstart to integrate the application with the desktop, it goes ahead and creates a complete .APP folder for the application! You can even redistribute this app so that your customers will always have the latest and greatest version! How cool is that? :wink: