Hi !
Featured games (88)
games approved by the League of Dukes
Games in Showcase (681)
Games in Android Showcase (196)
games submitted by our members
Games in WIP (744)
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 ... 45
1  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-06-26 02:38:38
There was a time when PHP had a reputation for hackability. Maybe its been addressed since and is fine now. I really don't know. But when I was looking into it, about 7 or 8 years  ago, it seemed like an awful lot of the code you had to write was explicitly protective measures such as counteracting code injection. Did that ever get fixed?
2  Discussions / Miscellaneous Topics / Re: Is it possible to get sued by Donald Trump if..... on: 2016-06-24 06:52:44
Ah, Reagan... If this is accurate, Trump following in his footsteps might be... Well, completely unsurprising.  Roll Eyes

Interestingly enough, there's an article like this with equally valid points for almost every president to ever run America. Lol

True enough.

Of the first point, though, I disagree with the author. The number of investigations is no longer a valid signifier of anything, except that someone wants to bring down a given target. The tactic of smear-by-investigation has been so overused that it is pretty much meaningless at this point. Actual indictments do count, though.
3  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-06-24 06:43:24
Been working on a few different ideas this last week or so. I already mentioned the forever non-repeating campfire SF/X.

1) got a "cluster-synth" abstract synth working with two synths based on it. I'm calling a cluster synth one where a collection of pitches are played as a single cluster, sharing their envelope and other components. The play command sends in a pitch array rather than a single pitch. Part of the benefit is that there is an efficiency in eliminating duplicate envelopes and other components for each contributing tone. It is for certain types of sounds that seem to work better as clusters than as single tones. One of the two is simply a collection of sine waves, the other a sort of deep whoosh, kind of hard to describe. When I get a chance I'll make a little demo gui with a way to make and save wav assets.

2) in the process of building this abstract synth, I was able to improve the abstract version of my more normal synths, and went back and revised a couple dozen existing synths.

3) got a "flibberillator" (flibberator?, flibbulator? -- my friend Ian had a term for the effect, I need to settle on its name) working. This takes some sounds and intermixes them instead of mixing them. We are talking about going back and forth between multiple sound sources in rapid succession. I don't know if this is a valid term, but I think of this sort of sound as a manifestation of a "glitch" aesthetic. Ian had remarked that the effect (when applied to multiple clusters of his sine waves), that it sounded like a computer thinking. (Ian Allen used a few examples on some of the cues he left on his account on SoundCloud: "Ian Allen") I hope to get this effect available to hear/generate via a simple gui too. The algo isn't generalized yet for any sound source; it is only working (first pass) via the abstract cluster synth.

4) back to trying to get a simple playback of the "Maggot Brain" (George Clinton) accompaniment going via my event system. There were a couple curious things to fix, as the "Event System" I wrote is still a bit complicated and I'm continuing to work out the kinks. This is a step towards being able to score a piece for real-time playback and towards making branching scores.

This next few weeks though, looking to spend some time on projects for a couple other members! Collaborating, once again. It has been a long time.
4  Discussions / Miscellaneous Topics / Re: What I did today on: 2016-06-16 23:31:02
Because you ask the player to make a choice, up front, about how good they think they are, at a game they've never played before, using criteria they don't yet know. And they cannot choose the right answer! They'll feel like they're missing out if they choose "pweez don't hurt me"; they'll moan vociferously but refuse to back down if they choose "kill me now!!"

Far better to just design a game at which everyone has fun and sort of creates the difficulty level of their own making, so to speak.

Cas Smiley

It occurred to me the other day that the good old pinball machine might be a nice model, when it comes to difficulty issues. There's enough variety and randomness that a novice can have fun, but room for skillful play such that an aficiondo will not be bored.


My WIDT: again, a task that I thought was going to take three hours took the better part of several days. I made an endless torch/fire, derived from a 5-second sample, and added it to the peacefulbrook "sound demo" jar.

In the process of working on it, discovered that several other things were broken and had to fix them, mostly pertaining to the synths and the event system.

I discovered an article describing how to output a stream of PCM data via OpenAL. LWJGL streaming sound with OpenAL. Am looking forward to digesting it. But there are several other things on the queue as well.
5  Games Center / WIP games, tools & toy projects / Re: Skullstone - a dungeon crawler game on: 2016-06-16 22:58:53
I think I'll stay with current solution, I have too many other things to code Wink

A totally sane response!

