Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (744)
Games in Android Showcase (225)
games submitted by our members
Games in WIP (825)
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 ... 53
1  Discussions / General Discussions / Re: would any of you guys be offended if on: 2017-12-06 05:04:21
just watched osakuros video trailer for "Fist of Jesus"

for some reason, I was reminded a bit of this one:<a href="http://www.youtube.com/v/I-hYq3Y9IoU?version=3&amp;hl=en_US&amp;start=" target="_blank">http://www.youtube.com/v/I-hYq3Y9IoU?version=3&amp;hl=en_US&amp;start=</a>
2  Game Development / Newbie & Debugging Questions / coming up on being ready to deploy a project on: 2017-12-05 20:49:09
I'm coming up on being ready to deploy a project (audio-based, a drone tool I started years ago, has undergone many GUI and performance improvements).

I know I've seen advice and links here about how to include a JVM in the file. I even tried out one of the tools ('jarsplice') years ago. Summary of what I found via doing some searching here:


Also came across the following from Oracle:
https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html
and javapackager

Was also checking around for anything Eclipse-based.

I'd appreciate hearing current suggestions for ways to distribute via itch.io that include the JVM.

Code makes use of Swing not JavaFX. Otherwise, nothing too fancy involved, just Java 8.

Before diving in too deep to these various articles, it seems like working with JarSplice will do the job. Do others agree? Seems like trying that should be my next step.

Thanks!
3  Java Game APIs & Engines / Tools Discussion / Re: Library for making games in java easier. on: 2017-12-05 06:49:01
On the theme of making games easier to program with Java, you might be interested in incorporating my GitHub project: AudioCue. The simplest use case is very similar to what you have.

    AudioCue cue = new AudioCue(url, n); // n=number of instances allowed that can play concurrently
    cue.open();                                       // allocates default resource, after which cue is ready to play
    cue.play();                                        // simplest way to play a cue, using default vol, pan and freq
    cue.close();                                      // deallocates resources, use when cue is no longer needed

The code helps make game-audio easier to code in additional ways: can play sounds back concurrently, and at different speeds, can also change volume, panning or pitch in real time, and can send messages to AudioCueListeners in the graphical or game-logic portions of the project. These capabilities are often useful in game audio, and can be quite a headache to implement with Java's Clip or SourceDataLine.

License is BSD. If you bring it in (there are just three classes and two interfaces involved in this library) it would be nice to have a link and credit for the code I wrote.

Good luck with your project!
4  Game Development / Newbie & Debugging Questions / Re: Newbie to Game Development on: 2017-12-02 07:36:28
Hi and welcome!

There are resources listed via a Java Gaming Resources link that is just under the Logo on the top left. That section hasn't been updated in a while, though.

I'd like to plug my tutorial Getting Started with JavaFX Game Programming. With JavaFX, the "game loop" structure is somewhat simplified as the loop timing (maintained at 60fps) and rendering are handled pretty much automatically. Coding mostly involves game logic and manipulating properties. I also like that the coding is closer to being able to take advantage of tech like CSS, given JavaFX's FXML.

We have many other good tutorials in that section (Game Development/Articles and Tutorials), like Eli Delventhal's Game loops! I remember that was helpful when I first started out about 8 years ago. The older tutorials will often be AWT, Swing, Java2D which are becoming more and more "legacy".

And the Wiki area is worth exploring.

