Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Toxic Bunny HD  (Read 13390 times)
0 Members and 1 Guest are viewing this topic.
Offline tbulford

Senior Newbie

Medals: 1

« Posted 2012-08-19 08:10:05 »

1997 Dos platform game ported to HD in Java. The game is due for release here in South Africa in October. Blog about the development available on

You can find out more about the game on

We have 11 level of parallax particles or lighting overlays. Full frame draw at under 8ms on entry level machine. Using Java2D not open gl libraries.

Completely hand draw levels no tiling anymore (original was tiled)

Under 300mb footprint when executing. Works with all the controllers and joysticks we can get our hands on.

Garbage collection was our worse enemy without a doubt. Partial lag beats full lag erratically.

To see more about our Indy Company take a look at


If you have any questions about the Java development challenges feel free to email me.

Offline ReBirth
« Reply #1 - Posted 2012-08-19 08:58:48 »

The art is look great. Hope it will be done soon.

Offline tbulford

Senior Newbie

Medals: 1

« Reply #2 - Posted 2012-08-19 10:18:06 »

Thanks us too.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline davedes
« Reply #3 - Posted 2012-08-19 14:40:26 »

Full frame draw at under 8ms on entry level machine
Are you testing/targeting Macs as well? In my experience (testing on Snow Leopard; Macbook Air and iMac), Java2D gets fill-rate limited very easily and doesn't seem to take advantage of hardware (plus, the "opengl" JVM switch has no effect). See this simple benchmark. With all that's going on in your screen shots, I am really curious about how it would perform on my Macs at full resolution.

Art style looks great, though. Excited to see more.

Offline tbulford

Senior Newbie

Medals: 1

« Reply #4 - Posted 2012-08-19 16:06:27 »

Thanks. Yes screen is fairly busy lighting fully dynamic although the particles tend to be the most expense element.

We do test on a MAC at the office entry level MAC book about 1 1/2 old. Not sure about distribution on MAC we considering using Excelsior JET for the distribution to simplify the game distribution.

Essentially the MAC and PC only stutter on GC. We really spending a lot of time making sure we reuse and prevent object creations where we can.

One thing we have discovered in that JAva 2D create a rectangle for each image draw and then uses the rectangle intersect to determine if the image needs to be drawn. So hand culling before calling drawImage can save a lot of rectangles been build. We have about 2000 sprites at 24fps we were building more or less 48k rectangles on the heap per second. Surprisingly these didn't seam to get Eden gc'ed.

One trick for the GC has been to reduce the VM's available ram to force more regular GC's that don't then stall due to size. Most machines no longer see stalls but we been as thorough as we can to get the best possible experience on as many machines.
Offline sproingie

JGO Kernel

Medals: 202

« Reply #5 - Posted 2012-08-19 21:07:54 »

Damn, you got all that performance from java2d?  Do you guys have any developer diaries to share?
Offline BurntPizza

« JGO Bitwise Duke »

Medals: 485
Exp: 7 years

« Reply #6 - Posted 2012-08-19 21:12:57 »

Damn, you got all that performance from java2d?  Do you guys have any developer diaries to share?

Heh that's what I was wondering; I'd probably be over 8ms just drawing the background! (on my crappy laptop anyway)

Nice job though, looks awesome!
Offline StumpyStrust
« Reply #7 - Posted 2012-08-19 21:17:47 »

Please...please...share your techniques on getting j2d to perform this way.

Offline tbulford

Senior Newbie

Medals: 1

« Reply #8 - Posted 2012-08-20 08:40:38 »

Thanks for the interest. Nice to be able to share the results with some people that understand the limitations of the platform.

There is a developer Diary although we had a reboot so most of the early articles are lost. The current is a little less tech then this audience might prefer.

Essentially we run at 1080p 24fps (this is legacy from the original game). We not in the mood to rewrite the whole game balance and logic.

At 1080p we sitting on the following breakdown for performance.

The numbers are in milliseconds.

This is from the following screen shot

We started this project in Java 1.5 at that point we used Java3D to access the acceleration through the Java 2D pipeline. We found that if we connected Java3D to a full screen Java2D context all the Java2D features were in fact accelerated. From Java 1.6 on full acceleration was part of the JRE so we getting pretty good performance.

We have now dropped the 3D game context and work only with Java2D. There are a few tricks. Some of the Alpha composites are slow whilst others fast depending on graphics card. We had to reverse the lighting system since the one composite failed and went to slow mode. Also we use the Translation often for rotations and scaling but never simply scale the corners of an image. We found that often falls back on software.

