.:Redemption:.

-= Realm Designs =-

Right then Caffeine addicts, a couple of things for you, firstly our web site’s official URL is http://RealmDesigns.Russki.net. We have the unfortunate delight to be stretched across 3 servers at the moment, I shan’t both explaining why at the moment, suffice to say we shall eventually be on just one, until then the URL may jump around a bit – just ignore it.

Although the web site is a bit more personal orientated at the moment, it should eventually become a haven for most of you, with forum and articles etc. There is also the possibility of hosting work for you, but that, if it happens at all, won’t be until next year when we have to splash out for some new servers.

Hopefully we can get to keep the site clean with:
[]No adverts.
[
]No stupid login.
[*]No E-mail required.

-= Realm Designs =-
Sync Scroll Technical Demo.

.:Redemption:.
http://realmdesigns.russki.net/?command=syncscroll

[]Large sized Applet (640 x 480 pixels).
[
]Arcade quality scrolling (60Hz!).
[]3 layer full screen parallaxing (no cheating).
[
]3 layer star field.
[]100 sprites.
[
]Multithreading, able to load next level in background.
[]Real-time 8 Channel digital audio at 44.1Khz 16bit stereo for music.
[
]Real-time sound effects.
[*]MODEM Happy!!!

-= Realm Designs =-
Real Time High Quality Audio System
http://realmdesigns.russki.net/?command=audio

[]32 bit stereo mixing.
[
]44.1Khz 16bit stereo output.
[]64 bit floating point cubic interpolation.
[
]5 minutes of audio ~600K.
[]Up to 32 stereo channels.
[
]Multithreading, able to load next music in background.
[*]RLM-D Scopes!

Works under all browsers (IE 5, Netscape 4.73, Opera 6.0x, Netscape 6.2), so that the following JVM’s:
[]Microsoft 1.1.4
[
]Symantics 1.1.5
[]Sun 1.3 + 1.4.1
[
]IBM’s 1.3
[*]Sound support for JMF.

Actually it runs under a load of others too (Sun’s 1.1.8, 1.2.1) but are a bit more difficult to find in a browser and are out side my usual test suite of browsers. Unsurprisingly IBM’s is faster than the rest, I use a hot-wired version of Netscape 6.2 with IBM’s 1.3 and it works quite well.

IE & Netscape 4.73 are slower (on my system) due to the heavy amount of work they have to do to get the final image out of the JVM and onto the screen. The audio system is also not as good (although they have no-where near the bad amount of latency that JavaX audio has!!) because it runs in mono with mu-law. Installing JMF (Java Media Framework) will improve the sound quality to 44.1khz Stereo without destroy their respective JVM so all the old Applets will still run fine, but is a ~5Meg download.

Your also going to need around a 1Ghz machine or above, unfortunately there is a lot of poor machines out there so if you’ve got either slow ram or a bad chipset (these have got nothing to do with the CPU) then you are going to have difficulty.

It will run on less but then you have to start fiddling with around with different combinations of JVM’s and it will save me having to explain why, but for an example:

Which is faster?
[]A PIII 700Mhz using an Intel BX chipset with 100Mhz fsb & PC 100 CAS 2 ram.
[
]A PIII 1000Mhz using Via Apollo Pro with 133Mhz fsb + PC 133 CAS 2 ram.

Oddly they are almost exactly the same……

I have been unable to test on Mac (unlikely to either), but from previous experience it probably wont as there are so many version of incomplete JVM’s on OS 9. OS X you might get lucky but I can’t say how fast these will be.

Linux also goes untested due being out of hard drives at the moment, but no doubt you’ll need a faster machine if it does work.

Subtle hint: Try using a 16bit-colour modes as these are typically faster than 32bit colour (other than 1.4.1, which is mysteriously slower in 16bit colour).

Oh yes, some of the new hotspot compilers (IBM’s 1.3 & Sun’s 1.4.1) take a while to settle down and oddly this happens in game too so your first go can sometimes be a bit erratic with these JVM’s.

Best set up would be: Opera 6.0x in 640x480 16bit colour at 60Hz, click on the title bar of the applet then press F11 for full screen action!!


Regards,
Woz.

P.S.
Sorry for the big post!

P.P.S.
No Hacking please.

WOW - so many colors…

From what I could run on my sloooow computer - this is very impressive - though as Herkules said - many colors… quite hard to read the font - especially the player!

[quote]From what I could run on my sloooow computer - this is very impressive - though as Herkules said - many colors… quite hard to read the font - especially the player!
[/quote]
Matzon,

There are a couple of things you can try to speed Redemption up.

From it’s default settings go to the options screen and click on “Display FPS” this will give you the number of frames draw each second in the top left corner.

Still in the options screen turn “Vsync” to “No” & and turn “CPU HOG” to Yes.

This could/should speed it up a bit.

To further get a speed improvement you can turn off the 2nd and 3rd layers of parallaxing, as this is just cosmetic it wont change the game play.

And also turn off those wonderful (cough, cough) sound effects for a few more fps. Truth is I had a load of sfx to put in and was fiddling around with Andy’s music so much I forgot too!

I have quite happily managed to get Redemption running at ~50-60 frames per second on a PIII 500, but I’m not sure if that means everyone else will hence the higher machine spec.

Usually I’m pushing over 100fps with IBM’s JVM and 140fps in low detail (press F2 during Game).

As to the font in the Audio Player, originally it was meant for VGA low rez mode, although I have to say your not the first to grumble about it - but it is crystal clear on mine.

Part of the trouble is trying to get a font to work on all background, bearing in mind that Alpha Blending/transparency is used all over the place.

Anyway, glad you like it.


Woz.

I just tried turing all settings to minimum.
I am getting fps betwen 10 and 50 - ingame ~ 40 and in the menu (or when dying) arounf 20.

This is on a Celeron 366 @ 550 with 256 MB ram - so no speed demon. Still it is very impressive!

Will you be posting some sourcecode or tutorials on getting this much performance out of the jvm ?

40FPS thats not bad, so are you running you celeron at 100Mhz FSB?? (Bet your using a BX, magic!)

The reason for this is of course because most of my data is treated as media streams and as such more limited by the memory bandwidth (combination of the Latency of the ram and it’s clock rate [Mhz] ) than that the celeron has little/no level 2 cache.

Media streams in fact have a habit of completely destroying the contents of a cache anyway and it is often better to turn caches off during these operations (certainly level 2 caches). This is exactly what those new fangled instruction on the latest/greatest P4 do (Streaming SIMD Extensions 2 or SSE2, SIMD mean Single Instructino Multiple Data).

For those who would like to know, imagine a movie entirely in memory, watching from the beginning to end each frame is only going to presented once. Hence no need to actually store it in cache as it is never going to be referenced again, but unfortunatly each frame is several times larger than the size of the cache that it completely destorys the contents of it.

Of course this is a much simplified view, and does not effect the code cache and probably wont effect the level 1 data cache either as it’s considerably smarter than the level 2 cache.

This is complicated/slowed in java by the array bounds checker, which no doubt likes to read each memory location several times…

Also that most PC’s are getting their new found speed from the specialist instructions such as MMX SSE2 3DNow etc, which of course Java does not use.

The disappointment is that if I had written Redemption in c/assembler, or just about any other language then it would most likely run at 60fps and beyond on your machine.

Yes, the intention is to write some articles, but as you may have noticed we’ve only just got the web site going. So after x-mas perhaps.


Woz.