Mostly, though, if you have a question, someone here will probably be able to steer you to something pertinent and helpful. Or else they will steer you to something that they are passionate about but which may be tangential. (I've been guilty of this, too.) Such is the nature of public forums!
 Cool
5  Discussions / General Discussions / Re: Gosh, it's quiet in here on: 2017-11-14 17:46:07
Quote
I got the dump imported into MySQL.

That was my thinking when I started inspecting the data, to load as many tables as possible into MySQL and go from there. The tools I have for inspection are not so hot: e.g., Notepad/Wordpad! Advice on a better way to inspect the dump would be appreciated.

Quote
After spending two hours to understand the tables and relations, wrote a script to migrate the categories and boards. The current output is like this:

Is this the view from within Flarum? (Is there a consensus that Flarum is a good target? Or a good intermediate step to something else?)

Looks good! I can see that the GUI should work well on small display screens.

The only thing I'm wondering about is the sub-categories at the bottom and how they relate to larger blocks.

I did peruse the dump file a bit, but was slow on the trigger to download MySQL, and haven't downloaded Flarum yet either. I'll do so, if we are going in this direction.
6  Game Development / Performance Tuning / Re: Simple way to show quickly-changing values on: 2017-11-13 16:14:58
You can use a timestamp and test for elapsed time before updating the JLabel.

If this were more than just a test, I'd consider polling the value from the game loop rather than using every change, unless you need to know each step.

For example, for a 2D area used for a virtual Theremin (y-axis = volume, x-axis = pitch) I poll the mouse position from the game loop rather than allow the mouse movement listener to drive the updates. The mouse is restricted to updating local variables which get checked by the game loop for current value. The synthesizer, upon receiving the new values every 16.6 millis or so (60fps), instead of sporadically and in clusters, employs smoothing based on the known time increment between updates. This works well. But of course it may not fit the requirements of your particular needs.
7  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-12 18:27:46
Would love to see (tutorials):

Getting started with game programming with Clojure
Getting started with game programming with Kotlin

and make both oriented for Java programmers.

Get a basic game loop going, and bounce a ball, with keyboard/mouse interaction (as I did with JavaFX).

Learning Clojure was very fun and weird. When I was looking at it, I also went through the first few MIT Structure and Interpretation lectures, and recoded them with Clojure. This was my first introduction to LISP-type structures and programming patterns. It is great help for getting your head around operations using function interfaces in chains. But I didn't see it through to where I could figure out how to make a game with it.
8  Discussions / General Discussions / Re: FXGL (JavaFX Game Library) looks like it's coming along nicely on: 2017-11-10 19:51:52
Neat!

Instead of hassling people interested in game engine work, telling them they should make games instead, we can direct them to consider contributing to this project?

I haven't checked it out, yet. Was compelled to write a bit of snark first.   Cranky
9  Discussions / General Discussions / Re: Gosh, it's quiet in here on: 2017-11-10 19:43:31
Maybe the Forum could draw more attention as JVM-Gaming.org  persecutioncomplex

That is an interesting idea. From the Kotlin thread, I was afraid we were going to provoke a new kotlin-gaming.org and it would be yet another brain drain from java-gaming.org.

A jvm-gaming does appeal to me, as it is inclusive. The concept of jvm gaming can also exist under the title or name Java-Gaming, can't it?

Yes the minecraft surge has probably peaked, but Java is still taught in high schools and colleges all over this country, and remains #1 on Tioga. This should remain a strong source for new members, if we are set up to welcome them.

Then, part of the process could be that many might go from first making a "pure" Java game to advance to something like Kotlin or libjdx. It would be great to have that path made clear and hassle-free/harassment-free. In that sort of structure, I see my role as someone more focused on the new-comers as well as on audio tools. But I'm happy to see folks grow into libgdx or Kotlin or whatever.

As far as "drawing attention," isn't the main way that people find us come from our existing forum content that is pertinent to searches being made? The content has to remain, doesn't it, for the forum to be visible, doesn't it?
10  Game Development / Performance Tuning / Re: for loops on: 2017-11-10 19:23:40
Question: didn't @Riven once publish a structure that optimized for contiguous memory for objects? "MappedObjects"? Was there a preferred iteration process involved? Is that approach still considered useful? At the time it came out, it was a bit over my skill set, and I wasn't able to learn the lessons it provided.
11  Java Game APIs & Engines / JavaFX / Re: Off screen rendering, drawing images onto themselves and other shenanigans on: 2017-11-09 01:01:10
Quote
It's maddening that all that seems to be requires is:

WriteableImage.getGraphicsContext()

Is this something that can be requested from these folks?
http://mail.openjdk.java.net/mailman/listinfo/openjfx-dev

Where does one go to request something like this?
12  Game Development / Newbie & Debugging Questions / Re: Importing 3D models to javaFX Group on: 2017-11-09 00:12:02
I just took a look at the stackoverflow link you gave.

That answer loads directly from an STL file. No need to do the conversion, as I outlined.

It has a complication in that it loads to a Mesh object which is not a Node. To get the data into a JavaFX node, the Mesh is loaded into a MeshView, which is a subclass of Node.

It might be a bit tricky to set up the data in the Java project correctly, but this solution should work fine, and should display the textures, too, if you include them in the project.

13  Game Development / Newbie & Debugging Questions / Re: Importing 3D models to javaFX Group on: 2017-11-08 23:46:24
Step 1: convert model to fxml.

You can do this using the app that is downloadable from here. I had no trouble getting this app to run on my Windows system--it was just a matter of extracting all and clicking the .jar file enclosed.

The export control should be easy to find. I loaded and then exported this 3D model of the Hubble.

Step 2: put the exported .fxml and texture files (in this case, .bmp) into your Java project.

I used a simple, flat directory structure:
graphics_example
       FXML_Example.java
       hbltel_1.bmp
       hbltel_2.bmp
       hbltel_3.bmp
       hbltel_4.bmp
       hbltel_w.bmp
       hst.fxml

Note: the texture files come packed within the download zip file from NASA. When the .fxml file was generated, url references to these textures were embedded. I made no edits to the .fxml file. It is very large.

Step 3. Following is a simple class that should load and display the model. (Note, I didn't implement any camera movement, so the viewpoint is fixed.)

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
54  
55  
56  
57  
package graphics_example;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.AmbientLight;
import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.PointLight;
import javafx.scene.Scene;
import javafx.scene.SceneAntialiasing;
import javafx.scene.paint.Color;
import javafx.stage.Stage;

public class FXML_Example extends Application
{
   public static void main(String[] args)
   {
      launch(args);
   }
   
   PerspectiveCamera camera;

   @Override
   public void start(Stage primaryStage) throws Exception
   {
      Group root = new Group();
      Scene scene = new Scene(root, 1000, 600, true, SceneAntialiasing.BALANCED);  
     
      camera = new PerspectiveCamera(true);
      camera.setTranslateZ(-700);
      camera.setNearClip(0.1);
      camera.setFarClip(3000.0);
      camera.setFieldOfView(60);
      scene.setCamera(camera);
     
      // ADDING A 3D Model via FXML
      FXMLLoader fxmlLoader = new FXMLLoader();
      fxmlLoader.setLocation(this.getClass().getResource("hst.fxml"));
      Group graphic = fxmlLoader.<Group>load();            
      root.getChildren().add(graphic);      
   
      PointLight light = new PointLight(Color.WHITE);
      light.setTranslateX(0);
      light.setTranslateY(-3000);
      light.setTranslateZ(-1600);
      root.getChildren().add(light);
     
      AmbientLight ambiance = new AmbientLight(Color.WHITE);
      root.getChildren().add(ambiance);
     
      scene.setFill(Color.SKYBLUE);
     
      primaryStage.setScene(scene);;
      primaryStage.setTitle("3D Model from FXML");
      primaryStage.show();
   }  
}





@elect alerted me to this GitHub project, called Java Open Asset Import Library which may be a good alternative. Check with @elect for more info on that!
14  Game Development / Newbie & Debugging Questions / Re: Importing 3D models to javaFX Group on: 2017-11-08 03:45:43
I'm not able to recreate the situation from your explanation. How does one load an STL file from your link? The only download button I see outputs a PNG. It will help me if you spell out your steps more completely.

My first test was the following:

I downloaded the "JavaFX 3D Model Browser" from this page.

I then downloaded the Hubble Space Telescope from here.

jimModelBrowserJFX-0_4_1.jar ran without complaint. I was able to load the Hubble data file with no problem and am tooling around it on another window right now. The Hubble file is named hst.3ds.

I'm going to play around with this a little more, then see if I can find an STL format file to view.

********

I was able to download and load a .stl file in the JavaFX model browser, this one from the Hubble.

I was also able to download and view, in the browser, the "Cylinder Head" on this page.

In all cases where the data was not fxml to begin with, there was an option to export the data to an fxml file. I was able to view the export-created fxml files without a problem.

********
It looks like this page has models in several different formats to try out.

********

Main issue, then, is perhaps how to load these models in a java program? Working on that now.

OK, the following basically worked, as far as pulling the graphic into a Java program:

1  
2  
3  
4  
5  
      FXMLLoader fxmlLoader = new FXMLLoader();
      fxmlLoader.setLocation(this.getClass().getResource("hst.fxml"));
      Group graphic = fxmlLoader.<Group>load();    
       
      root.getChildren().add(graphic);


A couple things:

> I got the hst.fxml file by exporting the hst.3ds file mentioned earlier from the ModelBrowser.

> The import in this case was to a Group object. Not all loads do this. Another example I tried loading had to be loaded into a TriangleMesh. Then, the TriangleMesh had to be loaded into a MeshView. Another example loaded to a MeshView. In each of these cases, the code above has to be modified to account for the object type being specified in the .fxml file.

> My controls for lighting and keying the camera around are rather clumsy and I don't have a good example yet. If I get a nice clean example, I'll post it. But you are going to have to be on top of things like positioning the camera and the object to where the object can be seen, as well as handling light.

I hope this helps somewhat.
15  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-08 00:03:05
Standard Operating Procedure, for me:
1) try various approaches
2) pick best
3) test choice occasionally against variants, go back to 2.
16  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-07 23:15:11
Very nice to hear AudioCue works with Kotlin!

