DROID ASSAULT alpha

Help! Somehow all the droids in Omni-corp’s droid factory warehouses have been activated and they have run amok! You must send in a virus drone to take over the droids and either capture or destroy all the activated droids before anyone can go back to work.

Click here to launch Droid Assault for Windows, Mac OS X, or Linux.

Controls: WASD or cursor keys to move your droid. Use the mouse to aim. The left button shoots (either hold down or multi tap depending on your weaponry), and holding the right mouse button (Mac OS: hold space bar) enables transfer mode.

Before you can shoot you must first take over a droid by transferring to it. This takes a second or two - hold the mouse over your target with the right mouse button held down, and maintain a direct line of sight.

The cost of transferring to a droid is shown above it when transfer mode is activated and will range from 1 to 9 points. The number of transfer points you have is shown in the bottom right. Earn more points by scoring - you gain 1 transfer point for every 1000 points scored. You can have 10 transfer points maximum, so use them up!

The droid you leave when you transfer to another droid remains on your side. Don’t shoot them! You can transfer back to them at any point for free. If you are yourself destroyed, you will immediately switch control to one of your captured droids, until your last droid is destroyed and the game is over. Your last droid has an automatic emergency shield which lasts 3 seconds when it reaches 0 hit points.

Gradually the strain of being under direct control wears out the droid you are currently using, and it will eventually end up fragile and will be destroyed easily by enemy droids.

This is ALPHA code!

  • The music is, sadly, not ours to redistribute, and is sampled from Tectonic Plates. Buy it, it’s great. But keep quiet about us borrowing it for now :wink:
  • The graphics on the blurb screen and later droids are not finished yet and need fixing and tidying. Don’t bother mentioning this to us, because we know!
  • There are another 23 levels still to design, a bunch more tiles, and a whole load more sound effects to go in
  • The bosses are temporary placeholders for real ones but largely will be the same kind of deal
  • I periodically update the Webstart link above with fresh code and one day it’ll vanish and that means we’re in beta testing, which you can contact me about when it happens but not before please!

What we’d like to hear from you about

  • If it doesn’t run or crashes, your detailed system specs
  • Whether you think it’s fun and addictive, hard, frustrating, etc.
  • Any oddities or bugs
  • Whether the game starts too hard, or progresses too slowly, or gets too difficult too soon, or gets too boring
  • Any cool suggestions

Enjoy yourselves and have a blast! See you on the hiscores table. (NO SWEARING PLEASE - you will be banned)

Cas :slight_smile:

Runs fine and is great fun!

It is a cool twist with the transfers and adds a nice strategic element to a shooter. I think that works really well. Also cool to have friendlies that you have to try to avoid shooting. Has a nice retro puppygames look, and sound is really good, and gameplay is just great. I just had a quick try at lunchbreak, so can’t say much more. I would probably have liked to zoom out a bit to see a larger area, but that might possibly affect the atmosphere.

Thanks for letting us have a look at it!

WinXP, Java6

Sound is borked for me on linux, happily the fix is a simple drop-in replacement of libopenal.so, found in this thread.

Otherwise very nice!

It works fine. It looks like Ultratron, doesn’t it? The GUI is intuitive and the sound effects convincing. I’m going to add this game on www.randomthoughts.net now (as I did for the others), please add a screenshot if you have some time.

N.B: there is only a minor problem. When I use your games, some of my icons are displayed with grey lines, it is always the same problem, I don’t know where it comes from. It does not come from LWJGL on my view as LWJGL version of Jake 2 works on my PC. Sometimes, all my desktop is covered by strange shapes. I think I sent you an email with a screen capture some months ago.

Yeah, I think we determined that it was just flakey drivers that do it. We have a lot of graphics going up and down the pipe there - I expect that the drivers you have are just not entirely robust in their handling of VRAM usage and stuff on your screen that is supposed to ask for its VRAM back just “doesn’t”, and ends up with bits and bobs of graphics from our games.

Cas :slight_smile:

The problem is that it only happens with your games and one of the game written by erikd (Cosmic Trip). When I launched TUER just after your game, the desktop becomes “normal”, no more straight lines, etc… I’m very prudent, the only likeness is the use of LWJGL and the fact it happens only when you change my resolution. OpenGL games written in other languages (C, C++) don’t do that, I think about “Urban Terror”, “Cube 2”, “Open Arena”. That’s why I don’t exclude the fact it might come from the driver but I’m not absolutely sure of it.

I would like to test a Java game that doesn’t use LWJGL but that modifies the screen resolution and that is in full screen mode in order to check if it comes from the way of handling the full screen mode. Do you have any example?

