Just testing the waters here.... when the dust from the 4k compo has settled, would anyone be interested in a LWJGL16k competition? (Picked 16 for the hell of it coz you don't have to arse around with non-OO coding and daft short variable/filenames so much)

Because JRE users get all this ImageIO and AWT and media player stuff for free I was thinking we might allow LWJGL+JOrbis+DevIL as our platform...

Seems a bit pointless to put a size restriction on unless its tight enough to enforce the developer to think in a different way. IMHO thats what makes J4K so interesting.

I'd be all in support of a LWJGL games compo (I'd love to enter) but I think you want to limit on time. Announce, 2 months? - entries. You'd have to take it on good faith that the game had only be in development 2 months tho....

Or simply just have an anual best LWJGL game competition. Though I think tribal trouble is gonna win hands down this year

I think such a competition would be fun, I'd enter for sure. As I am coding my 4k entry, I am always thinking how much nicer the game would look using LWJGL I'm very annoyed that 1.5 isn't on Mac yet, as I don't have a Java high resolution timer and no LWJGL either .

These competitions are quite fun problem solving exercises. The only problem about allowing third party library X, is that it eases the restrictions, potentially lessening the challange. For example, one could code a 4kutil library with a bunch of stuff aimed at making creating games in 4k easier (e.g. the SuperPackME loader) and say 4k-but-you-get-Util.class-for-free, but then you really lose the point of it being 4k to begin with, as the download isn't 4096 bytes anymore.

Other competitions could be restricted in different ways, e.g. (pick one):

* you have to create a game out of a set of 20 sprites* you can only have 3,000 lines of code (official java style guide, so no multiple statements on one line)* you can only have 50 "if" statements* you have to create an asteroids clone* you can only use ASCII art to make the game* you can only use line art* etc...

Software Engineering is about solving problems with the tools you have available and within a given set of limitations (time, size, memory etc). Having a some tight restrictions that you wouldn't normally have makes it challenging and fun, and also reduces the barriers to enter. I think this is where the big game contest last year fell flat -- too open ended, way too much effort to enter with a hope of winning (unless you had something already).

Varying these competitions up a bit could be fun, as different tricks apply. E.g., if going from 4k to 64k, you probably don't have to worry about declaring constants or embedding sprites in the code and you can have more than one class.

I wrote Puppytron in 5 hours flat. We had an applet competition at work, and that was my entry. My minions respectively produced a table football game and Asteroids.

I'm thinking that we'd deliberately put a heavy restriction on the APIs used:- NO AWT/ImageIO/Swing/etc. Test it by compiling against the Alien Flux VM - LWJGL- DevIL- JOrbis (as used by Puppytron)In fact I can supply a special JVM to compile against

Now, as for 16kb, I figure that that gives you the freedom to use proper coding style and even include some sound effects in heavily compressed OGG format if you like. It also pretty much limits the time available because there's only so much you can fit in 16kb.

...and one thing that annoys me about the 4k compos is that you actually spend more time making things smaller and illegible than you actually spend just writing a game. Programming games is more fun than optimising bytecode!

Actually, most of the saving I've come across is changing the way I might do something, making me think about different solutions to the same problem... I at least found it quite useful.

I don't think I'd be as interested if we're going to have to cut down to the sepcialised JVM. Then I really would doing things in a different way just to match a different requirement. (Although, admitted, in my case I guess it wouldn't change much).

These competitions are quite fun problem solving exercises. The only problem about allowing third party library X, is that it eases the restrictions, potentially lessening the challange. For example, one could code a 4kutil library with a bunch of stuff aimed at making creating games in 4k easier (e.g. the SuperPackME loader) and say 4k-but-you-get-Util.class-for-free, but then you really lose the point of it being 4k to begin with, as the download isn't 4096 bytes anymore.

