pouët.net

demos with java ?!

category: general [glöplog]
i find such demos utterly boring most of the time too :D
but you can be alternative without having to recode the wheel aswell. even though most wheels around always seem somewhat crooked at this point...
but like i said, if you enjoy a platform knock yourself out optimizing code for it. hope you can pull out impressive stuff.

maybe im too traumatized by univs shitty java assignments to actually look at it as a worth to develop in platform.

added on the 2002-10-05 16:17:24 by psenough psenough
I see java's advantages as a language to be:
modular
easy, and easy to learn
class loading system
security model

None of those qualities makes it particularly suited
to do demos. But one thing i would consider using it
for, is as a "plugin" or "scripting" language running on
top of a low-level core. Would give possibilities for
non-lowlevel heads to participate in a production.

And it's not a big agenda in the scene atm.


added on the 2002-10-05 17:21:46 by _-_-__ _-_-__
Yea, some companies actually use that strategy...
I was once talking to a guy from a game-company that used C/C++ code for the graphics core, and Java code for the AI and other 'highlevel' stuff.
This way the designers could implement their own ideas, with little or no programming-experience.

As for 'particularly suited'... Well, I don't think that ever stopped anyone :)
Like those demos on mobile phones... talk about not 'particularly suited' :)

And yea, it's a shame that Java pretty much died out in the scene...
Java is what got me interested in the scene again, in 1998 or so...
I was bored with all the lousy PC productions at that time, and nothing much was happening on Amiga anymore... I just lost interest in the scene (and coding) altogether for a few years.
Then I saw some Java applets with demo effects... And I started to investigate, and I discovered the Komplex demos...
I was amazed, this was fresh, cool new stuff :)
So I started coding some things again myself.

But it didn't last that long, after less than 2 years, Java was pretty much gone again :(
I'm still coding though :)
added on the 2002-10-05 20:01:51 by Scali Scali
it's sad that java has still this slowly image. allright, it's not as fast as optimized c++/assembler/native stuff, but since the JIT respectivly hotspot enginge are integrated (since J2SE 1.3.1 for client engine afaik) i can feel a reel boost on those java programms.
unfortunatly there aren't enough java demos out there to proof this side of java, and i'm just a lousy java application developer.
added on the 2002-10-05 21:42:50 by tentacle tentacle
Actually Java is FASTER than C in some cases, because C is compiled in build-time and Java VM's compile at run-time. Run-time compilers know how you are using your code. Java also has faster memory allocation and better recursion & inlining than C.

If you don't believe me, you can read this article:
http://www.aceshardware.com/Spades/read.php?article_id=153

The article compares C (MSVC & GCC) and Java (IBM & Sun). C was faster in matrix operations, but Java was faster in fibonacci numbers and fast fourier transform (FFT). Java was actually almost TWICE as fast as C in FFT. The article also includes the source codes, so you can compare the source code and compile them yourself if you are interested.
added on the 2002-10-05 22:22:13 by aikarele aikarele
java is a shitty platform for demos. Proove me wrong with productions, not words. Only Complex has done stuff that in my opinion has quality.

Aikarele, if those benchmarks are true (which I seriously doubt, or I would like to see the source they user for the C versions), why are ALL demos slow?

Java is limited per se against C due to the lack of value clases, no matter what you say, doing hw 3d, sound, everything is a pain, all for the sake of .05%non windows target of demoviewers. I just don't see the point.
added on the 2002-10-05 23:21:59 by mac mac
Mac & aikarele, dynamic compilation may very well be the king for throughput, but it doesn't help much when
your success criteria is "realtime." After all, the enjoyment is not so much how many polygons you can churn out in 20minutes, but that your framerate is always above the acceptable limits.

+ the standard java space still doesn't have any incentive to improve the realtime multimedia aspect of the api.
The money is in the server-side code. (until things like j2me proove they can help develop things like games, perhaps?)

so, hmm, the conclusion would be to go the way komplex went, that is, make native demos with a java "logic" core.

added on the 2002-10-05 23:37:49 by _-_-__ _-_-__
j2me si teh suxxorz for demos.
it might be good for games like pong, but it's very inconvinient to create a demo without direct access to the framebuffer... (with the standard edition i mean. vendor specific extensions fuck up the "platform independence")
but prove me wrong...
added on the 2002-10-06 00:22:54 by FooLman FooLman
j2me is definitely not good enough yet
added on the 2002-10-06 00:25:28 by _-_-__ _-_-__
Me and a friend coded a JNI DLL for our gfx applet system (AnimatedApplet) once...
It did nothing except set up a fullscreen DirectDraw surface, and provide a function that the applet could call, which took an int[]-array from the applet, and copied (with colourdepth conversion if necessary) it to the DirectDraw surface.
It sped up Java tremendously.
I later did the same, but with a DIB, which was blitted onto the Java window, effectively doing the same as the regular Java code would. Still was much faster.
So I guess the bottleneck is indeed in the 'framebuffer' access, it seems that the (native) code in the Java/browser libs for putting stuff on screen is quite a bottleneck :(
Or it was anyway, this was quite some time ago, with Java 1.1, around 1999 I think.

But still, you can get quite decent framerates with reasonably large windows (eg 400x300) on a modern PC now, still better than what most software-demos do on PC (why is nearly everyone stuck in 320x200?) :)