I'm wondering if this means that Kotlin's interop with Android means that AudioCue can be used with Android via Kotlin? There are basically just a couple IO functions (SourceDataLine and AudioInputStream) that rely on the javax.sound.sampled. Everything else in it is vanilla Java. I was assuming that for AudioCue to work with Android, it would be a matter of recoding the two IO points, and accepting the higher latencies that come with Android devices.

Suggestion that I might be afraid of change or stuck with ingrained practices is kind of hilarious. I hadn't even see my first line of Java code until into my 50's, something like 8 years ago.
17  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-07 20:04:25
Maybe because I am "old" I very much appreciate @princec's take on variable types. There may be a few situations where the use would be benign, where the type doesn't matter and thus having to specify it is, indeed, "noise." But I think it is legitimate to worry that the feature will be abused and overused.

I am reminded of the old saw "a place for everything and everything in its place." Drives kids nuts, and for good reason: they are much more capable of remembering where everything is and don't see the motivation. Since they are pretty much bounded to a smaller area than adults, it is much easier for them to keep track of things.

With age and increased responsibility, the amount of information that you can or care to clutter your head with gets much smaller. It definitely adds to the cost of context switching, with trying to move between multiple projects.  Carrying trivial crap around like what the dang variable is or isn't is an aggravating nuisance. It's like having to continually stop for commercials when you just want to watch your movie. I am now experiencing the so-called joys and freedom of *var* with the JavaScript/VR project I'm working on, and am finding it a considerable annoyance with both debugging and with code-reading libraries and examples.

