Take Down

Here’s the second prototype I was talking about, its a remake of a game I made for J2ME a little while ago. It’d be great if anyone has time to take a look.

http://www.cokeandcode.com/takedown/takedown.jnlp

Instructions:

Move the magnet back and forth, grab blocks from above and move them around to forms lines of 3+ blocks either horizontally or vertically (More points for horizontal).

Game over once the blocks reach the bottom.

Controls:

Left/Right - move magnet
Down - grab a block from above.
Up - release a single block.
Space - release all the blocks being held

Considering changing the control to mouse atm though I’m not sure how this will work exactly. The game is currently set to be too hard (i.e. the blocks comes down at you way to quick).

If anyone has time to feedback on whether it works, what ya think of the concept, ways to make it more playable, etc… it’d be most appreciated.

Kev

definitely need a way to take out larger block sections, this may mean allowing you to carry more blocks under certain conditions (powerup maybe), or perhaps just that you can take out ‘block arrangements’, like take out any same colored blocks that touch your row (or column) of at least three same colored blocks. Heres an idea: have a meter (adrenaline meter or similarly named), whos contents increases when you get a ‘hit’ (3 or more in a row) and is continually decreasing. The more filled this ‘adrenaline meter’ is, the more blocks you can hold (which in turn will make it easier for you to fill the adrenaline meter).

The ultimate RSI game :slight_smile: (my arm hurts)

When I quit the game (Alt-F4) the java-console remains open so I have to kill the javaw.exe process.

It should also be nice to show the points you got when you lost, because when you are playing you have no time to look at it :slight_smile:

New version:

  • Options screen
  • Mouse/Keyboard control option
  • Bomb blocks (don’t actually work yet, but you can see where its going)
  • Best Score

Thanks for the feedback thus far,

Kev

Another update:

  • Bombs work
  • Gamepad support (lwjgl input!)
  • Best score recorded locally
  • Some game play smoothing

Let me know if you have problems (be interesting to see what happens with input on linux/macos).

Kev

good job! the bomb tiles are a fun idea. You got any other special tiles in the works? Double score tiles… clock tiles that stop the blocks from falling for a short period of time… etc. ;D

The rest of the specials are “grab to activate”, in that once you’ve taken them down to magnet they activate. I’ve got a extra score, move up and move down (move the blocks up/down by one segment) planned. There are also 2 additional colours not visible so it gets more tricky.

I’ve just added a water meter that will go up as you get blocks, once you reach the target level you move to the next level.

Kev

Regarding mouse controls:

-The thing I just said on irc… mmb=auto fire dropping
-You can move “into” the walls. By that I mean… say you are on the very left… and you move your mouse even further, then you need to move the mouse all way back to the right before it starts moving. It’s a pretty common glitch, which can be also seen in a lot of breakouts.
-The mousewheel could be also used. Rolling down=pull and rolling up=release (one). I think that could be pretty interesting and intuitive at the same time. How convenient that release all is allread on rmb. :slight_smile:

One of those default things to do is faster music if the blocks come near. I was actually irritated by the fact that it wasn’t that way… how odd… but I totally assumed that it would happen.

Btw all control types can be active at the same time and a lot of casual games just do that. Less options and the user can try all (available) controls without going back to the menu.

I found “aiming” a bit hard. I think its partly the fault of the pretty bright background. And another thing you can do, is displaying a “ghost” brick on the spot where the current one would drop (as seen in all those better tetris games).

Well, I think it’s a good game idea. With some polish¹ (and a one hour demo) it could be a rather successful shareware game, I believe.

[¹ A theme, a consistent style, pre rendered backdrops with some details (matching that theme), a pre rendered nicely antialiased magnet (it’s only 16 frames), a font which matches that style, eye candy particle effects, color blind support with differently looking blocks (color alone doesn’t cut it)… stuff like that. Basically a week of work for a good artist, more music+sounds and some more code. MoleBoxed it could be sold through the portals. I’m not sure if that investment would pay off… but maybe you’re feeling lucky? :)]

Noted, sorted on next update. (probably late tonight)

That one’s interesting, I actually highlighted the column that your in with a (subtle?) transparency effect. Maybe its too subtle. Adding a ghost brick is pretty simple, I’m happy enough to do that :slight_smile:

It’s heading that way. I’m aiming to get it to a more complete (more features, levels, targets) over this weekend, buy molebox (and use it), then try it out on indie gamer. At that point I’m going to have to look for a competent artist, but that’s the tricky part! :slight_smile:

As to the actual polish, at the moment (and intentionally) everything is in actual 3D, i.e. the magnet is a model. So, I’m not quite sure how antialiased magnets and rendered backdrops work out… that said I’m more than happy to think about it :slight_smile:

Thank for the structured and well thought out feedback!

Kev

Looks cool! However, I get a Java Web Start error 221???