Personally, I belive the popularity + success of the 4k comp is either that people realise *everyone else* is restricted and so - with their own limited time, or limited skill (different from person to person - it's "worth a shot without my entry looking completely rubbish".

or...knowing that it's not going to take more than X hours of your life, so you probably have time to finish it even with a busy work life?

So it's not so much the difficulty that matters as the fact there is some constraint on total time + expected quality, even if an easy one.

For instance, I'd generally not bother competing in a comp where I knew i was up against megacorps online or tribal trouble, because I know I simply dont have the resources to make an even half-assed attempt at it (unless I move to a full time job developing java games client-side)

Just testing the waters here.... when the dust from the 4k compo has settled, would anyone be interested in a LWJGL16k competition?

instead of by size (given the fact that LWJGL is bieng used) perhaps limit by some high-level feature, such as "total maximum playtime"? If the whole game takes 5 minutes to play to the end (assuming you finish it) then it keeps the games feasible for time-poor people to enter and sufficiently constrained to keep out mega-impressive games that put everyone else off even taking part.

I think that the reason we have this thread here is that the 4K compo has been quite successful. The reason for that is probably to a great degree that almost anybody in the forums could create something in 4K and not be ashamed about it. We can always blame ___ on the 4K limit And it isn't a huge undertaking to make an entry. That is at least why I already have made (started) 3 entries. And it is really great to see the entries, since there are many great ideas and good focus on gameplay.

On the other hand I feel that it is a bit of a shame to waste so much time on byte hunting and making code worse just to make it in 4K. I have a (more than) full time job, and I don't really think that I will have much use for the knowledge that I get. Trading readability and speed for size is the opposite of what you want to do in 90% of the time.

Going full out and allowing any size could be bad, since most would be too scared to enter since we know that we would get our asses so badly beaten by two or three guys here

I would personally like to see a two week compo, where there would be some limitations like have to use certain images, objects and maybe a general broad theme (have to involve kangaroos or something ) It would have to be fairly limiting! I'd also love to see it as open source. I have not really gotten into any of the game libs yet. If there all of a sudden would be 10 compliments to Kevglass' Space Invader 101, I think that it would help a lot for a lot of ppl. With that limitation we might even drop the mem limit? We would have a fairly levelled playingfield (as long as theme limitation goes well, the really hard part), wouldn't be too much work, because of the time limit, and we would still have an excuses for not everything being perfect, code could actually look pretty OK, and games as well (or at least not horribly uggly as my 4K entries ) Reducing the points for gfx and sfx in favour for gameplay, to make it fair for us untalented ppl. Maybe also points for how well it involvs the required images, sounds and kangaroos?

I think that it would fertilize the ground for more Java game dev and help everybody here.

The reason I'm going to enter the 4k comp is that I feel I have the same chance of winning as everyone else. My entry, like all the others, doesn't rely on fancy graphics or sound, or huge levels full of monsters it concentrates on what everyone wants and thats gameplay.

A 16k LWJGL comp would also be interesting, I agree with previous posts that maybe the memory limit isn't the interesting part of the comp (I know for 4k I'm spending 90% of my time trying to get it into 4k).

A short timeframe, e.g. 1 month and a theme that the games must include (Kangaroos etc) would be more appealing to me.

As an aside, here in Sydney each year we have an independant film festival, any budget/size is allowed, but it has to be 7 mins in length AND contain a signature item so that the producers of the festival know that it was written from the date of the announcement (this year it was 'umbrella', previous years have included 'rock' and 'match').

I don't think you should limit the APIs that can be used, since if you release the game to the public you'll be running on a standard JVM anyway, but I think you can make it a mandatory requirement that you do use LWJGL (obviously!)

Andy.

PS: Do earlier versions of Java produce smaller class files for the same peice of code (I'm not using any 1.5 features)? I'm really looking for ways to shave bytes off my entry.

You know, I was just reading the Readme.txt file I did for Defender 4000, and I realized it sums up my reasons for entering the 4k contest pretty well:

Quote

Many have commented that writing a game within 4K is a futile exercise. "You simply can't pack enough in that little space!" they say. To date, they've been shown to be somewhat correct. Most games that have fit in 4K have either been good games with very simple graphics (e.g. Circles, Rectangles, and Ovals) or technology tests that have shown off neat stuff but have had very poor playability. Well, this game is intended to prove them wrong.

When one considers that early video games often had *less* than 4K of space to work with *and* were often more fun than today's games, one has to wonder where the idea that 4K won't work came from. Have we lost that much of our creativity and "push the envelope" mentality? Does anyone else remember the days when only the best of the best could even hope to code a video game? Not because others were incompetent, but more because you had to know what every byte was doing and how the system used it? There were some serious hardware limitations in those days, and it was up to the software people to make up for it.

Thus the basis for this game. If you're paying attention, you'll notice that just about every graphic is animated. So much so, that one could surmise that I blew most of my 4K budget on graphics. It is unfortunate for the competition that the assumption is outright wrong. Thanks to my patented SuperPack(TM) technology (yes, I just made that up on the spot), I have 19 graphics taking up approximately 1/10 of my 4K budget. And the graphics even compress by 19% when packed in the JAR file! Compare that to all the other games that are trying to pack in 2 or 3 PNG files!

I think 16kb is just right and hopefully it'll stop smartarses from doing all that procedural stuff and concentrate on games instead

Hmm... no wonder you haven't done any 4K games. glRect() adds another method reference, which spells big losses if you need glVertex(). The solution is to use glVertex() and let the compression program turn it into nothing more than a bit or two of data. :-)

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org