I think if you test your Java2D right now you will find the performance exceeds your expectations. The thing we doing that's special is more around the streaming of the background layers as the game plays.

Offline ra4king

JGO Kernel

Medals: 508
Projects: 3
Exp: 5 years

I'm the King!

« Reply #9 - Posted 2012-08-20 23:18:16 »

I used to play with Java2D and play tricks with it to be fast.

With the simpleness of freely available libraries like Slick2D and LibGDX that use OpenGL underneath, and the speed of direct OpenGL itself, I am no longer willing to go back to relatively slow platforms like Java2D.

I am happy that you were able to do this go this amazing performance for these amazing graphics, but this is more to everyone else Smiley

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline tbulford

Senior Newbie

Medals: 1

« Reply #10 - Posted 2012-08-21 04:56:03 »

Cant argue there.

Our struggles are more along the lines that we don't have access to sh adders and we cant control some head use that goes on under the hood. An opengl lib is certainly better for that.

On the flip side its been great showing off what Java can do. The only native lib is in jinput for now.
Offline bryanlawsmith

Innocent Bystander

« Reply #11 - Posted 2012-10-17 18:05:48 »

Hey guys  Smiley

I've written an article on how we implemented one of the features for the game.

Here's the link:
Offline tbulford

Senior Newbie

Medals: 1

« Reply #12 - Posted 2012-11-16 14:33:37 »

Toxic Bunny HD is now on steam

You will be able to see game play video there Wink

And of course if you happen to feel generous a quick thumbs up wont do any harm.
Offline princec

« JGO Spiffy Duke »

Medals: 1033
Projects: 3
Exp: 20 years

Eh? Who? What? ... Me?

« Reply #13 - Posted 2012-11-16 14:58:14 »

Hey, well done on your losing your Steam virginity! Fingers crossed, I hope it does well for you.
<edit>Ahh wait a minute, I thought you meant you'd already been accepted.
Better get soliciting those thumbs ups from everyone in here then! At the very least get your homepage pointing right at it.

Cas Smiley

Offline tbulford

Senior Newbie

Medals: 1

« Reply #14 - Posted 2012-11-16 15:11:49 »

Thanks its kinda exciting and fairly terrifying all at the same time Smiley
Offline ReBirth
« Reply #15 - Posted 2012-11-17 02:13:44 »

Steam virginity? so literary you're fukked by Steam? :x

Btw good luck!

Offline masteryoom

JGO Coder

Medals: 5
Projects: 2

If you look closely, you might see it turning...

« Reply #16 - Posted 2012-11-17 02:21:46 »

Where is the link to the game?
Quote from: Riven
Rules for the Showcase board:
Games posted here should be more or less finished: a casual visitor should be able to play your game without any trouble.
Anything goes, as long as it playable and is 'java gaming' related (javascript is not).
Your topic must feature a screenshot (this will be used as a thumbnail in the sidebar)

Offline Joshua Waring
« Reply #17 - Posted 2012-11-17 03:52:00 »

This looks amazing thumbs up on the art work Smiley

The world is big, so learn it in small bytes.
Offline tbulford

Senior Newbie

Medals: 1

« Reply #18 - Posted 2012-11-17 05:01:40 »

Does the showcase rule mentioned by masteryoom indicate that your game should be free to download and play?

I would have expected it to be more about the completeness of the game then the idea that it is free to download and play.

Am I mistaken?
Offline Riven

« JGO Overlord »

Medals: 1340
Projects: 4
Exp: 16 years

Hand over your head.

« Reply #19 - Posted 2012-11-17 05:05:41 »

Playability refers to completeness.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Offline tbulford

Senior Newbie

Medals: 1

« Reply #20 - Posted 2012-11-17 05:08:21 »

Thanks for clearing that up.
Pages: [1]
  ignore  |  Print  

EgonOlsen (73 views)
2018-06-10 19:43:48

EgonOlsen (54 views)
2018-06-10 19:43:44

EgonOlsen (73 views)
2018-06-10 19:43:20

DesertCoockie (253 views)
2018-05-13 18:23:11

nelsongames (154 views)
2018-04-24 18:15:36

nelsongames (154 views)
2018-04-24 18:14:32

ivj94 (895 views)
2018-03-24 14:47:39

ivj94 (156 views)
2018-03-24 14:46:31

ivj94 (808 views)
2018-03-24 14:43:53

Solater (172 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 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‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!