'Fraid i don’t have any examples to hand but the long and the short of it is, there is absolutely nothing that LWJGL or any other application should be able to do to corrupt anything else on your screen… you should probably send off a bug report to the driver developers and show them the games that cause it to give them a hand debugging. I expect it’d be pretty easy for them to track down.

Cas :slight_smile:

I will test with JOGL version of Jake 2 before sending a bug report.

I almost forgot:


/**
 * Untwists the knickers of whiny linux users
 * 
 * @param name
 * @return A general state of underwear accord, vis-a-vis panty
 *         bunching in tie-die wearing hemp-smokers.
 */
public static String getCacheDirName( String name )
{
	String osName = System.getProperty( "os.name" ).toLowerCase();

	if( osName.contains( "linux" ) )
	{
		name = "." + name;
	}

	return name;
}

please

Oh all right :slight_smile: I’ll make that adjustment to my other games too.

Cas :slight_smile:

Ok, as if I wasn;t already, I am now heading the “Cas iz teh GOdzz” fan club. Damn, Cas, your stuff is so freaking addictive…and, and the bass is CRAZY on my Klipsch speakers!

Runs and plays fine on Vista Ultimate/Java6/Core2 Quad@3Ghz/4GB/HD2900XT. An option to adjust the mouse speed would be fine. I’ll try my luck on the EEEPC later. To me, this is your best game so far. I really like it. But then again, it’s inspired by Paradroid, so how could i dislike it ?.. :wink:

I don’t like your sense of humour!!! What’s wrong with linux users? I hate Microsoft but I do my best to allow my game to work fine under Vista. If you don’t want to write cross-platform games, don’t use Java, use C#/XNA and stop your stupid joke!!!

P.S: when I translate “Untwists the knickers of whiny linux users” into French, I get this: “Détord la culotte de hennissement des utilisateurs de Linux”. I don’t think it is a compliment.

Is Paradroïd one of the game you posted some years ago on happypenguin.org?

http://happypenguin.org/show?Paradroidz

Yes, but i had to withdraw it, because of some legal issues. Or to put it in other words: The company(?) who is still holding the rights to the classic Paradroid didn’t like it. They obviously don’t care about all the other remakes…i never really understood this, but i’ll take it as a compliment… :wink:

BTW: The download is extremely slow… ???

Man, you’re sensitive LOL… :smiley:
I think you just missed it. Look a few posts up and notice Bleb uses Linux too; self referential humour… Got it? Now lighten up and laugh dammit ;D

That’s just too bad… I thought your version was absolutely fantastic!
Can’t you just change the name? :-X

…to get on topic again, Droid Assault is GREAT so far.
But it seems to crash (I think) when I die. Or is that just one of the reasons it’s Alpha? I’ll see if I can dig up a log…

Doesn’t work on EEEPC:


java.lang.UnsatisfiedLinkError: /home/user/.java/deployment/cache/javaws/http/Dwww.puppygames.net/P80/DMdownloads/DMshared/DMdroid/RNlwjgl-linux.jar/liblwjgl.so:
 Can't load IA 32-bit .so on a IA 32-bit platform
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1660)
	at java.lang.Runtime.loadLibrary0(Runtime.java:822)
	at java.lang.System.loadLibrary(System.java:993)
	at org.lwjgl.Sys$1.run(Sys.java:75)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.lwjgl.Sys.doLoadLibrary(Sys.java:68)
	at org.lwjgl.Sys.loadLibrary(Sys.java:84)
	at org.lwjgl.Sys.<clinit>(Sys.java:101)
	at org.lwjgl.opengl.Display.<clinit>(Display.java:111)
	at net.puppygames.applet.Game.init(Game.java:545)
	at net.puppygames.applet.Launcher.main(Launcher.java:64)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1161)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1108)
	at com.sun.javaws.Launcher.continueLaunch(Launcher.java:951)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:515)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)
java.lang.NoClassDefFoundError
	at org.lwjgl.openal.AL.<clinit>(AL.java:59)
	at net.puppygames.applet.Game.exit(Game.java:955)
	at net.puppygames.applet.Launcher.main(Launcher.java:70)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at com.sun.javaws.Launcher.executeApplication(Launcher.java:1161)
	at com.sun.javaws.Launcher.executeMainClass(Launcher.java:1108)
	at com.sun.javaws.Launcher.continueLaunch(Launcher.java:951)
	at com.sun.javaws.Launcher.handleApplicationDesc(Launcher.java:515)
	at com.sun.javaws.Launcher.handleLaunchFile(Launcher.java:218)
	at com.sun.javaws.Launcher.run(Launcher.java:165)
	at java.lang.Thread.run(Thread.java:595)

The name, some of the sounds and a few graphics and maybe the level design,yes. All doable, but i was so annoyed about all this, that i didn’t want to bother with it…