I have Windows XP with Java 1.5 installed.

Urg, does that stop it playing? Web Start 221, any more details?

Its a new Web Start Failure!! Woot! I think traditionally you, as the discoverer, get to name it :slight_smile:

Kev

I got to name it! Wow, cool!

Anyhow, it’s a web start error. The console output looks like:

Java Web Start Error:

221

I checked further. The Webstart Exception Tab shows:
java.lang.ArrayIndexOutOfBoundsException: 221
at net.java.games.input.DirectInputKeyboard.renameKey(DirectInputKeyboard.java:147)
at net.java.games.input.DirectInputKeyboard.renameKeys(Native Method)
at net.java.games.input.DirectInputKeyboard.createKeyboard(DirectInputKeyboard.java:205)
at net.java.games.input.DirectInputEnvironmentPlugin.addDevice(DirectInputEnvironmentPlugin.java:162)
at net.java.games.input.DirectInputEnvironmentPlugin.enumDevices(Native Method)
at net.java.games.input.DirectInputEnvironmentPlugin.enumControllers(DirectInputEnvironmentPlugin.java:133)
at net.java.games.input.DirectInputEnvironmentPlugin.(DirectInputEnvironmentPlugin.java:113)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnvironment.java:121)
at org.lwjgl.input.Controllers.create(Controllers.java:50)
at takedown.TakeDown.preinit(TakeDown.java:19)
at gamelib.Game.init(Game.java:112)
at gamelib.Game.start(Game.java:55)
at takedown.TakeDown.main(TakeDown.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

So, it’s actually a library problem, nothing to do with the VM? So, I don’t get to name it then :frowning:

Ack, its a JInput and by proxy a controller problem. Eeeep. Even more important to move to their next code base now then!

Thanks for the full report.

Kev

PS. You can still name it if you like! :wink:

[quote]That one’s interesting, I actually highlighted the column that your in with a (subtle?) transparency effect. Maybe its too subtle. Adding a ghost brick is pretty simple, I’m happy enough to do that :slight_smile:
[/quote]
Yea, I’ve seen it, but it is really subtle and the background is pretty bright. The bricky background sometimes aligns up with the highlighted column, which makes it almost disappear completely. Well, no need to try other transparency values at this stage… with another background it could be already perfect.

[quote]At that point I’m going to have to look for a competent artist, but that’s the tricky part! :slight_smile:
[/quote]
Chaz is a good one. Well, I couldn’t afford him…

[quote]So, I’m not quite sure how antialiased magnets and rendered backdrops work out… that said I’m more than happy to think about it :slight_smile:
[/quote]
Well, it’s possible to make the perspective and everything pixel perfect. Say… with povray… if you know the fov and all those other numbers you can render those things 100% accurately to match those stuff you already have there. Eg you could render the magnet in all of those 16 positions and you could also (easily) render several versions of the background (flat+several degrees of bumpiness), which could be further touched up or combined in photoshop (or something similar).

Both scenes (I’m talking povray here) would use the same light settings and on the opengl side you would go with either a identical or almost identical light setting. This way it would look at the end as if it’s one piece rendered in real time. :slight_smile:

[quote]Thank for the structured and well thought out feedback!
[/quote]
You’re welcome :slight_smile:

http://www.cokeandcode.com/takedown/takedown.png

Another update, crikey this one is almost getting done:

  • JInput bug wrapped, if it fails on your system you should just not get controller support. It should blow up!
  • Mouse Wheel should work (at least one way)
  • Auto release on middle mouse button (mmb :)) should be fixed
  • Moving into the wall bug should be resolved
  • Music now speeds up as block gets lower, though this can be very annoying so might well take it out.
  • Background has been darkened and the highlight brightened (I tried ghost block but it didn’t come up very nicely imo)
  • Water Measure added - as you grab more blocks the water level on the left moves up, once you reach your target you move to the next screen.
  • B.O.N.U.S. blocks added - match like normal, some blocks have letters. They’ll appear on the right, get a full “BONUS” for a 1000 points. (note: this is very easy at the moment, cause we’re in test mode)
  • Added controller axis support for control (this is pretty experimental).

Feedback appreciated,

Kev

I found a serious bug, while playing.

The screen was for 70% filled with blocks. At some point i coundn’t take or shoot the blocks anymore. Moving the magnet to the sides cleared all blocks that were in the lower half of the screen. They all vanished. Two seconds after that I lost.

Additional info:

  • was playing first level
  • water was nearly at yellow-arrows
  • I had won one “b.o.n.u.s.” already.

Hope this helps.

~~

Update:
It happened again: level nearly complete (water), clearing lower-half of the screen when moving around, this time no ‘restart’ screen. could shoot blocks again, and continue.

Just been reported, were you playing on mouse per chance?

Kev

Yup.

Should be fixed, let me know if you see it again!

Kev