Java 4K Game Development Contest
mrseigen writes "Java Unlimited has been running a contest since Dec 1 to develop a game in Java using only four kilobytes of bytecode and resources. You have until March 1 to finish your entries, and it's worth looking at the entries for last years' contest."
I sense productivity will reach all time highs ...
I looked around the site linked, and while they have 50 games archived from last year, there is no mention I can find of who won.
Anyone know where that is?
John 17:20
Everybody loves screenshots...
Religion for nerds. Stuff that really matters
Having moved to the Mac a few years back, I haven't found many demos which run natively on my machine. I feel like I've been missing out. Demos like the product are great.
Is this a sign the demo scene may just kick off big time for J2SE? I wonder if anyone has thought about J2ME.
With such a rich API available, we're going to see some great (playable!) demos.
because on a machine that has to run a JVM, memory is tight.
at 4k, even if the games aren't good, they'll load quick. I'm off to try!
He does have a point. I have a version of tetris for my TI-86 calculator. I have no idea how to tell how much RAM it uses, but the calculator only has something like 120K. One 4K version of tetris on that page uses almost 40 MB of RAM after a few minutes, and after playing for a while there's occasional, noticeable pauses for garbage collection (yes, I verified it was from garbage collection), which doesn't happen on the calculator.
Java's great for some tasks, it's almost like a cross-platform VB. But the language, or more likely the way the language is most commonly used, isn't optimal for some things. Games happen to be one of those things.
Maybe not
"One 4K version of tetris on that page uses almost 40 MB of RAM after a few minutes, and after playing for a while there's occasional, noticeable pauses for garbage collection (yes, I verified it was from garbage collection), which doesn't happen on the calculator."
It is possible to write bad code in any language. This sounds like a good example.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
everybody hates karma whores! ;-)
Best. Webhost. Ever. Dreamhost.
For the uninitiated and clueless, there is no HOWTO or FAQ on how to run these Java program from Mozilla/Firefox or its mime action file.
Just how does one go about getting JNIP file to execute from a 'single-click' standpoint of view?
When one clicks on the website's 'Run Webstart', an open dialog box indicating that this JNIP file extension is identified as a 'Java Network Launched Application', but offers no executable for this...
What is the correct executable for this?
Anyone know what happened to the 5k? used to live at http://the5k.org/
there is death in the hane
But the language, or more likely the way the language is most commonly used, isn't optimal for some things. Games happen to be one of those things.
/
You can't generalise. There is no reason why Java can't be used for games, and work well. Garbage collection should not be a problem for well-written applications (indeed, Java can be used for real-time work). There is the Quake clone, Jake, and there are commercial games, and even game platform emulators:
http://www.millstone.demon.co.uk/download/javaboy
One 4K version of tetris on that page uses almost 40 MB of RAM after a few minutes
Did you consider that the memory you're seeing may be JVM overhead combined with pre-allocation? In smaller devices (like Cell Phones), the JVM is built into the device. So there's no real overhead for Java. The pre-allocation is also smaller to compensate for the smaller device. Considering that many of these devices have barely 64K available (never mind 120K), I'd say that Java fits just fine.
and after playing for a while there's occasional, noticeable pauses for garbage collection (yes, I verified it was from garbage collection)
I find it interesting that you singled out such an example without looking at many of the more interesting examples like T4XI, Robotron 4096, and Hunters 4K. Also, you may find Tetris 4K to be a much better version than the first item on the list.
Java's great for some tasks, it's almost like a cross-platform VB. But the language, or more likely the way the language is most commonly used, isn't optimal for some things. Games happen to be one of those things.
You don't know what you're talking about.
At one point I could have pointed to the poor performance and massive memory usage of VegaStrike. Does that mean that C/C++ is a "bad" langauge? NO! It means that it was poorly coded and still needed lots of work done. The developers worked on improving their codebase, and low-and-behold, the game got better. Perhaps it wasn't the language after all?
Javascript + Nintendo DSi = DSiCade
Then again, as much as I love Java (I've been involved in the 4k competition for the last two years), there's no way you'd fit anything in 120KB ram.
:-)
Markus, you're very good at desktop gaming and 3D technology. But J2ME often runs in 64K or less. So you're not helping anybody with sweeping statements like this. Let's make sure we're comparing apples to apples (desktop games to desktop gamss) and not apples to cucumbers (desktop games to calculator/cell phone/PDA games). Shall we?
-jbanes
when i tried jake on here it was unplayablly slow now i haven't tried the original C version on here but ut which is of similar vintage is fine.
people can come up with benchmarks both for and against java much as people can come up with TCO studies both for and against linux. but my experiance is that java stuff is either slow, memory hogging or both.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
when i tried jake on here it was unplayablly slow now i haven't tried the original C version on here but ut which is of similar vintage is fine.
Others have commented that it is fine.
but my experiance is that java stuff is either slow, memory hogging or both.
The same can be said about badly written C or C++ programs. The point is that there is nothing now about the Java language itself, or the most common implementations of it, that means that applications are necessarily large or slow.