I did get a bit piqued, though, and added a "campfire" to the peacefulbrook sound scape jar, just to prove to myself the technique would work. It uses a 5-sec sample lifted and tweaked from a longer free SFX. I think it sounds pretty convincing as a non-repeating, endlessly varying fire. The torches in your hallways would be a bit different, but this should be close enough to extrapolate.

A couple things on the queue but hopefully before long I will attempt to build a LWJGL/OpenAL direct audio-streaming tool. It seems to me something like that could be a nice step forward for procedural audio on LWJGL-derived engines.
6  Games Center / WIP games, tools & toy projects / Re: Audio library demos on: 2016-06-16 22:40:34
I just added a newly revised peacefulbrook demo jar.

The main difference is that there is now a campfire. I wanted to show an example of a fire that would go on endlessly without looping. For example (with a bit of modification or a different sample): a torch on a wall in a 3D game.

The recording consists of 5 seconds lifted from a free sound effect, and processed a bit in Audacity. The effect could probably be just as effective with a couple fewer seconds in length, which would have shaved off several hundred KB. As it stands, the file is 2.7MB now, with just about all of it coming from the stream and the fire recording.

With more stuff happening at the same time, the volume controls take a bit more tweaking to get a nice mix. My wife thought the fire was a bit low, and when I turned it up, like the frogs were in the fire. So, consider bumping the fire up a tad, and putting the frogs more in the distance (lowering the volume).
7  Games Center / WIP games, tools & toy projects / Re: Skullstone - a dungeon crawler game on: 2016-06-15 02:49:48
I don't know if I can output a PCM stream, to be honest my knowledge about audio is very little. The engine uses OpenAL for audio and all I'm doing is playing samples in proper location, environment etc.

I took a look at JMonkeyEngine, and as far as I can tell, it is probably using LWJGL for its audio (which implements OpenAL) but it could be using JOGL as an alternate way.

I found an article that looks like it might lead to making a way to hook in streaming audio. Whether this can be done while preserving the environments and 3D location functions, I don't know. I'm a bit backed up with tasks at the moment, but if I get the chance to make a wrapper and a perpetually changing torch-burning sound, would you be interested in testing it out?
8  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-06-14 20:44:21
I have several working tools written for controlling ambient sound playback. If you send me a desired api for how you'd like to access them, I bet I can make a jar/library to your specs. Message me if you'd like to give it a try.
9  Java Game APIs & Engines / JavaFX / Re: JavaFX For Pixel Games on: 2016-06-02 05:21:53
Concerning the Plan B (reading the pixels) I found this tutorial, which makes use of PixelReader and PixelWriter:

It is not as easy as expanding the image and having it work automatically, but maybe will suffice. Going from a reader to a writer to make a 2X image or 3X image would only require going once through a pretty straightforward for loop to create the new version of the image.

It seems like there could be some other layers or levels where some type of smoothing is being applied, assuming you have set the smoothing to false. But maybe just making new images is cleaner anyway. IDK.

Neat that JavaFX works on Raspberry!
10  Java Game APIs & Engines / JavaFX / Re: JavaFX For Pixel Games on: 2016-06-02 01:14:29
Any chance of posting a screen shot of this effect? I don't recall seeing "pixilated" images like you describe before, and am wondering what this looks like.

As for alternate methods, I suppose it would involve working the raw data, which I know how to do with a BufferedImage. I haven't gotten into an image's pixel data with JavaFX yet, though.

There is a smooth property in ImageView that might pertain to this.
11  Discussions / Jobs and Resumes / Re: Efe Tozan - Full Time Composer For Your Games on: 2016-05-24 22:16:54
Very impressive!
12  Game Development / Newbie & Debugging Questions / Re: What library should I work with?(if any at all?) on: 2016-05-16 02:35:09
JavaFX in its current form is relatively new, so I think there are more than a few people here who are substantially invested in LibGDX, LWJGL, even Java2D that haven't truly given it a proper go. I was encouraged to try it anyway when princec, the original author of LWJGL, gave it a thumbs up as viable and interesting.

It supports a lot of special graphical effects, and it is definitely easier to learn and use than Java2D, as well as much more powerful in most regards. Unlike the earlier iteration of JavaFX, the code looks and reads like Java rather than like a separate language that has been tacked on. One of my discomforts with LibGDX has been that between its API (mostly good but not as deeply designed and polished as Java or JavaFX) and the difficulties of making OpenGL work, I found the learning curve to be steep.