What is the term? Ah, here it is: technical debt

[EDIT, restatement of the controversy in terms of cognitive activity: is it more or less burdensome to mentally block out a bit of redundant "noise" than to carry additional facts in working memory? ]
18  Game Development / Newbie & Debugging Questions / Re: Importing 3D models to javaFX Group on: 2017-11-07 04:19:23
On first pass, it looks to me like the library you found is quite cool and should work as you are hoping it will work. Have you tried downloading it and running any of the models? I'd be very surprised if the imported model did not have it's own root node that is attached to the JavaFX node-based structure.

I'd like to give it a try, also. I'm very curious about this aspect, and want to know more about it. I'm also wanting to learn about importing 3D Models in the JavaScript world--using a VR/AR framework called AFrame. I suspect there will be some overlap as far as the tech goes. Maybe between us we can write a quick-easy tutorial for the next person who want to give it a try.
19  Discussions / General Discussions / Re: Gosh, it's quiet in here on: 2017-11-07 04:07:01
I forget to mention that most of my professional programming life has been spent with databases. OK, its mostly MS Access but with a lot of VBA behind the scenes and some web-apps interfacing through Microsoft-world servers and such, but also SQLServer and installation and dabbling with MySQL. I am comfortable working with relational database structures. I have migrated data on multiple occasions.

When I ask to for direction, it doesn't mean "tell me what to do". It was meant more as "point me in the direction of a problem or issue or task to be solved." I'm capable of researching and getting up to speed on issues. I just want to make sure I'm interfacing with something useful.

I'm looking forward to perusing the data dump.
I'm looking forward to checking out the various proposed forum targets.

I vote "nay" on Slack.
20  Discussions / General Discussions / Re: Move to Kotlin? on: 2017-11-07 03:42:38
I read that Kotlin is fast, but the article was saying fast as in almost as fast as Java, but much faster than Python, JavaScript, others of that ilk. What is the truth on Kotlin's speed?

I would be wary about any woohoo on multiplatform implementation. Is it proven or in development? There were several woohoo multiplatform attempts with Java that ended up not being as good as initially hoped. Maybe I'm wrong about all of this, since I didn't get that far with my games to follow through on that aspect.

Put it this way, is the iOS for Kotlin similar to the iOS provided by RoboVM for Java?