Maybe there should be a sort of 'SDL' for Java... Fast framebuffer access, which is implemented platform-dependently, but available for all major platforms. Could be doable with JNI. But who wants to do it, and why? :) And will it be accepted in compos? :)
added on the 2002-10-06 01:52:56 by Scali Scali
Some reasons why i would never never use Java in a demoscene production:

a) Not being able to fuck up the memory manually, meaning the garbagecollector could run at some point of the demo where it really shouldnt, meaning it will have replay fps for a while.. jummy!

b) I code demos(or well, intros) for fun, i get enough of dirty OOP at work (OOP is nice sure, at some levels, but it takes alot of time to get OOP stuff to acctually be decent in the long run, IMO) so for me is Java NO fun!

c) Not all JavaVMs are compatible with all java versions, atleast thats what the practice says, in theory, ofcourse they all work.. sure.. but try kick up some Java demos on a Sparch and youll see (yes, ive done that.. just for fun, but anyways :-)

d) Without making non-JavaVM code its impossible to access any decent stuff for sound or 3daccel

e) Seeing the Java icon and thinking "Java" makes me puke

f) Coding a Java demo would make me supporting SUNs ego trip , i much more prefer Microsofts: Atleast theyre honest, they WANT to takeover the world kudos to them for that!

g) If i wanna code for a VirtualPlatform i choose .NET both because of F) and because it isnt locked to some fucking silly language like Java

h) Just the fact gaffers codes java...

i) ..and likes it ;-)

j) SUN's own JavaVM is FUCKING slow, and they clearly state by not putting effort in optimizing it that they dont even try to compete with .NET under Windows platform at all, and this platform is the most used platform today

k) Preprocessors are sweet :-)

l) Templates are very sweet to!

m) Pointers are jummy!

n) Separating inhertiance from an abstract class and a static class on codelevel is fucking gay!

o) Support for variablenames/classnames with entire unicode map must be the most stupid idea ever, is it ONLY the bytenary (i couldnt decide if i should say byte-compiled file or binary file so i took a mix) that should be portable?? i mean, not all platforms even have support for unicode, and even more important : some signs in unicode is fucking sick.. ;-)

p) P as in pr0n.. All pr0nviewers made in Java is deadlyslow! just have a look at all those Sun tools written in java.. GOOOSCH! pain in the ass to use!

q) Bloat! Bloat! Bloat! Have a look at Java3D and cry for yourself ;-)

r) Radio killed the Videostar, .NET killed the Java dork!

s) Stefan doesnt use Java

t) The fact i still havent met one single Java programmer being pleased by using java for his current tasks should speak for itself, those who say Java is nice is mostly people who want a silly discussions about platform independency or similair stuff, PLEASE NOTE: this people also has never written a platformindependant (or multios) application in their whole life..

u) With a nice core in C++ (robust classes for everything standard) its very easy to obtain quite easy to port code for all the operatingsystems that demosceners with modern computers can run nowadays anyways, like.. Who the hell runs a Java demo on an Amiga anyways?

v) To write platform independant code you cant use anything static, in Java you can use plenty of static stuff that cant be used on all VMs for sure!

w) And as you cant use anything static, that means you cannot build a core set of functions (read: StandardLibrary) as you never know if they will exist on your targetmachine, meaning having a VirtualMachine that should support everything is a complete insane idea, building in some kindof CapsViewer for the VM in Java could be a good idea

x) The "Fullscreen" thingy for software stuff with JavaVM latest bugs on all fucking machines, it always works differently

y) A demo without fullscreen is like , seriously i cant come up with anything as ugly as that, not even the finns activitys in the sauna or bushes can be compared to this

z) The only decent Java demo ive ever seen is yava2000 and it all was ported from C++ and ran in 10times higher FPS on an old AMDK6 300MHz than with a 1GHz P3 ..

å) Yava2000 still isnt a good demo ;-)

ä) Äcctually This letters are just here because this sentence could be a classname in Java if you remove all spaces and the dot behind this.

ö) öhh, i should get some sleep, i have a busy C# day tomorrow, luckily i wont have to use Java, so i can atleast sleep well!

/stefan
added on the 2002-10-06 02:07:46 by Hatikvah Hatikvah
bugfix: about z) the P3 ran the Java version, and the 300Mhz amd ran the C++ version

sorry, please upgrade your VMs to the latest ABCDEFGHJavaSux !
added on the 2002-10-06 02:18:19 by Hatikvah Hatikvah
the only things people ever do with portable java (read: software rendered) are 'oldskool' effects, where's the innovation in that?