JavaFX is not so great a choice if you want to make Android or iOS games, though. And there is not as much support, it seems, for game programmers, as of yet. Not a lot of tutorials made with game programming in mind.
13  Game Development / Newbie & Debugging Questions / Re: Sound on Debian Jessie Linux on: 2016-05-08 05:40:59
Try little-endian. I think it is more common. This is the format I always use and I've not had any troubles like you describe. My Linux is a different version though, as I use Ubuntu.
14  Game Development / Newbie & Debugging Questions / Re: Sound on Debian Jessie Linux on: 2016-04-26 02:46:16
Just to double check, because I'm not sure what you mean when you say you are using AWT's sound. AFAIK, there is no play() method for audio in the AWT library.

The main sound libraries for Java audio playback are contained in javax.sound.sampled. The output classes that should be already implemented and running on any system that runs Java are the Clip and the SourceDataLine. Are you trying to execute the play() method of a Clip?

What is the class of the "audio" variable you mentioned in your original post, as in ""?
15  Game Development / Newbie & Debugging Questions / Re: Sound on Debian Jessie Linux on: 2016-04-24 02:43:50
  Most of the articles I've read have said to change a file and uncomment something, but the problem is that I do not have administrative access to even open these files, much less change them.

I don't know a lot about Linux, but isn't the deal for getting administrative access something like going to a control prompt (is the program named Terminal?) and typing "sudo" before the command that you want to execute? Of course, that assumes you know the admin password.
16  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-04-24 02:38:54
I gave the program a go a few days ago. It took me a while to figure out what I was doing, and I still have questions. But overall, it was intriguing and seems like it must be working as designed.

The first time I tried it, I didn't have your summary instructions and really floundered. I didn't figure out that the center sprite was the one being controlled. I couldn't tell that anything was happening when the arrow keys were pressed, as there is a lot of movement going on at the same time. For example, hitting the up arrow (I now know) moves you "forward" but given that the AI or whatever might be pointing you in any direction, it is hard to pick out the right movement and infer the control. Or at least, it was for me. Also I expected the down arrow to allow backwards movements. And I mistakenly was expecting the keys to be left/right/up/down, not rotate/forward.

Second time, I had reviewed your instructions and I figured out a lot more. But was stumped by trying to pick an apple off of a tree. Third attempt, I realized that the interaction is via the menus that pop up, not clicks on the countryside depiction. I'm not sure how you find your hovel if you forget where it is. I guess, by giving control back to the AI and letting it go back to home?

Now, after having picked and sold a few apples, I am wondering about the character I was started with. As far as I can tell it sleeps at its hovel, then goes to the market and hangs out there doing ??, and then goes home and sleeps again. I was not able to observe its profession or get anywhere when trying to buy a shovel and go mining or farming. So, I remain puzzled as to how I might add value to whatever the AI is already doing for my character.

I guess the next step is to go watch several different characters, and learn what is going on that way.

I think the graphics are functioning quite well. I like them. I look forward to seeing how this neat project develops.
17  Java Game APIs & Engines / Java Sound & OpenAL / Re: Java OGG API with concurrent playback on: 2016-04-18 09:29:06
I would trust what princec has to say more than philfrei, and that goes double for philfrei of 2013.
18  Game Development / Game Play & Game Design / Re: Is a Binaural Sound Engine in Java possible? on: 2016-04-12 04:06:18
This thread has my first hack at 3D sound, using pure Java. Since the original question was about whether this is possible or not, it seemed useful to have a link here.
19  Games Center / WIP games, tools & toy projects / Re: Skullstone - a dungeon crawler game on: 2016-04-12 03:54:00
I like the audio tracks a lot. The loops are polished, expressive, and wear well, with good levels of tension, so they should work as game play gets tenser or relaxes. Getting game play to have dynamic arcs can be a challenge though. There's always a danger of: "oh there's another monster, kill it, walk walk walk, oh there is another monster, kill it..." which can get a bit flat.

I don't know if your audio system is set up to do this, but (small point) instead of looping a flaming torch sample (the sample you have sounds like a good one), can you play a continuous stream of slices from the torch sample? I'm thinking slightly overlapping 1/4 or 1/5 second slices, selected randomly from the sample. As long as the player is moving around, the torch audio is long enough that you don't hear the loop. But if a person stops by a torch, it can become apparent. Something similar to the treatment of the brook sound here might be a small but nice touch. Am happy to share the algo, but I don't know your audio system. Can you output a continuous PCM data stream as audio?
20  Games Center / WIP games, tools & toy projects / Re: PFTheremin on: 2016-04-10 19:21:12
PFTheremin, SoundHandler API

   SoundHandler sh = new SoundHandler();

