Teranoid (The best java breakout)

Hi

We’ve uploaded the PRE-BETA version of Teranoid
Check it out…

http://www.fish-bros.it/index.php?file=db_list.php&lang=en&class=games

Very nice. I’d like to see a full screen version of this one.

How do you access the game???

OK! Never mind! ;D

I have an anti pop up window software installed…

Hi

Had anyone problems with game sound?

It seems that on some VM (1.4.0_01) there
are some ticks and noises…

If you have any suggestion please tell us…

I found the game play slow and very choppy on linux. I’m using the 1.4.1 java plugin and tried in both 16 bit and 24 bit color depths. I tried to start up the game in the appletviewer and see what I could figure out but you have some (un)clever server side scripting going on that requires cookies which prevents that.

Beautiful graphics, great variety in blocks, nice physics. The only problem I saw was that the screen would occasionally lock up - GC pauses I presume - but other than that, really really nice.

Tom

The problem with linux is only one: Hardware
acceleration…
The game is heavily based on it. I like linux
very much but this game probably will never run
fine under it.

We’ve changed our library, and next games
(under development) should run fine also under
Linux.

The problem probably with “screen lock up” depends
on the low precision timing under windows…

[quote]The problem with linux is only one: Hardware
acceleration…
The game is heavily based on it. I like linux
very much but this game probably will never run
fine under it.
[/quote]
Since JDK1.4.1 Linux uses hardware accel for VolatileImage.
http://developer.java.sun.com/developer/bugParade/bugs/4498974.html

Are you using VolatileImage?

One poster mentions a decent benchmark time 2x the speed of the windows time using the VolatileDuke demo. The windows tester didn’t state the speed fo this box so it is not a perfect comparison - but perhaps some reasonable extrapolation could be made… I haven’t done much work using VolatileImage other than running the demos - which run blindingly fast. I’ve also played some small games (posted in other forums here) that update the entire 640x480 window each frame and they get 30+fps.

I’m sure you are noticing some sort of problem. However, because it seems possible for graphics operations to work quickly, it would be very interesting to know the exact cause of your problem. If it is simply because you aren’t using VolatileImage that might be very helpful to a lot of other people who want to make their games perform well on all platforms.

Thoughts?

Linux today has NOT (as Sun says) a virtual machine
with the support for hardware acceleration.

At the URL given by you there’s only a discussion
about the lack of H-A under Linux. Sun says that is
difficult to manage VRAM on unix systems and so
they are waiting for an extension of openGL to support
it.

Are you using VolatileImage?
Yes I’m using it.

On the bug parade seems that “somebody” on “some”
computer with “some” distribution of Linux runs
VolatileDuke at a decent speed…
Maybe it is possible, but sure it depends on its hardware
configuration and its own set of driver.
Think also that VolatileDuke is a demo with few draws
per second, on the contrary Teranoid has many draws
per second. This makes the game run not at the full
speed also on Windows computer with old Video hardware.

What are the small games you played?

I have tried Teranoid on Linux Mandrake 9.0 with
the last distribution of BlackDown VM. The game
run sluggish…

I’m sure you are noticing some sort of problem.

The only problem with speed I have noticed is that on my laptop (The problem is not present on my P4 and on my P3) when it runs at 16bit, all the drawings are accelerated, on the contrary running it at 24 or 32bit most of the drawings (4:1) are not accelerated…
I’m trying to fix this.

I would like to make Teranoid run on every computer,
but the problem is that I’m using only pure Java code
(which should run everywhere) that makes (without strange tricks) the game run fine on windows and sluggish on Linux…
Now, where is the problem?
Is it my code? or is Linux VM? ???

At the moment I have renounced to develop on Linux. I hope that will be a speedy VM for Linux in the near future.

Our next games should run fine also on Linux systems but only because they are optimized to use fewer drawings per seconds than Teranoid.

Max Pesce

[quote]Linux today has NOT (as Sun says) a virtual machine
with the support for hardware acceleration.
[/quote]
To quote the reference I gave you:
“Fix for this bug has been recently put back and will appear in beta3.
Fix includes use of Shared Memory extension and shared memory pixmaps.”

When I run the volatile demo I get 83fps on a 1.3GHz Athlon with a GeForce 2. Every frame the demo copies and entire 800x600 image and a smaller (100x100 in my case… approximately) Image sprite to show something moving.

There’s also another Linux performance bug that has been closed/fixed that deals with VolatileImage and hardware accelleration under linux:

http://developer.java.sun.com/developer/bugParade/bugs/4492517.html
(see highlights)

Well, if you are using it I have no idea what else to suggest.

Perhaps it is a few. based on what I stated above, how much more performance would teranoid need?

Well, most of the games posted to this forum :slight_smile:

These are quite good and work perfectly - though not exactly a high framerate the entire window is updated along with several sprites per frame.
http://www.dnainternet.fi/pelit/pelihalli/

Hmm, I stopped using the BlackDown VM years ago - perhaps only the Sun VM has hardware accel support?

Cool. Your game looks amazing.

Remember I only argued that hardware accel is present under Linux because of the Sun bug reports. Do you still think I misunderstood them? Or, despite the bug reports do you still think the Linux hardware accell (if it even is hardware accel) is not working?

Thanks.

I think that Linux has a slower hardware acceleration. So it cannot do as many draws as Windows does.

When I run the volatile demo I get 83fps on a 1.3GHz Athlon with a GeForce 2. Every frame the demo copies and entire 800x600 image and a smaller (100x100 in my case… approximately) Image sprite to show something moving.

Your result seems good, but I run Teranoid under Windows XP on a slow Laptop: Celeron 650Mhz, 192Mb RAM, and a slow and cheap video card (not a GeForce).
I get 75fps (in game)…

On my P4 1.7Ghz, 256Mb, GeForce 4MX, I get 225fps! (in game). The ball moves smoooth…

How much more performance would teranoid need?

Teranoid is a special game case. It’s inner loop isn’t locked to a particular framerate. So if the computer is fast it can reach 180fps (for example), if the computer is slow it runs at 30fps (for example).
This gives the game the possibility to do smooth animations on fast computers.

If I lock the game loop to 50fps, then the ball when
running at full speed will jump too many pixels per frame, making the game unplayable.

So this is the only solution I have found. Other breakouts on the net seem to run at different speeds
on different computers. Teranoid instead should run at the same “apparent” speed on different computers.

The problem with linux probably is caused by a low framerate, which also with this strange game loop, makes the ball jump too pixels per frame.

These are quite good and work perfectly - though not exactly a high framerate the entire window is updated along with several sprites per frame.
http://www.dnainternet.fi/pelit/pelihalli/

Yes they run well also under Windows, but are they 3D?
If it’s a real 3D engine using Java3D then it simple for them to use H-A.
If it is fake 3D (2D graphics) then maybe they run fast because there’s only a fixed background, and no more then few sprites.


Remember I only argued that hardware accel is present under Linux because of the Sun bug reports.

I didn’t forget. :slight_smile:

Do you still think I misunderstood them? Or, despite the bug reports do you still think the Linux hardware accell (if it even is hardware accel) is not working?

I don’t know exactly what to think, I have to try the new projects under Linux and see what is the result.

Thank you for the compliments, and thank you for your feedback.

Max Pesce