this also bothers me with all non-accelerated platforms in general at the moment. someone codes copper-bars for the vic20 and he's cool. whoop.
added on the 2002-10-06 02:24:14 by sagacity sagacity
My understanding is that Java was never initially designed with multi-media in mind. That was added in afterwards. (Such as sound and 3D.) This sort of after-thought probably limits it as a demo platform in some respects, but of course anything is possible!
Mac, as I said in my previous post, the source codes (bot C and Java) are available in the article. And I didn't say that Java is faster than C, I said Java is faster than C is SOME CASES (like in the FFT example).

Just because Java makes it possible to do good demos does not mean that Java demos are good.

_MOST_ of the Java demos today are crap because:
- They use the old Microsoft VM (I haven't seen ANY Java demos that use J2SE 1.4)
- They use software rendering (not Java 3D)
- They are made by people who couldn't do good demos no matter what language they would use

Komplex showed that Java could be used, too bad that their (pure) Java demos are really old (from 1998), they used the old Java VM and no Java 3D. I would really love to see what they could do with the latest J2SE and Java 3D.

If you want to see what Java 3D can do, you should see some Java 3D games like "Java 3D Grand Prix" from Full Sail. Javagaming.org used to have screen shots and video available, but not anymore. You can still see the screen shots here (compared with Electronic Art's F1 2001):
http://web.archive.org/web/20020124051103/http://www.javagaming.org/
Too bad that the video link does not work from archive.org, the video is pretty nice.
added on the 2002-10-06 09:41:54 by aikarele aikarele
the world must be collapsing but I agree with stefan on
some points: i would never code "for fun" in java..

Java is too restricted to be expressive, too verbose to
be an efficient use of my hobby-time. But it is a good language for businesses. Being reasonably easy
and fail-proof, it enables them to have teams of coders
with widely varying skills, (and varying costs) without ending up with a totally useless mass. It also comes with a whole cultural baggage (code conventions, api styles) that helps mounting new teams without having to cope with the usual power-fights about those unproductive aspects of programmation.

Things that don't really help democoding. or make it easier.
added on the 2002-10-06 11:51:52 by _-_-__ _-_-__
wow! nice to see, that there is so much to say about java and democoding. so it was the right way to start such discussion here.

i my view there are two different sides: the ones who think java is good enough to be used for demos and the others who totally deny it. and i think, these sides can't come to a consensus, at least not yet but who knows?!?

i am convinced that java isn't that bad for demos and with gone we've done our/the first step towards a more java-based demoscene ;) well, people are right, the fx in gone is early 90's style and a bit confusing/weird but - hey - its our first production and we still learn, so don't judge too hard. even oldskool stuff is nice to watch and has its right to exist or?
added on the 2002-10-07 16:52:28 by pinhead pinhead
well, what I'm trying to say that I don't really care about seeing oldskool effects anymore. I mean, people go "hey, look! a 2d tunnel! but this time it's in java/on the GBA/on the c64" and then they expect that that is reason alone to consider it 'cool'.

it's not, ofcourse.
added on the 2002-10-07 17:26:52 by sagacity sagacity
i agree with sagacity, partly.
a 2d tunnel is nice and cood. if it's on a phone, or on the microwave, or on the washmachine. so on something with really shitty-slow hardware and poor graphic capabilities.
but on a bigass pc, i won't go mad looking at a mediocre - or poor - effect, just because it was hard to code, because of the wrongly chosen tools. (like brainfuck, or php, or java...).
If the demo has the overall feeling, then no one cares about the tools. Maybe yes, as people will follow the lead, if you show'em it is possible to create decent shit with those...
added on the 2002-10-07 21:28:42 by FooLman FooLman
http://www.pouet.net/prod.php?which=7379 brutally lame effect made in php :-D
when i get to see a simple uv map in brainfuck i will worship the author, even if its macaw
added on the 2002-10-07 23:22:21 by Hatikvah Hatikvah
imho democoding is not always about being cool and doing effect that no one has seen before. support the scene and its sub-genres is another very important thing. you know, not only talking, just doing...

nowadays there are still c64-releases although the high times of the c64 are over. this prooves that there is a big community and people believe in this community, its kind of a scene-culture with its own rules, values and believes.

this is what the scene is about or?
added on the 2002-10-08 09:32:48 by pinhead pinhead
there are way more releases on c64 today than java. at least, it makes me think. could it be, that java plainly sucks and nobody likes it? (non german) java coders try to say "ich habe ein problem" :-D
added on the 2002-10-09 18:39:27 by delta delta
german java coders try to say: Van egy kis bökkenõ!
added on the 2002-10-09 20:07:11 by FooLman FooLman
... and what does it mean ???
added on the 2002-10-10 16:17:45 by pinhead pinhead

login