Class is located in the package: com.adonax.jtheremin

   // Following are methods of SoundHandler, e.g., sh.start();
   void start() // turns on audio thread
   void stop()  // turns off audio thread

   void startSync()  // save a reference sound frame and nanotime for internal event
             // used to schedule the pitch updates, can be called any time the
         // pitch updates develop lag beyond a built-in 1800 frames

   void setSynth(String name) // {"FM Sawtooth", "FM Square"}

   void startNote()  // theremin note starts playing, called by mouse-down
   void releaseNote()  // theremin note released, called by mouse-up
   void updateVolume(float normalizedFloat)  // Y-axis position scaled to float [0..1]
   void updatePitch(float pitch, long timeStamp) // pitch = actual Hz to be played
         // timeStamp (nanotime) = when that pitch occurs
         // the frame where the pitch will be scheduled is calculated from the
         // values stored in startSync()
   void updateVibDepth(float normalizeFloat) // vibrato affects both pitch and volume
   void updateVibRate(float normalizedFloat) // [0..1] corresponds to 2Hz..18Hz
         // distributed via a power function x^2
   void updateTimbre(float normalizedFloat)  // [0..1], corresponds to a range of values
         // preset in synth, sometimes referred to as FM Modulator Index
   void setModulatorFeedback(float normalizedFloat) // more FM stuff, affects timbre

   // control of Echo via the SoundHandler, e.g., sh.setEchoRunning(true);
   void setEchoRunning(boolean echoRunning)  // make the echo effect audible/quiet
   void setEchoMillis(int millis) // time until first echo
   void setEchoVolume(float normalizedFloat)  // volume of echo
   void setEchoFeedback(float d) //

The following function may be useful for generating pitch values procedurally. Midi note values are linear, one per "piano key", with "middle C" = 36. Fractional notes are possible.

   double PitchFunctions.getHertzFromMidi(float midiNoteValue)

The package of this static class: com.adonax.pfaudio.midi

(Please message me if you want to use this as an external library in any game or application you are making.)
21  Games Center / WIP games, tools & toy projects / PFTheremin on: 2016-04-10 19:17:04

jar download > PFTheremin

Continuing on the theme of making scalable audio assets...a theremin in the works. The JavaFX GUI allows it to be played in real time.

I started writing about this and went overboard, so deleted everything. Minimum needed to know to try it out:

> mouse down in the orange area to get playback
> X-axis is pitch, Y-axis is volume (and optionally mapped "Expression Axis" features)

Next post will be an api for use as an external library, if you want to try incorporating this audio functionality in a game you are writing.
22  Game Development / Newbie & Debugging Questions / Re: Time, delays, etc on: 2016-04-01 07:42:57
Good suggestion. I'd like to add that there is also the option of a ConcurrentSkipListSet, where you could use your timestamp a Comparator. Part of the point is that this way one can have the set be invoked in the "game loop" but at the same time have asynchronous events, such as things driven by mouse or key actions, be added into the queue concurrently rather than as part of the game loop.
23  Game Development / Articles & tutorials / Re: Getting Started with JavaFX Game Programming (for Java Programmers) on: 2016-03-31 18:30:11
10,000+ views and counting and no comments or feedback. How should I interpret this?

-> Interest exists in the topic, but my writing is not so great or my examples not so useful?

Insecurely yours, Phil  Clueless
24  Game Development / Articles & tutorials / Re: Getting Started with JavaFX Game Programming (for Java Programmers) on: 2016-03-31 18:24:26
I just came across what seems like a good recommendation for the Node on which to place a Keyboard "listener." The suggestion is to use the Group node that is at the root of the node tree for the GUI, i.e., the node that is passed as a parameter to the Stage.

This is the practice used in the book "Learn JavaFX 8" by Kishori Sharan, Apress. From what I've seen so far (reading selections on Safari via local library account), this is a very useful book. Unlike many books on JavaFX, this one is receiving high evaluations, mostly 5's and 4's. It goes into depth on the specifics of the GUI and has good coverage of the use of the -fx api for using CSS commands directly to style GUI elements.

I still like "JavaFX for Dummies" for getting started, and for its excellent explanation of lambdas. Of the books I've checked out, these are the only two I recommend so far. There is another book that has separate chapters on using JavaFX for Android and iOS, but on first scan it seems like it could be dangerously sketchy (book has some low evaluations). From folks here at JGO, I'm hearing that the resulting code of the porting tools is not that great, but I haven't had a chance to test this myself and get a sense of just how much is lost in the translation.
25  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-03-29 22:11:01
Walking living-challenged.
26  Games Center / WIP games, tools & toy projects / Re: Vangard on: 2016-03-29 22:05:11
I was more concerned about zombies and spells to set your foe on fire by mumbling the alphabet in reverse order.
It is often very important to get the order/reverse order thing correct. The spell for making a Golem from mud can turn the person who speaks the spell into mud if the wrong order is used.
27  Java Game APIs & Engines / JavaFX / JavaFX on Mobil and Embedded on: 2016-03-27 06:28:12
JavaFXPorts is the open source project that brings Java and JavaFX to mobile and embedded hardware, including iPhone, iPad, Android devices, and the Raspberry Pi.

