Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (701)
Games in Android Showcase (203)
games submitted by our members
Games in WIP (774)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 ... 48
1  Discussions / Business and Project Management Discussions / Re: Crowdfunding in 27 Easy Steps video on: 2016-12-03 07:43:57
I think that kickstarter mainly works for feel-good campaigns: if you can't amaze people or put a smile on their face, you'd going to have a tough ride.

Seems to me like this thought from Riven is a good bottom line for any attempt at crowd-funding--certainly something I'm going to keep in mind if I ever give it a go.

I'm surprised that a company would make its "business model" one of repeatedly going back to KickStarter. Don't most people think of KickStart as a place to get a leg up when you are just starting out? I think veteran companies would have a harder time, because of this, and their "customers/supporters" would be increasingly demanding and value conscious rather than altruistic and generous.

Maybe the changes they talk about (from their early campaigns to later) have more to do with them being a returning company than about changes in crowdfunding in general?

Stuff about researching and understanding fulfillment costs--those are good lessons to learn from, regardless.
2  Games Center / WIP games, tools & toy projects / Re: RainThunder on: 2016-11-30 06:26:09
Yes, just a separator. I put very little into the GUI. It is just a series of JavaFX HBoxes, stacked one on top of another in a GridPane. The "separator" is an empty HBox with a background color:

    HBox sectionBar = new HBox();
    sectionBar.setStyle("-fx-background-color: #8080FF;");

Supposed to be light blue. Is kind of purple now that you mention it. It shouldn't have moved! Computer needs an exorcist?

I look forward to seeing what you come up with.
3  Games Center / WIP games, tools & toy projects / Re: RainThunder on: 2016-11-29 19:14:47
You should bundle every one of your effects into one big jar Smiley
One question: what does the purple bar represent? I saw it moving but couldn't understand it...
Oh, also: do you think we might be able to use your ambiance library/libraries in our games? I'd love to be able to implement that kind of sound effects in my next project!


I'm curious what the purple bar is that you are seeing. The code only should have a simple JavaFX GUI with buttons and sliders. Are you referring to the 3D-Sound program where I was trying out a time-delay based algorithm for implementing 3D audio? In that, the purple cylinders that rise and sink in place, corresponding to audio source locations. They are loudest when tallest, and quiet when they sink into the "chessboard" floor.

I'm quite perplexed in terms of figuring out what to make freely available or not. I don't want to commit too much of the code yet, as part of my way of development includes rewriting fundamental parts of it as I learn more, and I don't want to be encumbered by obligations for backwards compatibility. (Ran into this with SiVi a couple years ago.)

Yes, it is possible to combine the various into a single library jar.

J0, when you are ready to seriously consider going forward, maybe you can message me and check in on the status of things. (Same to anyone else.) I'd like to be part of a team, and the audio expertise is one of the main things I can bring. I'm also looking for situations to implement "real-world" examples of the library being used.
4  Games Center / WIP games, tools & toy projects / Re: BabyGraph on: 2016-11-26 03:56:16

Small suggestion: I was wondering about moving the "Congratulations" panel down a bit to allow the player to see the source of the sweets-geyser?
5  Games Center / WIP games, tools & toy projects / RainThunder on: 2016-11-26 03:02:12

A procedural rain and thunder app: RainThunder.jar

Sample of audio output: RainThunderDemo.ogg

I wasn't sure whether to put this in a new thread or add it to the "forest ambience" thread from a short while ago. I think this is ready to show, despite there being room for improvement. It is a mild thunderstorm, not supercharged, Hollywood-level drama.

The source sf/x files came from, if you are curious as to the original sound cue. I use about half of this cue (7 seconds).

The main new component is a "ClipSectionPlayer" tool. With it, you can specify sections of clips (my equivalent of the Java Clip, not itself), and play them as a chain. Start and end frames are required. At this point a single cross-fade length is used for all the seams.

