Happy Fun Ball Applet Platform Game

Hello! I’ve been lurking in this forum for a while and since I’ve just completed the beta version of my game I thought I’d share it with you guys:

http://www.lloydslounge.org/happyfunball/

Let me know what you think!

Thanks :slight_smile:

I like it! =D

I think it’s the combination of the music (even though I usually have a problems with webpages that make noise) and the nice physics. =)

This is really cool! Just shows you how something simple can be great…

I assume the up pipe in the very top right hand corner is the way out (eventually) ?

Kev

Thanks for the feedback!
Yeah the you can go through the up pipe in the upper left corner by pressing up when you jump at it.
There’s actually seven levels currently. I was trying to foster a sense of non-linearity between the levels so an exit can appear anywhere.
The level through that pipe is a “sky” type level and if you make it to the top of that level you’ll come to a fairly large “space” level. There’s also a second exit out of the sky level in the lower right hand corner. You’ll have to climb kinda high to jump to it.

Fantastic! A bit tricky at first, as those damn caterpillars kept eating me. The bowling ball is a nice touch - as soon as you see it it’s obvious what it’s going to do… and you’re not disappointed! The wings are cool as well.

Heh, I didn’t realise you could kill the caterpillars until I accidentally fell on one from on high! Also, I’ve managed to get a bowling ball to fall off its platform twice now - is that intentional?

One niggle: on level 1 the exit pipe is hard to get into - not the jumping and pressing up bit, but the fact that when I approach it I keep jumping on top of it…

Nice game!

Thanks!

Yeah the “Evil Black Marble” as I call it knows about platform edges and will stop himself before he falls off, so knocking him off is near to impossible. You can make him charge you and then jump away from the edge at the last second, sometimes his momentum will carry him off the edge and off the bottom of the map giving you 200 points. It doesn’t always work but it’s a fun thing to try. :slight_smile:

I figure I’m going to add some kind of “star power” Mario-type pickup so the HFB can attack them with ease.

I know what you mean about that exit pipe, I do that quite a bit myself. I think I’ll lower that platform so it’s not possible to jump on top of that pipe off the top of the map…

Thanks for the input!

SWEET! Damn that is a bit addictive. keep it going! I smell fullscreen…

-SG

Oh no. That was me. not fullscreen. sorry…

Sweet game :slight_smile: Nice and smooth, but could do with running at more than a postage stamp sized window :stuck_out_tongue:

Levels are pretty challenging, with a nice and crisp feel. The only bug i spotted is that collision between ball and evil black ball seems slightly fruity at times (I managed to float sideways in a perpetual collision ;D ).

Hows the level editor work? Any chance you could give a description of it and how it works / UI design?

The music really rocks!

I found it both Happy and Fun.
Worked swell on OS X 10.2.6. JRE 1.4.1_01

[quote]Hello! I’ve been lurking in this forum for a while and since I’ve just completed the beta version of my game I thought I’d share it with you guys:

http://www.lloydslounge.org/happyfunball/

Let me know what you think!

Thanks :slight_smile:
[/quote]
Does it have to download a lot (music etc)? If so, please could you put it in a JAR? I’m on a dialup connection at the moment, and it just goes blank-grey on me with “Starting Applet…” for several minutes before I got bored waiting.

…or a loading bar would help?

If it DOESN’T have much to download, then I’ve found a bug. It just doesn’t do anything :). Linux 1.4.2.

Thanks for all the great input!

OrangeyTang: I’ll have to try running it in a larger window. It should be easy to change, the window size is static final ints in the LevelManager. That will probably help with the “leap of faith” problem as well! ;D It will affect performance, I’ll just have to play around with it to get the best size/performance ratio.

I’ve noticed that EBM collision bug as well. On collision the EBM reverses the Y velocity of HFB. So if you hit the EBM with a zero Y velocity you’ll just sit there and collide constantly causing weird things like that. Should be an easy fix. :slight_smile:

http://www.lloydslounge.org/happyfunball/editor.jpg

The level editor is done using Swing. There’s a MapPanel class which handles rendering the map and dealing with user input. It owns a Map object, the same object the game uses to hold information about the current map so I didn’t have to have multiple versions of loading code and other things. The MapPanel object is in a tabbed pane, so you can open multiple maps at the same time. This is important when I need to link two maps together. I even set up the loading JFileDialog to allow multiple selections. One neat trick I added is a zoom feature, by pressing alt-plus or minus the map is rendered larger or smaller. Getting the mouse clicks to work in any resolution is a simple matter as well. The panels are supposed to be scrollable but so far I haven’t had any luck getting JScrollPane to understand that the MapPanel is a given size…
When the MapPanel registers a mouse click it asks the tool pane which button has been selected. This is a fancy bit of work because the ToolPanel (I think it’s the name of it) actually keeps a map of button to Class relationships. MapPanel gets a reference to the Class and just calls the newInstance() method on it and tells the Map object to place the new object in the map at the given point. A mouse drag will also do it and a right mouse click will remove the given bit.
There’s some other bits that allow me to link two pipe ends together, as well as two maps through pipes. As you can see on the bottom bit there’s also a place to set the music for the level. It’s a drop down of all of the available music in the jar.