Mostly, I was impressed with what I read about Kotlin, being fast and well designed. But I'm waiting to hear more before I try dabbling with it.
21  Discussions / General Discussions / Re: Gosh, it's quiet in here on: 2017-11-05 23:24:36
Yep. Count me as one of the "inexperienced" that is willing to volunteer time. But I would make a distinction between lack of a particular technical expertise with the ability to get in there, learn what is needed and accomplish something. I didn't know scratch about digital audio when I first joined this site.

Having a database dump is a necessary and helpful step. Will it be something that can be done iteratively? In other words, if you do a dump on Jan 1, 2018 and it takes until March 1 to get all the migration steps in place and ready to go, can another dump be done on March 2?

20 active members + what...250? 500? 1000? "guests" checking things out every day?
Goal would be, in part, to flip more of the "guests" into active membership. Seems like Java-gaming.org site could also be a useful meeting/marketing place for game makers, tutors, those providing libraries, others.

What are possible new platforms to consider?
22  Discussions / General Discussions / Re: Gosh, it's quiet in here on: 2017-11-05 21:10:03
@SHC (or whoever would like to get some project management experience on their resume) -- I would be willing to contribute time to the project of migration. But I would need direction. I would need to work as an assistant, and am willing to do boring grunt work, and am no stranger to just biting the bullet sometimes and plowing through a list of items that take hand-coding. (Being a musician, having undertaken countless hours of practicing, it teaches you a certain patience with drudgery.)

The last time I worked on a migration was in the 1980's, to convert 8080 to Z-80! I jumped in to help out our main programmer who was in the process of burning out while putting FORTH cores on multiple systems. I'm proud to say, the effort was successful, despite my having to learn both 8080 and Z-80 in the process.
23  Java Game APIs & Engines / Java Sound & OpenAL / Re: AudioCue, an alternative to Clip, for 2D games on: 2017-11-05 20:49:41
The code has been posted at GitHub.

https://github.com/philfrei/AudioCue

I was trying to do more before posting, but that could take forever. There is enough here now for someone willing to jump in and try the code out.

"More" would be things like tutorials, examples, as well as clear paths to finding same. Maybe also some sort of "donate" button. (Finally set up PayPal account, am waiting for them to verify my bank links and still have to figure out how to get a button and post it.)

Also, as a GitHub project, I need to figure out how to manage the project, e.g., to do lists and how to work with people wanting to contribute or fork the project (if any are interested -- also, how do they contact me?).

But at least there is a start so folks should be able to use the mix-down capabilities to a single SourceDataLine now.
24  Discussions / General Discussions / Re: Gosh, it's quiet in here on: 2017-11-05 07:46:07
In the last 18 months, over 100K people have at least looked at the "Getting started with JavaFX Game Programming". I think it would be great if some folks wrote follow-up tutorials to build on that. Maybe some of those visitors would stick around with more of a "track" to follow.

I can see where there is a lot of frustration here with many of the veterans, with JavaFX. Though for my purposes, simple GUI's and 2D games and even some simple 3D game ideas, I haven't run into any of these obstacles personally. Maybe that is more a statement on my limitations than anything else. 

What is needed to get, for example @abuse's suggestion of a WriteableImage.getGraphicsContext()? This is over my head, in terms of understanding what is involved.

What would be possible if we did a better job of supporting JavaFX for what it *can* do well, and the fun that can be had working with it? We have JavaFX listed as a child tab on Java2D, which doesn't seem at all right to me. The few posts that are on that thread are mostly complaints about what JavaFX isn't, not solutions to interesting problems or anything fun. I think that would be very discouraging to anyone interested in exploring learning more about coding in the JavaFX space. It would be more encouraging if there were some articles on next steps after the beginning stuff in that article.

I'm sorry to be taking so long with getting the little audio mixer tool up and available. Seems to me with JavaFX and a decent audio tool (AudioCue is not bad, for starters), there's a lot of neat stuff that could be made.

I think part of what makes Java cool is that you can code-explore mechanics and ideas and thus make something that is not a template-driven clone of a clone, but has its own unique aspects. Sometimes we get people here who are relatively new to programming and interested in game-engine level coding, and they usually run into a blizzard of discouragement. Exploring engine mechanics could lead to figuring out some new game mechanics to try out, and the skills learned would make it easier to follow through on those ideas.