Anyone here check this out yet?
28  Java Game APIs & Engines / Java Sound & OpenAL / Re: LibGDX audio not loud enough on: 2016-03-24 21:58:26
Libgdx has pan support and that's about it. If you use the AL backends you can make it 3D sound.

There isn't exactly a master volume setting as it just uses the gain function in AL to change the volume. Gain in OpenAL is a value between 0 and 1, (which is relative to the constant AL_MAX_GAIN which is normally 1 if I recall).

If you'd actually want to amplify sounds, you'd have to get the PCB data of the sound, actually edit it yourself, and play it back again using AudioDevice.

That's useful info!

So, I'd check that the values used for playback are actually set to 1, and if needed, tweak the AL_MAX_GAIN if it is reachable. From what the OP has stated (that Audacity plays the audio at a high volume), chances are that PCM data is already as high as it can be without clipping. But there is a lingering doubt in my mind--it seems to me that this would have come up before if there was a big difference between playback via LibGDX and other DAWs or sound systems. That (to me) adds to the likelihood that the values being sent to AL are somehow not 100%, and that the issue may be specific to the OP's game.

How much work to test the following: load and play the same assets using TinySound and compare playback volumes. Not sure if that is useful or not.
29  Java Game APIs & Engines / Java Sound & OpenAL / Re: LibGDX audio not loud enough on: 2016-03-23 22:46:12
Funnily enough, the same audio file plays louder in Audacity than it plays in LibGDX.  Amplifying the music would just clip the sound, which doesn't work out in anyone's favor.

Yes. From what has been written here, it sounds more like the issue is the level that LibGDX uses for playback than one concerning the assets themselves. Audacity is really great for easily amplifying assets to the maximum volume just short of clipping. Some audio systems are more conservative than others in terms of how much volume they allow. LibGDX must be on the low side. I've not heard of similar problems with TinySound, but it doesn't attempt to run on as many platforms as LibGDX, and doesn't have any special support for 3D audio. (Does LibGDX support 3D audio?)

The source for LibGDX is available, though. I remember looking through it a couple years ago, and being annoyed at how they coded stereo/mono parameter as a boolean or int and with a slightly confusing name. At least that is what is left of my memory of my general experience code reading the audio portion.

Still, if you are willing to open up a copy (isn't it on github or somewhere like that? I used to have a fork) it is likely very possible to tweak things to raise the volume without causing other problems.
30  Java Game APIs & Engines / Engines, Libraries and Tools / Re: Java Library written IN Java on: 2016-03-22 18:13:37
Someone should write a software renderer for occlusion culling in java...

There are depth buffers in JavaFX. Doesn't the 3D rendering in JavaFX include occlusion culling? Isn't JavaFX 3D now a standard part of the JVM? I think the only limitation with it is whether or not the graphics cards support the functions being called.

What am I missing?
Pages: [1] 2 3 ... 45
CopyableCougar4 (32 views)
2016-06-25 16:56:52

Hydroque (67 views)
2016-06-22 02:17:53

SwampChicken (69 views)
2016-06-20 13:22:57

SwampChicken (68 views)
2016-06-20 13:22:49

SwampChicken (64 views)
2016-06-20 13:22:26

Hydroque (107 views)
2016-06-15 08:22:50

Hydroque (100 views)
2016-06-13 06:40:55

DarkCart (224 views)
2016-05-29 02:30:33

Hydroque (185 views)
2016-05-26 14:45:46

Mac70 (179 views)
2016-05-24 21:16:33
Making a Dynamic Plugin System
by Hydroque
2016-06-25 00:13:25

Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42

FPS Camera Tutorial
by Hydroque
2016-05-22 05:40:58

Website offering 3D Models specifically for games for free
by vusman
2016-05-18 17:23:09

Website offering 3D Models specifically for games for free
by vusman
2016-05-09 08:50:56

Website offering 3D Models specifically for games for free
by vusman
2016-05-06 11:10:21

Website offering 3D Models specifically for games for free
by vusman
2016-04-29 12:56:17 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!