Java4K Competition 2015

Oops! I should have said .jar file rather than .class file!
What I meant was no proguard, pack, gz compression etc, so the entire build chain would be;


javac game.java
jar cfM game.jar game.class

That way anyone with vanilla java and the source code could play the game.

I would be up for that. How about say 12 kB of Jar created with vanilla javac and jar as suggested by SimonH?

I foresee disputes about size. Different versions of javac will produce different size class files: older ones include less cruft. (And you’re even including debug information!)

We could solve the issues of different versions of javac by sticking it down to one particular release, i.e. Java 7 update 51 and then provide a download link on the site.

Another idea, in order to resolve the disputes about size that may be encountered, I’m more than happy to organise about 3 or 4 different wings of the compo to accomodate different sizes of JAR file. They would all be judged in the same way and by the same panel maybe to ensure fairness across the board, and they would be like their own categories and therefore you’d get a winner for each category. What do you guys think?

Let me know if you think there’s any weight in that idea :).

I’m just thinking that will help us try out different sizes in order to figure out what sits best within a new format.

I would be interesting to enter the competition.

How about allowing executable jars. Otherwise keep it as it was. They were allowed a couple of years ago. Not as user friendly as applets. But would not be a problem for fellow developers to try the games.

Executable JARs do not really provide any more benefit over the Java4kLauncher it terms of accessibility for non-developers.

It would, however be easier to submit entries in the absence of the java4k.com website.

Apologies for my lack of responding to this thread for a few days.

Okay, so far we have:
Java 4K launcher used as publishing/execution method

Same rules as before in terms of code size, but possibly with a number of different categories, i.e. 8K, 16K, 32K. These will all use a fixed compression tool chain which is to be defined. This will cause more of a code golf effect, however the tool chain can be fairly extensive, it’s just common across all entries.

We will tie the version of Java used to a particular release so that we are all building on a common tool set.

The above rules mean that the 4K competition will be exactly as it was with the addition of a common tool chain, however the different categories mean that we have a chance to check out what can be done at higher limit levels.

Any more suggestions? Or, please let me know about what you think to the suggestions made so far, or the current plan; it’s all mutable :).

I would suggest expanding the byte code compiler rule such that other languages that target the JVM can be used. However that, similarly for Java language, only one defined version can be used.

Note that it is not important to me as I will be using java, only that there has been a couple of entries that used different languages that run on the JVM

Also, if we are using a common tool chain then the only way to enforce this is to have the submissions in source files + resources format. I would suggest that an automated submit, compile, compress, return output script be made available.

Well, having participated in the 2013 contest (B4llBasher), but having moved on to other things for a while, I was seriously disappointed to see that Java4k wasn’t running this year. I was actually looking forward to it since about July and was deliberately not visiting JGO as I felt seeing all the WIP threads come December would have been a real treat to look forward to.

What a shock to finally visit the Java 4K site and see it cancelled!

If you guys do decide to run this year, count me in. I’m also really excited about the 8k and 16k possibilities. It’s small enough to have to work hard, yet large enough to have that work really pay off in a finished product. My only fear is there wouldn’t be enough participation to spread over 4, 8 and 16k categories.

Oh, and:

This approach gets my vote. I found the compression part of the contest the least interesting, as it was more about predicting/knowing what would compress well,rather than writing ingeniously efficient/tiny code.

Sounds good overall :).

So, in order to get started with this I’ll get a domain name sorted and then the website will need to be started. Does anyone have any web experience? I can guess my way around all this but I’ve never really been into the whole web development side of things. Even some tips to get me started would be much appreciated, however if anyone wants to help with this, please let me know :).

I already know all of the constituent parts, e.g. HTML, JSP, Javascript, Java back end for the application server, etc. however there may be an easier way to this and I’m just being a bit dense, I mean how was the Java 4K website constructed? Is it a construction from scratch using an app server framework, or is it based on some templated design somewhere?

Sorry if any of this sounds a little naive however as I say, I’ve never been into the web development side of things, but I’m eager to learn :).

I suggest just something simple for this first time. i.e. use the “MY FILES” of this forum to allow people to submit entries.

Similarly host an automatic tool chain script + tools for use by people to use to perform the compression aspect.

Later on, a new website can be created and then the entries transferred.

I can code a Java nK backend that piggy backs on this forum relatively easily. That includes serverside toolchain and clientside deployment.

ZIP overhead would not be counted towards the nK limit, and the compression of the ZIP entries would not count either. Your entry size would be the sum of the sizes of the embedded binaries. I think that would work.

That sounds awesome Riven :slight_smile: thanks for the offer. Richard is the defacto (most motivated :stuck_out_tongue: ) organiser for this latest incarnation of the comp so I would wait to see if he is agreement first.

As he indicated he has no experience in required field, I assumed it was more like a last ditch effort to keep the Java4K competition alive, than him expressing the desire to take the development upon him for his personal enjoyment.

Oh well, I’ll take a step back - eventhough half of it is already implemented :slight_smile:

I would say fully implement it and then wait for any disapproval, because disapproval is unlikely. :point:

Go for it, Riven.

I am just being diplomatic :slight_smile: I do not want to scare off the latest champion of the 4k cause.

I also support Riven’s offering of help, I just do not want to Richard (who has been very keen and been keeping the debate going) from being slighted. Mainly for selfish reasons, i might add, as I would like to see him take the reigns: allowing him to get skills required to host the 4k comp and thus for him to get personally attached to it and reduce the risk of it fizzling out again :stuck_out_tongue:

Well yes, but if Riven sets it up now, then the concept doesn’t wait for richard.pickering to set everything up, lessening the chance of interest drying up :point: :stuck_out_tongue:

Apologies for the late reply to this thread, entirely caused by new year festivities.

Hi Riven, thanks for the offer, and any assistance is welcome and very much appreciated. Thank you for taking the time out to do this, :).

There appears to have been some differing opinions, and I’d just like to say that I would very much like to organise this competition and work on as much as I can get my hands on, however if you’ve got a good idea, please let us see your ideas and we can all provide feedback as a community, to ensure that the competition is stronger than just a single person :).

Don’t worry everyone, I won’t be slighted or put off by everyone inputting their ideas, and their views onto this new iteration of the competition which we are working out the details of, but I would like to ask that we are given the code for anything worked on for this competition in order to assist everyone in understanding the various systems utilised within the web site and the back end and of course any other utilities as this competition itself is all about spreading knowledge as well as useful coding techniques.

Thank you to everyone who has already commented on this thread, I find it truly heart-warming to see that this idea is taking off in the way that it is and everyone’s advice and views which have been put forth on this thread are very much appreciated.