Splatballs

Here is a little java game i’m working on. I was trying to make a game that 1 or 2 minutes to play but has large replay value. All you have to do is avoid the other balls on the screen by either shooting them or dodging.

I’m still developing it and any suggestions or comments would be appreciated.
Here is the link:
www.moojoogames.com/dev/splatballs.php

Screenshot:

http://www.moojoogames.com/games/splatballs.png

The “press any key to restart” doesn’t work, it appears to work only with the O key.
I don’t think you should be dead in 1 hit, and maybe it should shoot faster or with bigger bullets. Or better yet, let all the be customised as a difficulty level :slight_smile:
The default swing interface isn’t too pretty, but I assume it’s temporary

Original and fun otherwise.

Very hard… need to allow more simultaneous shots from the player I think.

Cas :slight_smile:

Press any key only works on mapped keys, I’ll fix that up tonight.
Adding more lives seems like a good idea, i’ll mess around with that as well.
You can upgrade rate of fire and bullet size by pressing ‘U’, but since that feature has been overlooked by everyone I think i’ll add a quick start mode so upgrades will be bought automatically.

There are a few different difficulty modes in the challenge menu (most of them harder though)

As for the swing interface, does anyone have any ideas on quick ways to fix this? I don’t really want to create my own GUI system. I had a look into making my own look and feel but i’m not sure if that’s worth the effort, does anyone who has worked with look and feel recomend going down this road? Or does anyone know of a good look and feel for games or some other way to create a nice looking GUI quickly?

Thanks for playing and for the feedback :slight_smile:

Try the Alloy L&F and set the colours appropriately. Or roll-your-own Skinnable L&F but that’ll be a lot of work fiddling with XML and graphics.

Cas :slight_smile:

what about just extending JButton and overriding the paint() method? i’ve never done that so I might be talking nonsense now

That works, too.

Cas :slight_smile:

I ended up just making my own menu system. Now I have complete control over what my buttons look like. I’m working on a way to easily add animations on mouse overs and clicks but that’s taking a bit of thought. Also I can now add buttons inside my game.

I fixed the press any key bug and added a quick start button that automatically buys items for you.

More to come.

Could you consider adding a speed cap to some of the stupid pink guys? Like, say, no faster than a second to travel vertically across the screen? Right now if you don’t shoot them right away it becomes very very difficult and frustrating to shoot them down later (at a certain point, really, I just can’t do it). The only way to avoid this is to travel between the top and bottom of the screen, so that the ratio of space below you to above you changes dramatically. But hovering near the edges only makes things more confusing and again makes it easy to get hit.

Just a consideration? What do you think?

I had everything for that implemented but had forgotten to add the speed check in :stuck_out_tongue:

I fixed that up so erverything has a max speed. The pink ones are still kind of fast but not to the point where you can’t stop them. Also try staying in the centre of the screen, that usually stops them from getting too much speed.

Your digg link caused to submit a duplicate of this: http://digg.com/playable_web_games/Splatballs
(plus shows the wrong count of diggs)

This game is really fun btw! gratz :slight_smile:

Tail lines and a vector from your player in the direction of the mouse cursor would go a long way --> check fitts law, your mind is working much faster than the game allows you to react. One of the arts of game design is finding the right balance between challenging and impossible.

EDIT: Or instead of a trail line, have a fading dot from where each enemy is created since you can still aim for that spot. There are other things you can do to make it more fun but keeping a fading dot could do a lot. Also you managed to spawn an enemy directly in front of where I was and I didn’t even see it - maybe some sort of glow effect around their spawn points.

The shop provides for a cheat opportunity, simply enter the shop and you have just paused the game!

EDIT: Oh it has trails, but the autofire is fairly weak in that it can provide a disadvantage. But this game is terribly addictive

EDIT: Ok, the trails need to clear themselves quicker, a fade out will do fine. Maybe a bomb function which you can do every 10 seconds that kills anything within a 30-50 pixel radius for a period of 100ms.

I moved the page without updating the digg url. Fixed now.

You can press ‘P’ to pause anyway. Pausing was actually one of the biggest problems I first encountered with the game, half the time when you go to the shop as soon as everything starts moving again you die. That’s why I put the autobuy feature in.

I wouldn’t mind doing this but right now I just draw the trails straight onto a BufferedImage and then paint that on the screen.To fade I would have to fade the whole screen. I can’t think of a way to do that quickly.

suggestion:
before you draw your new frame, draw a large black rectangle with 90% transparency. That will darken all trails with 10%. If your graphics are accellerated, that shouldn’t slow things down.

Well I’m going to guess that all of the entries on the first page of the high score table are from people who paused the game, when it pauses you should not be able to see the game field. The problem then comes from buying, well there are two options - allow buying during the play either by the mouse or keyboard. But consider Fitts law plus the balance required for good gaming. Another option is to have the game play in stages where you can buy after the completion of a stage.

And like bahuman said, fading should be fine speed wise, you’d be surprised!

Play Tetris and see how long your games last, that is considered to be a short game - but tends to last for 5-10 minutes.

Most of the people on the front page are people I work with, they were all done using the autobuyer and only paused at the start to set the autobuy up. As soon as I added that feature to the game the top scores pretty much doubled because people weren’t having to stop and start.

I put this in, it took up a fair bit of speed so I only do it every 15 frames. Even then it still takes up a bit of time, I don’t think java accelerates alpha drawing. It’s off by default so if you want to use it you’ll have to turn it on in the options. Let me know how it runs on your machine.