Critters4k

UlfJack proudly presents: Critters4k

Critters are attacking your desktop! Set up your tower defense and let them come. 100 levels of mayhem!

Input:

  • 1, 2, 3, or 4 to select a tower
  • space advances to the next level
  • backspace restarts the game
  • left button to build or upgrade a tower
  • right button to sell it

http://ulf.ofahrt.de/critters4k/Critters4k.jnlp

I didn’t expect to submit a game this year due to time constraints, but I’ve found the time after all (also thanks to the deadline extension). Feedback is very welcome. (Don’t complain that it is too difficult. I’ve personally finished level 100. :slight_smile:

it is kina glitchy. i couldnt even get to the first level.

amazing!
lvl 73, score: 32900

will have another go with more boosters

edit: lvl 77, very well balanced!

h3ckboy: I’m sorry to hear that. Could you explain in a little more detail?

My girlfriend complained about the performance on her machine, which was apparently really bad for no discernable reason (she’s got an Intel Core Duo with sufficient performance and the virtually identical software configuration as me). And she said that today’s version was much better. I could try to use Thread.sleep instead of yield, maybe that would help?

Addictive!

It runs very well on my machine, except for the rare occasion when the game would freeze for about 2 seconds and then continue on.

Yay tower defense!

Great job fitting all this into 4k. :slight_smile:

Some sort of key to indicate what the different unit colours mean would help me, or did I just miss it?

I found it extremely hard (and I play a lot of tower defence) but it’s very cool too. Glad you included the wave bar at the bottom, tower defence without doesn’t feel right.

Visually could do with some blood splats, or explosions or something.

Kev

my mouse moves SOO slow. and pressing draggint eh boxes… also the guys just never came.

kev: In the game or in the description? The blue guys are normal, the orange are fast, the black are slow, but strong, and the yellow ones fly. Something like this?

h3ckboy: You have to press space to start the first wave. I should have been more clear in the description about that…

Yeah, thats the sort of thing. I thought the black ones were some sort of ground attack unit only, didn’t seem to be able to touch them with a standard tower.

Kev

On start up:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at Critters4k.paint(Unknown Source)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

I did press space bar. it was on wave one just guys never came. maybe I didnt wait long enough.

h3ckboy: They should come in immediately when you press enter. Odd. I’ve changed the Thread.yield to a Thread.sleep in the jar below. Could you be so kind and try that out?

zeroone: Could you try it again with a jar that contains debugging info?

I’ve got one here: http://users.conquer-space.net/~ulfjack/Critters4k.jnlp

I am on a different computer and it is working now. nice game btw. it may have been jsut a glitch during initialization. I am gunna ty it again in the other computer.

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at Critters4k.paint(Critters4k.java:290)
	at sun.awt.RepaintArea.paintComponent(Unknown Source)
	at sun.awt.RepaintArea.paint(Unknown Source)
	at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

zeroone: Apparently, start() is not called before paint(), so the offscreen buffer is not initialized. I’ve eliminated the start method and now check whether the offscreen buffer is null, and do the initialization inside paint. I’ve uploaded the new jar.

I’ve also seen glitches where webstart does not initialize the applet window to the correct size (it’s way too small, looks like some default params). Then I reload and it works. Any ideas?

Grr. 87, then I got a phone call :frowning: Great game, but it desperately needs a pause function…

  1. Yay! I did it! 8)

no juggle, 5 leaks, (lots of sells…)
You should make the sell factor a little bit smaller than 1, like 0.95 or so.

Does not work here. I suspect because my work computer doesn’t paint the way you expect. If I continuously switch the window behind and back to front it goes a step at a time.

Java 1.6.0_06
Windows XP
HP I think 2GHz
On board Intel Extreme 2 graphics card

I really don’t understand how to play this game. Can you provide better instructions?