Java continues to be taught in high schools and colleges. There is a large reservoir of kids that is going untapped, it seems to me.
25  Discussions / Miscellaneous Topics / Re: What I did today on: 2017-10-20 22:39:34
Non-Java, but programming related: I received my first paycheck yesterday from a startup I have been working with (with request not to deposit it until tomorrow). Not much money, but they are basically paying me to learn as I go and giving me valuable work experience. Project involves VR (using JavaScript / AFrame library).

We had a meeting yesterday where I had to show work done so far. Fortunately, I think I chose well and got a few key things working very smoothly, rather than trying to do too much. For example, an animation (fade to black) for transitioning between "rooms" that people neither noticed or remarked about, as it was glitch free (not easy to achieve).

Museum staff felt good enough about the progress that my boss was approached about working on a grant for an additional project, which pleased him immensely.

I want to comment on JavaScript and on adding operator overloading to Java.

With physical work, (e.g., involving sacks of cement, say), the size of the bags have evolved to something that an good strong male worker can hoist around (I'm thinking of the 100# bags I dealt with, years ago). Now, if the work force were of people of smaller physical stature (e.g., included many women), it would be more efficient if the bags were sized to a slightly lower maximum. Does this make sense?

The point I want to make is that there is a mental correlation: working memory (similar but not to be confused with short-term memory). Young brains can juggle more items at one time than older brains. Maybe I can only track 5 or 6 thoughts at the same time, rather than 8 or 9 like a twenty-something programmer. I think it must be tempting to push the limits of what one can juggle. But having too much stuff to keep track of at the same time ends up being counter-productive. Operator overloading, it seems to me, adds to the load on human "working memory." A better form for the leveraging of complexity is via "chunking," which I take as encapsulating or grouping functionality in a single entity (e.g., a class, a function, a subroutine).

I don't often see discussions about the merit of languages talk much about the human "working-memory" demands of that language.

JavaScript makes pretty high demands, it seems to me. I'm still not able to easily tell something that is usually pretty obvious in Java: a given variable's scope and whether its use in a statement is subject to closure or not. Maybe you've seen the articles on "favorite interview questions" as examples. I can link one if needed. I truly hope Java doesn't go down the path of adding functionality that increases the human working-memory load.
26  Discussions / General Discussions / Re: JGO Twitter List on: 2017-10-18 18:47:38
didn't notice this thread until just now

@PFreihofner
27  Game Development / Game Mechanics / Re: JavaFX GameLoop on: 2017-10-17 17:14:52
I'd like to help, especially since JavaFX is being used. But this is a lot of material to digest (for the amount of time and brain space I have available). Is there a more specific question that can be considered?
28  Discussions / Miscellaneous Topics / Re: Career advice on: 2017-10-11 16:45:29
First off, I'd like to add my congratulations!

I'm not clear what the pro arguments for the larger company might be. Is the latter company at risk of failing? In the USA, at least, things are pretty chaotic in terms of corporate survival. Even in established companies, divisions within them are subject to reorgs and have a nasty habit of coming and going.

There is certain value to learning about databases if you haven't had much experience dealing with them. The most important things, though, IMHO, are not so much about building them or dealing with the internals, but being able to analyze real-world problems and design database structures at a higher level to accommodate them. By higher level, I'm thinking in terms of ERD diagrams and employing concepts such as "normalization" where appropriate, and organizing the data to optimize for the most important functions. Having direct experience with working with SQL is very helpful here.

I'm not familiar with PureScript. It could be a very good thing to pick up, as well. Certainly the processing of transactions, learning more about the financial operations will also continue to be hugely important.

The most successful person I know in programming has done a lot of job-hopping over the years, and now has a nice position at Adobe. At least here in the USA, a lifetime commitment to work with a single company is a thing of the past. (For example, my father spent his entire programming career at IBM.) So, as someone new coming in, I'd try to anticipate the type of work I'd like to eventually do or the industry I'd like to know more about, and treat the first position something like an "internship" or a learning opportunity and a stepping stone, rather than a final destination (but don't tell them that in the interview!).

Thus, will the type of programming you would be doing help you, going forward, or is it a technology that is going stale? I'd be worried that the "low-level" coding involved in the first job might go the way of COBOL, and not be helpful except for "legacy" programming jobs 10 years from now, say.