I vary the playback frequency to get different "intensities" (ranging from something like 1/2 speed to 3x's speed). At the faster playbacks, code adds more and longer sections to achieve similar lengths throughout the intensity range. It wouldn't be too hard to make the event length an independent parameter.

One challenge was making the taper long enough not to sound abrupt with the faster playbacks, without bringing in a long sample. After trying several approaches, I tried a crude granular approach: the first half of the decay sample is broken into many short overlapping fragments which are chained. Most of the thunder events, thus are made from just a few longer sections for the body, followed by numerous but shorter sections from the "tapering" sample.

The rain and wind use a clip-slicer tool (explained in earlier posts). I made a crude low frequency (LF) "noise" tool, to vary the volume of the rain and wind. At this point, the tool varies the "wind" slightly before the "rain", and errs on the side of subtlety. It seems to me, the LF noise wave should be filtered slightly (maybe with simple box filter) before using with the rain, on the theory that the rain reflects the sum of wind gusts occurring during its fall. Having a variable high-Q filter for the wind would be very helpful for more theatrical wind effects. As it stands, the wind is almost more a texture-thickener for the rain than something that reads clearly in its own right.
6  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-11-14 09:15:55
Glad to know all our members in NZ are okay. 7.8 Richter, wasn't it? That is scary.
7  Games Center / WIP games, tools & toy projects / Re: Forest audio ambience on: 2016-11-11 22:03:55
Thanks, J0! I will try your instructions. It is my own fault I set the default volumes on the gui's too conservatively. If I can I will redo and post audio--meanwhile will use your links.
8  Games Center / WIP games, tools & toy projects / Re: Forest audio ambience on: 2016-11-11 18:03:19
You can use Audacity to record windows sounds, and it's quite easy too Smiley If you want me to record a sample from your jars please let me know, I'd be happy to help you this afternoon or during the weekend.

That would be great! After you post, I can put the links provided into the first post and credit you.

An explanation of how to set up Audacity to do this could also go in one of our tutorial or resource sections.
9  Games Center / WIP games, tools & toy projects / Re: Forest audio ambience on: 2016-11-11 07:56:16
I've setup reaper to record windows sounds in the past, I remember it being pretty easy. Not sure about audacity though.

About the crickets, I didn't mean to come off as harsh as I'm sure it is difficult! Also, I don't tend to pay that much attention to them so I'm sure you're right.

No worries. I hope I didn't sound like I was getting really defensive.

And I didn't mean to make it sound like it is all that difficult, at least from the point of view of being able to tweak things. There are probably some super-geeky SF/X ninjas that really know their insects and would be able to tell us just how to do it and have it be this or that species or genus and at such and such an altitude and temperature. But if one has a clearly defined model, it shouldn't be too hard to match it or fake it.

Reaper looks interesting. I already have Sonar but it is on another PC that has kind of been mothballed (no keyboard or monitor or internet connection.) I recall having to send a line out and back in for that too (and watching out for feedback). Not sure what I did with the connectors for it.

If someone wants to make a recording and post it on this thread, that would be appreciated!

[For the "wind/rain/thunder", I now have the GUI set up, and the ClipSectionPlayer tool debugged, and have been experimenting with chaining slices of thunder, playing them back at different speeds. I think it is going to work. Am working on the auto-generator for the thunder, setting it up so that each clap is unique.]
10  Games Center / WIP games, tools & toy projects / Re: Forest audio ambience on: 2016-11-10 20:41:28
This is fantastic! however, the crickets are really annoying they overlap/get out of sync creating a wavy effect...

I've had other comments on the crickets, as well, wishing to tweak them.

I spent some time on a hillside a while back, listening to the crickets and it seemed to me they weren't particularly paying attention to each other. When a lot of them get going, I think there IS a lot of overlap and sync changing and phasing effects. We do have to avoid comb-filtering! With really large populations (memories of visiting relatives nearby to Baton Rouge as a kid) the sound can be very intense.

But even if one achieves veracity, that doesn't mean that this is what will "reads best as a cue in a game or as an SF/X in a film.

The controller I wrote for the individual crickets is called a "SoundBlinker". It is set to take a number of sources and occasionally stop and restart them, the odds and length of times being determined by parameters to a random number generator.

It seemed to me that having a cricket occasional pause or skip a 'crick' would be a good thing. But doing this can also call attention to the cue. Getting the right balance of activity seems tricky, and probably varies with the environment and desired dramatic tone.

tldr: There is a tool to change settings which may make it more to your liking.
11  Games Center / WIP games, tools & toy projects / Re: Forest audio ambience on: 2016-11-10 20:27:33
Why don't you share some of the generated audio as files.

Has anyone set up Audacity to capture the output from a Java file?

If I knew how to set that up, that would be the easiest way to go. I'll have to poke around and figure out how Microsoft is routing things. Yeah, I'm claiming to be a "sound guy" but I kind of clumsy/ignorant with OS routing and stuff like that. I've put most of my energy into coding within Java context, not OS configuration.  Tongue
[Stupid: the unit I bought for i/o only has low impedance inputs and my main mixer doesn't have these as outs, so I can't run the sound out and back in without swapping the mixer being used. And the miniplug stereo mike ins aren't working for me as an alternate path.]

Alternatively, I could add some code I wrote elsewhere to capture and export, but it will take a little while to implement.

I'll add this to the queue, since there is positive interest and a direct request!

[I just got my "ClipSectionChainer" working, a first test where it is taking fragments (via pointers into) from three different clips and chaining them together into a single play. Am using it to append/crossfade two thunder recordings and a thunder-fading away ending, making a nice long multistaged roll. Want to test more radical sectionings to see if I can vary the thunder enough so that the underlying recordings are not obvious. Looking forward to putting up the "rain" jar soon, too.]
12  Games Center / WIP games, tools & toy projects / Re: Forest audio ambience on: 2016-11-09 23:54:24
This is impressive! I'd add a water stream somewhere Smiley
I did a brook earlier! The following jar also has an endless campfire and procedural windchime (as well as an earlier iteration of the frogs and crickets).
The file is a bit larger (around 2.5 MB) because I used wav files with zip compression instead of ogg. I should redo this. The size would be something like 4x's smaller.

If I had a game to put them in, a new jar with a single api would be set up, of course.
13  Games Center / WIP games, tools & toy projects / Re: Forest audio ambience on: 2016-11-09 05:05:41
It's a simple matter to turn one or the other up or down.
At the local creek it is possible to hear both. (El Cerrito CA, where I recorded the frog and the creek noise used in another demo).
But I can see probably that in most places it might be one or the other.
14  Games Center / WIP games, tools & toy projects / Forest audio ambience on: 2016-11-09 04:08:10

@ags1 will recognize this!

I thought I'd go ahead and post this "in progress" audio jar. Much to do still but I think it gives a good demo of what is achievable using Java to create ambient sound for a game. This jar is just 1MB, and on my PC registers around 1% CPU when active.

I set this up for two soundscapes: one for day and one for night. There are various effects that contribute. Hit "Play Day" or "Play Night" to hear the mixes I hard-coded. Change the sliders and hit "Save" and the mix can be recalled (during the session only, I didn't do save to file yet for this).

Nothing is being looped in the normal sense. All the sounds have random elements so the background sound should never repeat exactly (astronomical odds).

A couple of the sounds are synthesized. Most come from fragments of SF/X gleaned from I'm running them via classes that schedule varied playback in various fashions. The wind, for example, uses a "continuous slicing" technique combined with a low frequency random wave for the volume. Some of the fragments are played back at semi-random time intervals with slightly different pitches/volumes/pans. The woodpecker has been broken into start/middle/end and the middle is repeated a variable number of times. There's lots of little tricks like that.

The simple GUI sliders correspond to api inputs, one per each SFX, with ranges from 0..1.

On the TODO list: ability to code one's own "behavior" for the SF/X "creatures", in particular, to set up a parameter for timing/likelihood. Also, figure out some better timing behavior algorithms! When left on for a longer period, some of the SFX start to wear out their welcome, as well as could do a better job of suggesting a real living creature is making them.

I was working on a low-to-moderate intensity wind/rain combo cue to add to this, and had an idea for a low-frequency noise wave that seemed kind of neat: random number-generated line fragments with multiple box filter passes to round the corners. I'm experimenting with that right now, sped up to audible rates rather than low-freq, as a cheap way to make gunshots/explosions/engines/etc. The box filtering seems to lack any Q but there are still things that can be done, and box filters are computationally really cheap.

To go with the rain, I also have a pair of thunder SF/X. I was in the middle of writing code to allow generating variable-length thunderclaps by mixing slices from the two cues. I think it is going to sound pretty cool but the original cues are somewhat "distant" in quality, so no super-close dramatic claps will be available from this source.

Anyway, the idea is more to suggest what is doable with no budget, and what could be possible with a decent budget for effects and skilled sound design.

A couple audio wavs that J0 recorded for me (posted below):
forest day wav
forest night wav

Further down the PeacefulBrook jar is mentioned -- here are two recordings I was able to make (thank you J0 for the help!) of two "endless" components -- each is an original recording of about 4 seconds played via a "slicer" tool, thus always changing rather than looping:
endless brook ogg (recorded nearby Cerrito Creek--could definitely use a less noisy initial recording)
endless campfire ogg (from a cue, I'm pretty sure it was #170247, with some processing)
15  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-11-08 22:07:33

[EDIT: Watching the returns come in. It shouldn't be this close!
Michigan is scaring me. Glad VA is trending blue finally.]

16  Java Game APIs & Engines / Java Sound & OpenAL / Re: Should sound be on its own thread? on: 2016-11-01 03:33:47
Thanks for the done() link. That is what I was asking for.

Yes, the Listener I wrote is in part of the audio thread and is lock-free. As far as using it in a sensible manner, though, it is up to the programmer to be aware they are consuming audio thread cpu's and use efficient patterns like "loose coupling" and to avoid blocking. But it is nice to be able to have options for having sound trigger visual events.
17  Java Game APIs & Engines / Java Sound & OpenAL / Re: OpenAL and current LWJGL-based tools on: 2016-10-31 03:27:50
@princec  I don't know why I didn't your this reply until just now!

I was glad to learn that libgdx now uses lwjgl 3. I can't recall what post that was from.

Here is an example of what I was trying to think through:

I have an SF/X that could work for a torchlight mounted and burning on a castle wall. As there are many torches in a dungeon game, there would be reuse of the cue. Because of the way OpenAL is implemented, it would require polling and populating buffers associated with each Source object (annoying and something a game application programmer shouldn't have to bother with), and we'd have to have a Source for each torch location as the Source holds the data used for 3D panning and volume calculations.

The logic for whether a given torch is heard or not would be kind of similar to the code used to determine if it is visible or not. At the edge of "earshot" we'd set up and launch the buffer streaming for the sound. The code to do this should probably be just the flipping of a switch if within earshot.

So, the API I would provide for a TorchBurningSFX would include setting a location, and a switch to flip it on or off, and maybe some additional ways to extend or vary the quality of the sound (letting OpenAL handle the volume and panning as needed for the 3D).

Then, it would be up to the game programmer to do something like update the switch based on monitoring the distance, e.g., turn it off it more than 150 something away, turn it on if within 120 something away (am making up numbers). The gap (150-120 or whatever) would be to lessen the amount of overhead/thrashing that comes from dancing back and forth over edge case. But that sort of decision would be left to the application programmer.

Does this sound like a good plan?
I'd also provide a getSource() method for programmers wishing to directly work with the Source properties.

I'm working on some "weather" effects right now. Hope to get back to trying some sort of SF/X for OpenAL in the next few weeks.
18  Java Game APIs & Engines / Java Sound & OpenAL / Re: Should sound be on its own thread? on: 2016-10-31 02:52:25
With TinySound, you could also just check in your game loop whether the sound (actually Music!) has finished and retrigger it if required (eg. count greater than 0).

@nsigma: If it is not too much trouble, could you demonstrate an example of the code in TinySound that tests if a sound or music cue has finished? I didn't know this could be done.

It sounds like polling is used rather than getting a push when the cue ends. Still, I believe you, that this is less costly than happens when an open Clip is reset and restarted.

In my audio library, the equivalent Listener is frame-accurate. There is also a frame accurate event-scheduler. I followed your (nsigma) advice and output continuously via a Java SourceDataLine. Nice to hear that many of these other cool libraries also do this. I am not knowledgeable about the various libraries and their underlying code.
19  Java Game APIs & Engines / Java Sound & OpenAL / Re: Should sound be on its own thread? on: 2016-10-30 21:26:11
@nsigma Ah, now I understand your post better.

But I'm not so sure that going to an audio library would be helpful in this case.

Let's consider the following scenario: your avatar bumps into two instances of bones and you'd like to play the short bone SF/X twice in rapid succession with each playing both completely and clearly audible. Also, when you bump the bones the first time, you don't know in advance you are about to bump them again (and a third collision may also be possible).

How, using Libgdx or LWJGL3 (in other words, OpenAL), is this to be done? AFAIK, SF/X cues play asap when you call them. There is no way to "schedule" the call. Same thing with TinySound. (Someone, PLEASE correct me if I am wrong!) The only thing I know of to do is to manually handle this in real time, which is a little dicey since Java doesn't provide real-time guarantees: store the time when the SFX was called and refer to this and compute a sleep amount, and execute the sleep, before completing the 2nd SFX call. And this will have to be done on its own thread so as not to stop execution of everything else during the sleep.

At least with Clip, you can use the LineListener "STOP" event to manage the 2nd trigger (as coded in the earlier post.) I'm not clear how LineListener-equivalents would be coded in the OpenAL or TinySound worlds. Can they?

Thus, except for the pickup of the ability to play sounds concurrently (which isn't what we are trying to do here), there may not be a lot gained by abandoning Java's audio, and LineListening functionality is lost. So for me, sticking with Clips or abandoning them is not a black & white issue. There is a case to be made for both approaches. I understand we may have to agree to disagree.

Maybe one of the other libraries you mentioned has some sort of event-scheduling that would make this easier.
20  Java Game APIs & Engines / Java Sound & OpenAL / Re: Should sound be on its own thread? on: 2016-10-30 01:45:19
@nsigma Thank for answering my question about OpenAL! I apologize for any misunderstanding about the rest of my post. I didn't intend or expect anything but my first comment about Clips to be seen as contradicting or correcting what you wrote! Thanks for clarifying my misinterpretation of what you were saying about Clips. I was mostly just intent on providing a path for solving the game requirement via use of Clips as an alternative to the overhead of bringing a sound library into the project.

To the OP:

My guess is that the cue in question is at least 1/2 or 1/3 of a second in length but not much longer than that, and that it would best be heard twice in a row, immediately back-to-back, rather than having the first playback be stopped before completion (or before barely getting started--which is what I suspect you have inadvertently coded).

TinySound permits concurrent playback of its "clip-equivalent", but this doesn't solve the matter arranging the two plays to follow one another instead of playing simultaneously or overlapping in time. If you wish to allow the sound to play through completely before starting the second iteration, I suggest using a LineListener to trigger the second play, because you can use the EVENT of the first cue's STOP to handle the second playback. Maybe something like the following:

private int playAgain;
private boolean clipIsPlaying;
private Clip boneRattle;

//... some code to load and open the boneRattle cue ...
//... include adding the following LineListener to the Clip:

    boneRattle.addLineListener(new LineListener()
        public void update(LineEvent event)
            if (event.getType() == LineEvent.Type.STOP)
                if (playAgain > 0)
                clipIsPlaying = false;

    // and your play() command is done with a bit of extra coding:
    public void playBoneRattle()
        if (clipIsPlaying)
            playAgain++;  // the listener will take care of handling the next play()
            clipIsPlaying = true;

IF this is the issue (how to make two-or-more-playbacks-in-a-row behave in a sequential manner) then hopefully the above code will help. (I haven't tested it.)

If some overlap is okay, or interrupting the first sound and restarting is okay, then my other suggestion is to have your play method store a timestamp of when the play() method was called, and consult this value on subsequent plays to enforce a minimum interval before your next play().

It is hard to say how much time to enforce between the starting time of play() commands without hearing the cue. Also, it depends if you are doing the stop/restart plan or the concurrent play plan.

If two copies of the same sound play concurrently, but with very small starting time differences (e.g., in the vicinity of 50 millis or less) you can get some unexpected artifacts from "comb filtering". Enforcing a minimum difference in onset times of at least 100 or so millis should prevent that. I haven't thought through or tested the best intervals yet though. My numbers are just ballparks.

The amount of time between starts will also depend on how much of the cue you decide should be heard in order for it to register in the ear of the person playing/listening.

TinySound allows you to play its "clip-equivalent" concurrently. With JavaSound's Clip, for concurrent playback, you have to make two separate Clips and manage both instances yourself, which can be a bit annoying.
21  Java Game APIs & Engines / Java Sound & OpenAL / Re: Should sound be on its own thread? on: 2016-10-29 01:13:28
I hate to disagree with nsigma of all people, but the Java Clip is specifically designed for being played more than once. But his statement about opening and line and keeping it open is most likely* accurate. That is what I do with my audio library, and what TinySound does as well.

The code you posted should work. If it doesn't, it could be for various reasons. One possibility that comes to my mind is that the second iteration happens before the first has barely started, and it stops and restarts after just playing a small portion of the first, making it seem like it didn't play at all.

To fix that (without using a library), it seems to me there might be two ways to attack the problem. One is to put in code to make sure that enough time has elapsed before starting the second iteration. It might be possible to set a variable with the start time of the play and enforce that a certain duration elapses before the second play occurs. Or, use a LineListener to flip a boolean that indicates the sound is done (and have the method poll this boolean before the replay). How accurate this will be with Java's multithreading mechanism is not something I am competent to predict.

Another way is to make a second copy of the Clip and run it independently of the first. In this case, the two would likely play in an overlapping manner which may be acceptable or even preferable. Mixing will be handled at a lower level. But it could still be important to enforce a certain minimum wait to prevent the two from being so close together in time that they either fuse or cause some odd comb filter or phasing effect.

* @nsigma: I noticed that OpenAL seems to be continually opening and closing *something* when we play back sound data. I'm referring particularly to the case where one streams sound data "manually" through a Source. Do you know if there an underlying mixer in the OpenAL implementation running continually that dynamically gets inputs from the Source objects, or is this an instance where opening to a soundcard happens repeatedly?
22  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-10-29 00:50:49
You know, if anyone ever asked me to take a Java certification exam, at any level, I think I might roll up the test paper and shove it up their arse.

Cas Smiley

Cas, if I had your cred, I would too.
23  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-10-27 23:02:03
Mostly doing practice questions, today, for a Java 7, Level I, Certification test tomorrow. I think I know the material pretty well, but 80 questions/3 hours is a long haul. My brain starts to get fried at about the 25-30 question point and I start blowing obvious gotchas and trick questions. I've been getting 80+ % scores on practice tests when I limit myself to 30-40 questions. Beyond that, the percentage starts to plummet.

[EDIT: passed with 85% score. I'll take it.]
24  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-10-27 04:37:24
I've been working on a really nice particle system. I started work yesterday, it's come far enough for my liking, although dancing around Java2D's limitations is a bit of a headache.
A JavaFX particle system == fewer headaches?

[EDIT: What you have posted so far looks cool. Writing a particle system is neat, no mean feat! Forgive me for being a bit of a JavaFX partisan. I switched over from Java2D/Swing in Feb. 2016, and am glad to have made the choice and only mean to encourage others to consider doing the same, not discourage them from doing cool things via their preferred libraries.]
25  Game Development / Newbie & Debugging Questions / Re: Active Rendering, flickering on: 2016-10-22 00:57:03
At the risk of being little or no help, may I ask why you chose to go the active rendering route? Java has double buffering automatically set up with display classes such as JPanel. If the assignment was just to make a game, using that would be a lot easier. (And, using the latest Java graphics library, JavaFX, would be easier, still.)

I'm guessing you're already acquainted with and have read through the Java Tutorials guide on Active Rendering?
26  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-10-18 22:19:48
Had some fun Saturday while at work, on my break, tweaking settings using a new SF/X tool I wrote. I was working on a bird tweet sound (thinking the sounds were quiet and wouldn't carry), and the store Manager poked her head into the break room. She said she thought a bird had gotten stuck in the attic or something. Success!

It took a few more days to track down some bugs in the system pertaining to using the Java file-choosing code (used in save/load of xml and export of wav). I found out, for example, that I didn't handle the case where one "cancels" the action and it was leading to the app hanging. Finally posted in WIP thread today. Fingers crossed, am hoping it is stable now.
27  Games Center / WIP games, tools & toy projects / DinkMaker (Audio Tool) on: 2016-10-18 22:07:26
I've been working on a mini-synth for making short "utility" audio cues, such as the clicks and dinks for things like clicking on menus. It uses an FM Synth that I wrote (Phase Modulation, more accurately) that has a carrier/modulator pair, an LFO (for either pitch or volume uses) and some frequency sweep options and an ASR envelope. With this, there are actually some tricky and odd sounds that can be made besides clicks.

Running the app, you can make and export wav files for game use. Another option is to import the jar into your game program and use the synth in real time. This second option has a couple benefits:
  • wavs for the cues not needed
  • can tweak settings on the fly (based on game state)

The zip file includes the app (dinkmaker.jar, for non-java users: just double-click it to run it) and twenty xml preset files that can be loaded and edited. Requires Java 8.

Very basic, bare-bones GUI at this point. There is some HELP available via the menu bar "Help" (first draft) but I will admit that knowing a bit about audio already will make it much easier to use.

I had some fun working as a "sound designer" instead of as a programmer, and making these patches. If you'd like to listen to a few:  // multiple bird chirps are probably best played at slightly  // different carrier pitches instead of the same pitch

Depending on the browser, there might be a bit of clipping of the files as they are so short.

This is the first time I really worked with Java Properties. I'm trying to use them to store a default directory for the saves and loads. Please let me know if it messes up or if the design can be improved.

Suggestions very much appreciated: on gui, on demo patch set, anything really!

I will look into getting api info up later in the week for use as part of a library. It would be great to have someone using libgdx or android to work with directly, if anyone would like to experiment with trying out the library. I recently wrote a wrapper for lwjgl 3, and earlier wrote an android wrapper. But in both cases it will probably take further tweaking to make it work smoothly.

If anyone wants to, feel free to post patches on this thread. They are just XML (text) files.

Was playing around with ideas on naming, e.g., DinkSynth or DinkySynth for example. DinkMaker doesn't exactly roll off the tongue (and reminds me of Mattel's "ThingMaker": my "Creepy Crawlers" kit from ages past.)
28  Discussions / Miscellaneous Topics / Re: Looking for simple but complete open-source game on: 2016-10-18 21:25:41 had a simple start for SpaceInvaders published as a tutorial. I don't know if this code has been maintained and works with Java8 or not.

I have a puzzle game I started and am wanting to revisit, called Hexara. It started, conceptually as a sort of reverse-Boggle: instead of searching for words in a given puzzle, one builds the puzzle from the list of found words. Except I made it hexagonal and the words became icon-strings. I don't know if this is suitable, in present form, for conversion to multiplayer, but am willing to brainstorm/collaborate and make the source available. I've been wanting to redo the Java2D graphics in JavaFX among other things, if that is an issue, but am open to other ideas.
29  Discussions / Business and Project Management Discussions / Re: Mentor Needed! on: 2016-10-18 21:14:15
I would offer to help, but I haven't dealt with controllers directly, and have not built a tile-map game myself. My interests are more around sound-effect programming.

I'm wondering if you considered using JavaFX instead of Java2D/Swing or the more powerful Libgdx. I'm finding JavaFX easier to use for GUI's than Swing or 2D. Also, it is now an official part of Java and being more recently built, likely more efficient. too. I would think the basic tile-map algorithms should translate from 2D to FX just fine. I have a tutorial that you can probably work through in an hour or so if you want to get a taste of JavaFX on Eclipse.
30  Game Development / Newbie & Debugging Questions / Re: Updated Android studio and libgdx now getting odd error message.. on: 2016-10-13 19:10:47
I've gotten major-minor version error messages before when trying to do something requiring Java 8 with Java 7. Often we have multiple versions on our computers: jre, jdk's jre, 32-bit, 64-bit. What is used by the IDE isn't the same, necessarily as the browser, etc. You probably just have to do some updating.

Pages: [1] 2 3 ... 48
ral0r2 (229 views)
2016-11-23 16:08:26

ClaasJG (371 views)
2016-11-10 17:36:32

CoffeeChemist (462 views)
2016-11-05 00:46:53

jay4842 (513 views)
2016-11-01 19:04:52

theagentd (524 views)
2016-10-24 17:51:53

theagentd (516 views)
2016-10-24 17:50:08

theagentd (471 views)
2016-10-24 17:43:15

CommanderKeith (466 views)
2016-10-22 15:22:05

Roquen (439 views)
2016-10-22 01:57:43

Roquen (315 views)
2016-10-17 12:09:13
List of Learning Resources
by elect
2016-09-09 09:47:55

List of Learning Resources
by elect
2016-09-08 09:47:20

List of Learning Resources
by elect
2016-09-08 09:46:51

List of Learning Resources
by elect
2016-09-08 09:46:27

List of Learning Resources
by elect
2016-09-08 09:45:41

List of Learning Resources
by elect
2016-09-08 08:39:20

List of Learning Resources
by elect
2016-09-08 08:38:19

Rendering resources
by Roquen
2016-08-08 05:55:21 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!