Bubo 4k

I would suggest only sound cueing the collisions and pops.

The collision/creation of sphere could be bell-like, maybe a little crystalline sounding. (I am partial to windchimes, after all.) It should have a crisp start, then fade to a low level until the pop. (Or a slight increase in volume before the pop.) The pop could be a second cue, started as the bell is turned off.

If you could vary the rate of playback of a single bell-like cue, you could get many different pitches, creating a very colorful mass of sound.

I can think of a couple different approaches to coding this, but not in 4k! and not before 2012. I made a variant of the Java Clip that allows multiple playbacks, concurrently, AND pitch variation. If you can find a way to adapt the code, you are welcome to it.


You’d probably want to eliminate the stereo, use a cheaper audio resolution, and you’d have to handle going directly to a SourceDataLine output rather than to the AudioMixer output.

Anyway, your game is fascinating to watch, and not every game has to be for brainiac strategizers. There is a definite nice, artistic “generative” aspect that I like a lot.

Thanks, that encourages me a lot ;D especially after I feel not success on LD22 yesterday.

I’ll try it after I get free time :point:

Difficult to write a better comment than philfrei’s one, who shared a lot of my feelings about your game. My first thought was that it would fit well in some interactive exibition of modern art…

But I persisted, and when I understood how it worked, I passed the first levels without too much difficulty. Then, I literally flew over level 5 to 19, but I had to restart many times level 20 before winning. At this point, it seemed that I was playing to some kind of new age casino game, as I had the feeling I didn’t control anything.

I also searched and played to the HTML5 original game, and found your remake almost as good. A better feature of the original game, is that it anticipates sooner when the game is lost. Thus the rythm of the game seems better.

Interesting work anyway, as I didn’t feel as I was wasting entirely my time !

Really cool game. Even if there isn’t much to do, it’s still quite fun to watch the chain reactions. And I managed level 20 faster than I would have expected after the first try^^

But I agree, the right sound effects could add a nice touch to the game.

All these compliments make me really want to try out this game, but it still runs at 333 FPS for me and there is no movement at all :frowning:

Still haven’t find a way to fit sound into 4KB. However I did update on gameplay. Now you can choose between two modes, original or skill. Skill mode is same, except

  • higher number of balls to pass
  • balls don’t bounce on wall hit, but translated to opposite wall
  • you can click any small ball to change its direction randomly (either change dx or dy)

@ra4king:
I also change the sleep value as you suggested, and it works like charm!

16000 - (System.nanoTime()-start)

please try it again. and tell me how you got this value ;D

Hi,

just tried it. On “Fate” the balls often hit the wall and then just move along the wall. Balls often change directions, looks like they are “drunk”… ;D

You can’t sleep in nanoseconds! It runs at > 1000 FPS for me and nothing is happening!


Thread.sleep(16 - (System.currentTimeMillis()-start));

And if “start” is in nanoseconds, then do this:


Thread.sleep(16 - Math.round((System.nanoTime()-start)/1e6));

@toasten
that’s the annoying little bug which I can’t get rid. I did it like this


if (y[i] < 0){
    dy[i] = -dy[i];
    y[i] = 1;
}

however I change the code a bit by make it do that check before moving a ball. Hope you want to try out once more after I posted this :smiley:

@ra4king
still 30fps for me. your case is really unique. Okay I’ll change it once more to your second code (above) and tell me how it work.

Updated again:

  • with sound (OMG!) - you can tell me if the sound is creepy or annoying, it’s my first try of procedural sound afterall.
  • with shake effect when a ball explode

Oh hey it works now at a constant 65FPS!

I still kinda don’t understand how it works though :S I just place the ball randomly and wait for reactions :slight_smile:

Also is it a feature or a bug where some moving balls go through reacted balls?

Glad to hear that ;D but you clearly really haven’t read the game description huh? :cranky:

yes, you just click and wait for reaction chain on Fate mode. On skill mode, you can click small balls to change their directions (dx or dy one, depends on value). Color has mean here, small ball can only react to big ball with same color. White one can react to any big ball. Big ball can change their color after make a small ball reacted with order: green -> blue -> red.

I did read the description but I didn’t understand still lol ;D

And ah I didn’t understand that color thing. Really creative and unique idea though, great game :slight_smile:

Runs smooth now.
But one thing… after playng for about 10-15min tring to get level 20… i got an OutOfMemory :frowning:

Mac?

@toasten
I played lvl 20 three times and no problem. No dynamic data like List inside, just array. Stacktrace please ;D

You forget, this is ra4king you’re talking to:

Not that I’m sure it does a lot of good for a OOME, since those tend pop up in random places after you’ve been leaking memory a while.

That image should be featured on post options :wink:

About 15min into the Game:
JRE-Version 1.6.0_29-b11 Java HotSpot™ Client VM

Exception in thread "Thread-11" java.lang.OutOfMemoryError: unable to create new native thread
	at java.lang.Thread.start0(Native Method)
	at java.lang.Thread.start(Unknown Source)
	at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source)
	at com.sun.media.sound.DirectAudioDevice$DirectClip.open(Unknown Source)
	at G.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

As I tried level 20 for maybe the tenth time on Fate mode, the game suddenly froze and it was not possible to get the java error message because of some other bug.

Your Skill mode would be even better if clicking on a moving ball sent it to the closest reacted ball. But right now, it already gives a lot more of a sense of control on your game, which is good.

Thanks both of you!

@toasten
I’ll find time to figure out what happened back there

@StephR
Maybe I left a time bomb there, as I played 3 times of 20 lvls I didn’t get that. It’s difficult since I can’t find any culprit in bunch of primitive integer and its 2D array. On skill mode I think your suggestion will make the game too easy, but seems nice on new mode Easy :wink: