See the rules here: http://javaunlimited.net/contests/java4k.php
Perhaps you should add the submission link here as well, just to be on the safe side. The submission process and rules were so confusing last year that I reckon it’s worth it
From what I understand from those rules, applets are allowed? Sweet! =D
I’ve changed my mind about not joining the competition. I just can’t stay away. ;D
Great news. I really liked Hunters4k and Dungeon4k last year and look forward to shouting “how the **** did he do that” again this year
Yay, Markus is back in!
The good news: Markus is back in. Better games, thus twice the fun!
The bad news: There goes the chance for the rest of us
Quick question about the rules;
Does the application have to quit gracefully under “normal” conditions, or is it ok to kill it by, say, throwing an uncaught exception?
first off, yes, applets are allowed (the submit page hints at them even).
second, I don’t see a problem with throwing the exception… what’s the worst that could happen?
The worst that could happen is that the game doesn’t quit. Keep in mind that the Java APIs create threads all over creation, some of which will stop the application from exiting.
Besides, creating and throwing an exception won’t save much at all over “System.exit(0)”. Depending on the design of your game, System.exit() may actually compress better.
Ah, but you can let IOExceptions from reading data files just fall out of main this way. They shouldn’t happen if the data file is present so you don’t really want to catch them anyway
Its definitely cheaper than try, catch, exception, exit.
Or accidentally generate a NullPointerException… or an ArrayIndexOutOfBoundsException or a… or a…
pah, you’re going to write a 4k game so complicated that you haven’t already tested all paths of execution by this point. And hell, even if you did, at least you’d get the stack trace
True. As I remember, I actually introduced that little trick of adding “throws Exception” to the main method. (Primarily because I didn’t like Abuse’s method of hacking the initializer thread to run his game.) Getting an unexpected exception seems unlikely if you’ve properly tested your code. I think what Markus was getting at was exiting the game using a trick like this:
“String blah = null; blah.toString();”
That just smacks as bad programming practice to me. He may save himself all of 10 bytes, but I’m going to be staying away from that one with a ten foot pole.
God I hope not! Thats so disgusting it didn’ t even occur to me…
*Kev goes to change his code
Yeah, because writing a game in 4k is all about “good programming”. :
Yeah, but if your coding an applet, does it matter?
I’ve said it before and I’ll say it again: The entire point of contests like this is not to break the rules. The point of contests like this is to show your mastery by knowing when to break the rules. IMHO, using creative algorithms, sophisticated toolkits, and space saving programming practices of ways of breaking the rules in a “good” way. I draw the line at anything that smells like a hack, as it’s bound to get you in trouble. (As oNyx learned the hard way with the sound bank.)
Writing a game in 4k is a hack. There’s no way around that.
Nothing about this contest is about good programming in any way, it’s about hacking.
Why do you guys turn this into such a big deal? Let everyone do as they want, and then we’ll see what works. It’s 4k, the rules should obviously allow this kind of hack, although not everyone may like it. I myself use System.exit(0)
Who’s making it into a big deal? We’re just having an intelligent dicussion about the best way to create 4K games.
There’s nothing in the rules that says you can’t pull every hack you can possibly come up with. It’s just that if the judges have difficulty running your entry, it’ll seriously hurt your score.