Leading me on to the next thing :wink:

blahblahblahh: The applet is actually in a jar file. It is rather large though and that’s entirely my fault; there’s some midi files I’ve downloaded and put into my source tree with the intention of using them in other levels. It turned out to be quite a lot really putting it at 440870 Kb :-/ I also didn’t take the time to move the level editor files out of the game jar (big naughty nono).
I’ve since removed the extra music that isn’t being used which should cut down the size considerably. I need to do the same thing with the unnecessary level editor files. So there should be a download speed improvement when I put up the next version.
If that’s not the problem, did you see any stacktrace errors in your java console?

Thanks again for all the great feedback!

Actually, if it’s only 400k, that shouldn’t have been a problem. I was afraid it was more like 4 MB.

Anyway, I’m having another go now…

No stack-trace errors either, I’m afraid. Perhaps my internet connection went on the blink for half a minute or so…

P.S. either your webserver is misconfigured, or Mozilla is pants. I can’t download the JAR file directly just by using it’s URL…could you put a link to the JAR file on the page somewhere? (then I can right-click “Save Target As” - yes, I know this is very 20th century, I’m sorry!)

Huh didn’t seem to accept my last post… :-/

try this url
http://www.lloydslounge.org/happyfunball/HappyFunBall.jar

Plus if you guys want to check out the level editor try this command:

java -cp HappyFunBall.jar org.lloydslounge.happyfunball.leveleditor.LevelEditor

But be warned…it’s really buggy. It works just enough for me to edit levels :slight_smile: To take a look at the levels in there you’ll have to expand the jar file and open any of the .lvl files in the levels directory.

And one more trick:
If you’re in the game and you want to jump to a level, press the J key (must be capitol J, shift and j) and it should say “Jump to Level:”. Just type in your level name (without the .lvl) and you’ll be whisked away to that level’s entrance.

Here’s a neat one to try: “spaceship2”

Enjoy!

Huh, if there’s 15 messages the board doesn’t seem to show the 15th one at all… it should be the first and only one on the second page, but the second page doesn’t show up unless there’s two or more entries (like this one is making it)… is this a known bug on this board? It does show the 15th message in the topic summary on the Post reply page. How odd…

[quote]Huh didn’t seem to accept my last post… :-/

try this url
http://www.lloydslounge.org/happyfunball/HappyFunBall.jar

Enjoy!
[/quote]
Thanks…

I’ve managed to get it to load once, and it crashed linux. I got to listen to your nice music whilst X11 died, linux died, and all my unsaved work got trashed :(. Sigh. Sometimes linux makes Windows98 look stable and reliable…

Based on prior experience, I expect this wasn’t even a bug in the JVM - just another “issue” in X11 (XFree v 4.2.1) or linux. :frowning:

It was worth the wait… :slight_smile:

Good level-design, very reminiscent of SM3 ;).

I think I found a bug with the wings - if you fly up very fast, you fly off the top of the level, and get stuck up there for about 20 seconds. At first nothing happens, then you can move the screne left and right, then eventually you suddenly appear moving downwards VERY fast, and usually die horribly as a result :(.

I’m guessing there’s just no “ceiling” on the level, and the wings end up flying you waaaaaay above the top of the level, so it takes you a long time to fall?

It works great on my Linux. 1.4.2_01, X 4.3, NVidia. Since I switched to NVidia, all of my X problems are gone. ATI + X 4.2.x were major pain in the …

Oooh man! Sorry about the unsaved work! :-[
On the upside I would think Ragtime Jazz is quite appropiate to hear whilst a system dies horribly but that’s just me :wink:
Glad you like it though!

Yeah, you’re right about not having a celing, what you described is exactly what’s happening. I should put a height limit maybe 100 pixels above the top of the level so the HFB doesn’t fly too high.
A couple of nights ago I added a “terminal velocity” so the HFB won’t fall faster then a certain value which should help that problem.

Funny you should mention SM3, the original first level music I was using was some music from that game :smiley: Probably influenced me quite a bit…

Thanks for the feedback!