I imagine companies have a certain culture to them, and that could also be an issue. Is the more established company one that respects its employees and does not overwork them? The same question can be asked of the "startup." Sometimes startups can make huge demands and burn out workers, as well as have troubles meeting payroll. But from what you described, your "startup" is actually pretty well established already, so those sorts of things are probably not a concern. And, as the younger company grows, it will be more likely to hire people, near term, that you will be senior to, whereas the first company will mostly only offer promotions when people ahead of you leave.

Another "job culture" aspect not mentioned is the availability of mentoring. If the "startup" company is just going to throw you at problems in a sink-or-swim manner, that can be stressful, and personal progress can be slower as you have to learn things on your own, as opposed to having a senior who shows you the ropes.

I also don't know a lot about your own goals, for example, if something like game programming or another passion is highly important, and picking a job that supports that passion is an issue (e.g., by providing more free time to work on your own projects).

So, for the most part, from the info you gave, I agree with the others that the "startup" job looks more appealing, but I am not ruling out possible scenarios where taking the other could be the better, say as a "strategic" choice in the short term, with the assumption of moving on after a couple years into a more promising direction.
29  Java Game APIs & Engines / Java Sound & OpenAL / Re: AudioCue, an alternative to Clip, for 2D games on: 2017-09-26 20:51:12
Progress report:

Added two changes to AudioCue
  • has interface that allows it to be a "track" for an AudioCueMixer
  • added an alternate "Open" method where an AudioCueMixer is an argument.

Wanted to keep changes to API down. Above seems acceptable. Did some refactoring in the process to minimize code duplication between playing the AudioCue in its own thread vs. being part of mixer.

Two new objects that are part of the project:
  • AudioCueMixer (class)
  • AudioCueMixerTrack (interface)

Just finished round of debugging and ran a test on two AudioCue's being played via the mixer at the same time, and it worked fine. The cpu on the Windows Task Manager is staying below 0.5%, as it should.

Still some more work to do before publishing. I have to expand the API (write doc-comments) and other things like set up demo code and provide instructions.

I am second-guessing the name AudioCueMixer. The only thing that this class does, if you get down to it, is funnel all the audio to a single SourceDataLine output. There are no other standard mixing capabilities if you are looking at this as analogous to a DAW. All that has to be done via the constituent cue classes, as before. Also, I worry about confusion with the javax Mixer class (badly named imho).

It is possible to instantiate the AudioCueMixer with a buffer size and thread priority. The buffer size will be used to set the SourceDataLine buffer size, as well as impose this buffer size on the member AudioCueTracks. When no default is specified, I put in what I think is a rational default to override the really large default in the Java API. It seems more reasonable to make all the tracks use the same buffer size rather than trying to manage individual tracks having their own buffer sizes. If someone wants to have a different buffer for a given cue, they can run it independently or in a second AudioCueMixer.

AFAIK: while merging audio lines is helpful for situations with a limited number of outputs, I'm not at all clear that the doing merging at the Java level is any better than relying on the jre or native code provided that implements javax.sound.sampled.

Am also considering putting the project on GitHub. I kind of liked the idea that the code base was small enough that it could be easily loaded from a couple .java files, and GitHub tends to suggest more elaborate projects. With the AudioCueMixer added, we are now at 5 files (not counting demo & test code files). GitHub now has tools available which make it much easier to use than before, so that is an argument in its favor.

Blah blah keeping up my word count per post. This isn't exactly something I get to chat about with local friends and family exactly, nor with any 'employer', so hopefully some slack will be cut.
30  Java Game APIs & Engines / Java Sound & OpenAL / Re: AudioCue, an alternative to Clip, for 2D games on: 2017-09-15 04:21:02
By all means, nag! I am far too easily discouraged or distracted. If people ask for things I am much more encouraged and likely to follow through. Character weakness.
Pages: [1] 2 3 ... 53
 
Ecumene (143 views)
2017-09-30 02:57:34

theagentd (207 views)
2017-09-26 18:23:31

cybrmynd (291 views)
2017-08-02 12:28:51

cybrmynd (283 views)
2017-08-02 12:19:43

cybrmynd (293 views)
2017-08-02 12:18:09

Sralse (286 views)
2017-07-25 17:13:48

Archive (955 views)
2017-04-27 17:45:51

buddyBro (1089 views)
2017-04-05 03:38:00

CopyableCougar4 (1660 views)
2017-03-24 15:39:42

theagentd (1422 views)
2017-03-24 15:32:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05
java-gaming.org 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‑gaming.org
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!