Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (527)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (594)
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
1  Discussions / Business and Project Management Discussions / Re: Starting a small dev business on: 2014-10-01 08:58:22
Even if the OP is young and apparently inexperienced, I think it's unfair to hide him/her the information he/she's looking for.

It's quite "easy" to handle online payments, thanks to payment processors
http://www.pixelprospector.com/the-big-list-of-payment-processors/


AND most of them probably enable splitting the pay between several partners
http://www.bmtmicro.com/developer-what-we-offer.html
(look for "Vendor Split / Revenue Share")

Now go make something worth selling first  Grin

Hope it helps Smiley
2  Discussions / Miscellaneous Topics / Re: What other programming languages do you use & why? on: 2014-09-04 08:31:37
Personally, I don't count anymore the languages I can use, there are just too many a decent generalist programmer is expected to know.

But the ones I love working with, except Java, are Python and C#.

Python can't be beat for automating things, and making quick (but useful) command-line utilities. The productivity is just sky-high, I'm always amazed with how much I can do so quickly. I use it extensively for improving my workflows.

But for "serious" stuff, ie anything longer than a few pages of codes, or targeted at final users, not just me or other programmers, I love C#. Unity made me start looking seriously into it, and it's such a great language (no wonder UE and CryEngine have been left behind with dreaded C++, they've already lost the game engines war as long as they only support C++) . C# is Java done right. Except for enums, which are so primitive in C#, I love pretty much every design decision in C#, plus the .NET platform is also well thought, and not as bloated with useless classes as in Java. I find everything always more direct and down to Earth in .NET. Java was made for object wanking.
3  Game Development / Newbie & Debugging Questions / Re: Private fields, not really private? on: 2014-08-21 00:05:21
In object programming, being private doesn't mean safe from a security standpoint.
Private means that developers of other classes should not know about, and mess with that private entity. Then the compiler makes sure that rule is followed. It only "secures" programmers among themselves, to allow them not shoot themselves in the foot while they develop. That's all.

If you want security, you'll have to employ much more advanced techniques, such as in-memory encryption etc...
Have a look at client-side password managers (like KeePass) for an idea of how it's done.
4  Game Development / Newbie & Debugging Questions / Re: Struggling to get going with 3D libraries + JavaFX on: 2014-08-20 03:45:25
Short answer:
No, you can't.

Long answer:
The right person to contact for this is JOGL's maintainer Julien Gouesse. No doubt he will soon appear in this thread, he's very active.

You can find more details here
http://www.java-gaming.org/topics/jogl-in-javafx/26881/view.html
and here
https://jogamp.org/bugzilla/show_bug.cgi?id=607

Last time I tried to make OpenGL work in JavaFX, it was a mess. I guess not much has changed since.
And it looks like Oracle is repeating Sun's mistake to encapsulate OpenGL in a half-baked (to be polite) solution of theirs.

Better to stay with Swing (java's GUI system that JavaFX is trying to supersede) for the time being, or to move to other techs.

On a side note, I never had any problem whatsoever setting up JOGL nor LWJGL in netbeans. It should be easy.

If you come from C# and are new to java, you should perhaps be told that in the java universe, 3d is often provided by third parties (as you've found out already) and not by Oracle, unlike in the .NET world where everything evolves around Microsoft's techs, and where everything is therefore more cohesive.
5  Discussions / Miscellaneous Topics / Re: Do you ever actually just despise someone ? on: 2014-08-19 03:19:04
Trolls can be entertaining, and sometimes even necessary to make us stop and rethink about ourselves and our positions. (did happen to me several times)
Most of the time though, they should just be ignored without much thought or hatred, I like it when the internet is free (as in free speech) for everyone, even those we don't agree with.
6  Game Development / Game Mechanics / Re: Getting into multi-threading. on: 2014-08-18 22:15:26
I like threads, they make great coding challenges, and are very rewarding when they work as expected.
They work best when there is very little data to exchange between them.

But in practice, I rarely need them.
They make the code more difficult to write, but also MUCH more difficult to maintain, because they add a new dimension of complexity to the code: we now not only have to worry about what the code is doing (what feature), where (in which class), and how (objects graph and collaboration), but also by whom (which threads). And its hard to see how threads work in a program just by looking at the code, they form a sort of hidden dimension.

It's usually easier to optimize single-threaded code, or to multi-thread very specific parts of a program.
7  Discussions / Miscellaneous Topics / Re: Life is like a strategy game sort off on: 2014-08-14 22:56:08
"You've already made the choice, you're here to understand WHY you made that choice"
8  Discussions / General Discussions / Re: So... state of the art 3D "engines" in Java on: 2014-08-12 12:47:27
Unity is quite a beast.

The overall architecture seems really well thought, at least from the outside. To me, its biggest advantage is that everything in a scene is component-based, it gives an amazing amount of flexibility, both for us users, but also for the Unity dev team. They just keep adding new components version after version, such as the somewhat recent 2d physics and 2d rendering components, and soon the reflection probes.

In terms of rendering, I'm not sure if that answers the question, but they use a mix of frustrum culling, static batching, dynamic batching, and occlusion culling (using Umbra). For the underlying problems all those solutions are trying to solve, I'd start looking at the theory behind each of them.
9  Discussions / General Discussions / Re: Your View on GameMaker? on: 2013-06-18 23:21:46
I played a bit more with GameMaker (GM), and I have to say it's very capable !
I bought the standard edition, and I'm satisfied so far.

Here are the views from a 10-year experienced dev, after a week of toying with GM in the evening:

The bad:
- commercial, need to spend at least 50 bucks if you want to get rid of the limitations of the free version
- primitive UI. The many popups are annoying. Usable nonetheless.
- lack of true IDE: we're very far from Netbeans, Eclipse & co
- after lurking on the internet, it seems Yoyo games (the owning company) has a bad reputation of being just lazy and milking the product, but they're getting better with the Studio edition
- it seems GM (the editor, not the final exported player) is not well supported on Mac. But I'm using a PC, so I don't care
- GML is primitive, you feel it very quickly (though not as ugly as many pretend): not OO (the bigget OUCH!), inconsistent syntax, can define functions but you have to create a "script" for each one, etc... but for a seasoned developer, it's just another so-so language. You can write like C code, and you're done. Being a developer helps a lot here, otherwise it may be confusing for a newcomer, especially memory management of dynamic resources allocated on the heap. Also have to be very careful with the scope of the variables: global, local to the script, or instance variable. Also a lot of people say GML and GM are encouraging bad coding practice. Maybe true for non developers, but you can write manageable code in GM. The only problem I'm seeing for bigger projects is if you want to rename resources (objects, sprites, rooms, etc...) then you have to rename it in your code too, which is spread in multiple places. That is a major drawback.


The good:
- it does what it pretends: to quickly prototype and make 2d games
- The pathfinding functions are great and easy to use
- The engine is fast, you just have to make sure you're not wasting computing power, like in any other language/engine. I don't believe anyone now saying GM is slow, they're just using it wrong.
- can export to iOS, HTML5, Android, Mac, PC, Ubuntu, though each module is expensive (more than the engine itself). Mac and PC are included for "free"
- lots of useful functions for drawing, gameplay, collision checking etc... for example you can draw offscreen on volatile surfaces, you can do in-app purchases and use analytics
- gives access to low level 3D (Direct3D, OpenGL) functions, which is cool for someone who already knows 3D programming
- not too restrictive licensing: can activate the product on 3 machines at the same time
- shaders are on the way! http://www.yoyogames.com/tech_blog/22
http://www.youtube.com/watch?v=I5GABPHMDns
- good documentation, and good tutorials
-- LLVM on the way http://gmnewsbite.net/2013/04/22/yoyo-games-show-the-power-of-llvm/


Compared to Unity (I'm no expert at Unity, only have completed one simple 2d game in it, and many 3d prototypes with the free 3.5)
- GameMaker is much faster to develop with and also much cheaper for 2d games. No need to spend $1,500 and to look for extensions in the asset store, the good ones being easily above $100, more than the pro edition of GameMaker
- for 3D games, well Unity is of course a saner choice, though in GM you can play with low level Direct3D functions, which can be more than enough for "simple" games
- unity is a lot more polished, professional, and modern than GM, with a capable IDE, and a choice of modern languages


Compared to Construct 2 (only used it to prototype a single game 6 months ago):
- GM is more powerful, because I can code if I want. For instance, I can't live without Perlin noise, fractals and other random goodness, so in construct 2 I'm screwed
- Construct2 is easier for beginners on small projects: it's fully drag'n drop, BUT this approach quickly shows its limits for larger games, with more complex logic. It's less readable than code, and takes longer to change with lots of mouse cliking.


Overall, the word that comes first to me when using GameMaker is "enjoyable".
One more tool in my toolbox!
10  Discussions / Miscellaneous Topics / Re: Yippieeee! Got my new Graphic card! on: 2013-06-18 22:48:22
I develop on an intel i7 3612QM + GTX675m.

A medium-high rig, so I expect my games to run on half that power.
So if my framerate divided by two is still acceptable on my machine, I consider my games fast enough for my audience.
I also make sure my textures aren't too large for 3d games, though this is handled automatically when using engines like Unity, which is cool.
11  Game Development / Newbie & Debugging Questions / Re: My game is almost half a Gigabyte in size on: 2013-06-18 03:37:50
I'm not sure why you need thousands of sound effects.
You're making your life harder for little benefit IMO.

1) Especially with small games, you should be ok with less than a hundred SFX, having more won't make the game more fun.

2) if you load all your sounds at once, they will still take up 500 MB in RAM, even if their files are compressed with vorbis
12  Discussions / General Discussions / Re: Your View on GameMaker? on: 2013-06-12 00:33:47
"Tiresome" more in the sense "boring"
13  Discussions / General Discussions / Re: Your View on GameMaker? on: 2013-06-11 23:56:47
Reading this thread yesterday reminded me about tools like GameMaker.

I tried it a few years ago.
Downloaded it again yesterday, and boy it's so fast. By the time I setup a new java project in Netbeans, I already have a small running game in GameMaker, with a background, keyboard controls, collisions, moving characters, and score displayed.

I guess I'll play with it some more for the next days Cheesy
Might even buy it...

Though I love programming (especially in Java), I have to admit finishing a game in java is too hard for me: I get lost too fast toying around with OpenGL, physics and other fancy tech stuff.

With GameMaker, I could forget about technology for a while, and I could concentrate on the dawn game. That felt so good... Grin

I work as a coder during the day, using GameMaker is also more relaxing. Coding day and night gets tiresome after some time...
14  Game Development / Performance Tuning / Re: Limited Palettes on: 2013-04-07 00:05:00
HeroesGraveDev is correct, he said "unless you use a different format".
You can tell in what format an image will be stored in graphics memory, when you load it with glTexImage2D for example (google it and you'll find all the color formats listed).

OpenGL fixed pipeline does have support for palettes and color indices (never used it though, and I dunno how do it with shaders either), but it's rarely used, because nowadays it's not worth the hassle. I doubt LibGDX uses it, it probably just tells OpenGL to store all pixels in graphics memory as 16, 24 or 32bit, without using color indices, to keep things simple. You'd have to code directly with OpenGL to use its palette capabilities.

Just work in 32bit color depth, that way:
- you have all the colors you want
- you lose no performance, and almost nothing in terms of memory
- you have alpha
- you don't have to worry about anything, it'll work (tm)

Limit your palette on the artistic side, when you create your images/sprites, NOT on the technical side, which just brings more troubles than benefits.
15  Game Development / Performance Tuning / Re: Limited Palettes on: 2013-04-06 23:20:52
Yeah, except from the memory savings, you won't gain much (if any) performance, as today's cards and architectures are tuned for 32-bit colors.
And the memory savings will be negligible if you use pixel art. A 32x32 sprite costs nothing, even at 32-bit color depth:

32pixels x 32pixels x 1byte = 1kb for 8-bit (256 colors)
VS
32pixels x 32pixels x 4bytes = 4kb for 32-bit (true colors + alpha).

So I'd say you'll always be safe with pixel art and OpenGL.
Correctly using sprite sheets will have a lot more impact.
16  Game Development / Newbie & Debugging Questions / Re: Correct way to use Random.class on: 2013-04-03 00:32:00
learn stuff properly
You're doing the worst thing for a programmer: applying patterns without knowing why, or just to feel smarter.
Patterns may solve problems (sometimes), but on the other hand they make code more complex and abstract (for sure!), therefore more buggy.

You should concentrate on the KISS principle at all times: Keep It Simple Stupid.

If you don't need a random seed NOW, then don't bother with them. Keep your code as simple and straightforward as you can, because it'll always be too complex as some point, and always sooner than we'd like.

But if you know FOR SURE you'll need seeds, then yes, you may need a singleton, though I hate them.
I prefer to keep an object around (your random nb generator) instead.

Singletons are simply global state hidden behind a trendy name.
And global state will eat you alive without you noticing ! (<= that's why singletons are evil)
17  Game Development / Newbie & Debugging Questions / Re: Creating lots of different enemies (Inheritance, polymorphism, etc.) on: 2013-03-05 02:38:08
None while developing, but it "looks" like it's the proper way.

Once the game is released, it can be useful for players and modders though, or if non-coders need to tweak those values.
18  Game Development / Newbie & Debugging Questions / Re: Creating lots of different enemies (Inheritance, polymorphism, etc.) on: 2013-03-04 03:01:20
Object wank IMO.
Your solution looks fine. Just use whatever sounds logical to you. When it doesn't anymore, change to something more logical. Repeat.
The important thing is not how your code is structured, it's how well and quick you can understand it, now and in 3 months.
19  Games Center / Showcase / Re: Starshock, a retro-esque arcade shooter on: 2013-03-03 19:59:45
Looks pretty neat  Shocked!!
I love the look of it.

If I may, the graphics are only missing emissive/shadeless textures, like neons and fluorescent lights to make it look more futuristic. Think Dark Forces' graphics, which were (and still are) amazing.
20  Game Development / Newbie & Debugging Questions / Re: libGDX - It's so large? on: 2013-02-28 00:24:29
Furthermore I hate taxes anyway D:
Taxes take a chunk out of your monthly gain, but without them, your government couldn't afford to invest in health care, roads, pensions, and a whole lot of other services and infrastructure that you use. Without taxes, you would have to pay a lot of money for various insurances, even more than you already do. I consider taxes the least evil alternative there is.
I used to believe that, but more and more I think my wage is cut in half (France, I confirm) not for the good of the community, but to re-fill the banks so they can invest like crazy and make even bigger profits while we pay their debts.
21  Discussions / General Discussions / Re: Why don't many of you sell your games? on: 2013-02-27 01:00:07
I found that time management is the single most important skill when working on a side project, a lot more than technical expertise, since the latter can be learned rather easily through reading and practice, but for that you need time.
22  Java Game APIs & Engines / JavaFX / Re: JavaFX 3d API and OpenGL on: 2013-02-23 12:54:49
I'm not sure I can follow what these guys are talking about, but it seems we're going to have to write OSL/Decora/Pixel Bender code, then it'll be automagically translated into GLSL / HLSL ? Well, why not...  but although it'd make it easier (higher level) we could potentially be losing a lot of control if we need precise results, since we'd be relying on the underlying OSL/Decora/Pixel Bender-compatible renderer.
23  Java Game APIs & Engines / JavaFX / Re: JavaFX 3d API and OpenGL on: 2013-02-23 08:47:18
Please can you share your source code? I need something working with the fixed pipeline too. Maybe I could help you a little bit but I will start using JavaFX only when it works with OpenJDK.
Here it is.

It's a JavaFX app, that displays a red triangle on a black background using JOGL 2 rc11 (the only needed lib). The drawing is done in a hidden GLCanvas, then using glReadPixels copied into a WritableImage. You may have to click the "redraw" button to see the result at the beginning.

2 downsides:
- The GLCanvas is inside a JFrame, which must be shown then hidden, otherwise all OpenGL calls will be ignored. So you can see the JFrame flashing when the app starts, which is a bit annoying.
- it's very slow, it takes on average 11ms on my fairly good laptop (i7, gtx660m) mostly the call to glReadPixels I suppose

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  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
100  
101  
102  
103  
104  
105  
106  
107  
108  
109  
110  
111  
112  
113  
114  
115  
116  
117  
118  
119  
120  
121  
122  
123  
124  
125  
126  
127  
128  
129  
130  
131  
132  
133  
134  
135  
136  
137  
138  
139  
140  
141  
142  
143  
144  
145  
146  
147  
148  
149  
150  
151  
152  
153  
154  
155  
156  
157  
158  
159  
160  
161  
162  
163  
164  
165  
166  
167  
168  
169  
170  
171  
172  
173  
174  
175  
176  
177  
178  
179  
180  
181  
182  
183  
184  
package todel;

import com.jogamp.common.nio.Buffers;
import java.nio.ByteBuffer;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.image.ImageView;
import javafx.scene.image.PixelFormat;
import javafx.scene.image.WritableImage;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
import javax.media.opengl.GL2;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
import javax.swing.JFrame;

public class Todel extends Application {

    static int width = 512;
    static int height = 480;
    static ByteBuffer byteBuffer;

    @Override
    public void start(Stage primaryStage) {
        final WritableImage writableImage = new WritableImage(640, 480);
//        final PixelFormat<ByteBuffer> pf = PixelFormat.getByteBgraPreInstance();
        final PixelFormat<ByteBuffer> pf = PixelFormat.getByteRgbInstance();


        //        SwingUtilities.invokeLater(new Runnable() {
//            @Override
//            public void run() {
        final JFrame win = new JFrame("Swing");
        win.setSize(width, height);
        win.setLocationRelativeTo(null);

        GLProfile glProfile = GLProfile.getDefault();
        GLCapabilities glCapabilities = new GLCapabilities(glProfile);
        final GLCanvas glcanvas = new GLCanvas(glCapabilities);
//        final GLWindow newtWindow = new  GLWindow(glCapabilities);
        glcanvas.addGLEventListener(new GLEventListener() {
//        newtWindow.addGLEventListener(new GLEventListener() {
            @Override
            public void init(GLAutoDrawable glad) {
                GL2 gl = (GL2) glad.getContext().getGL();
                gl.glClearColor(.1f, .1f, .1f, .1f);
            }

            @Override
            public void dispose(GLAutoDrawable glad) {
            }

            @Override
            public void display(GLAutoDrawable glad) {
                long startTime = System.currentTimeMillis();
                GL2 gl = (GL2) glad.getContext().getGL();
                gl.glColor4f(1, 0, 0, 1);
                gl.glClear(GL2.GL_COLOR_BUFFER_BIT);
                gl.glBegin(GL2.GL_TRIANGLES);
                gl.glVertex2f(0, 0);
                gl.glVertex2f(1, 0);
                gl.glVertex2f(0, 1);
                gl.glEnd();

                gl.glReadBuffer(GL2.GL_FRONT);
                width = glcanvas.getWidth();
                height = glcanvas.getHeight();
                if (byteBuffer == null) {
                    byteBuffer = Buffers.newDirectByteBuffer(width * height * 3);
                }


                gl.glReadPixels(0, 0, width, height, GL2.GL_RGB, GL2.GL_UNSIGNED_BYTE, byteBuffer);
//                Thread
//                
//                BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
//                int[] imageData = ((DataBufferInt) bufferedImage.getRaster().getDataBuffer()).getData();
//                for (int y = 0; y < height; y++) {
//                    for (int x = 0; x < width; x++) {
//                        int b = 2 * byteBuffer.get();
//                        int g = 2 * byteBuffer.get();
//                        int r = 2 * byteBuffer.get();
//
//                        imageData[(height - y - 1) * width + x] = (r << 16) | (g << 8) | b | 0xFF000000;
//                    }
//                }
//                System.out.println("copied color buffer");
//                try {
//                    ImageIO.write(bufferedImage, "png", new File("C:\\Users\\arnaud\\Desktop\\todel.png"));
//                } catch (IOException ex) {
//                    System.out.println("Could not save image because " + ex);
//                }
//                byte[] bytes = new byte[width * height * 3];
//                PixelWriter pix = new PixelWriter() {}
//                byteBuffer.get(bytes);
//                bytes[0] = (byte)255;

                Thread t = new Thread(new Runnable() {
                    @Override
                    public void run() {
//                        try {
//                            Thread.sleep(1000);
//                        } catch (InterruptedException ex) {
//                            Logger.getLogger(Todel.class.getName()).log(Level.SEVERE, null, ex);
//                        }
                        writableImage.getPixelWriter().setPixels(0, 0, width, height, pf, byteBuffer, width * 3);
                    }
                });
                t.start();
//                writableImage.getPixelWriter().setPixels(0, 0, width, height, pf, byteBuffer, width * 3);
                //                for (int y = 0; y < height; y++) {
                //                    for (int x = 0; x < width; x++) {
                //                        int b = 2 * byteBuffer.get();
                //                        int g = 2 * byteBuffer.get();
                //                        int r = 2 * byteBuffer.get();
                //                        writableImage.getPixelWriter().setColor(x, y, new Color(r/255f, g/255f, b/255f, 1));
                //                    }
                //                }
//                try {
//                    Thread.sleep(1000);
//                } catch (InterruptedException ex) {
//                    Logger.getLogger(Todel.class.getName()).log(Level.SEVERE, null, ex);
//                }
                System.out.println("Displayed in " + (System.currentTimeMillis() - startTime) + " ms");
            }

            @Override
            public void reshape(GLAutoDrawable glad, int i, int i1, int i2, int i3) {
            }
        });
        win.getContentPane().add(glcanvas);
        win.setVisible(true);
        win.setVisible(false);
        win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//            }
//        });

        Button btn = new Button();
        btn.setText("Reraw");
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                glcanvas.display();
            }
        });



        ImageView imgView = new ImageView(writableImage);

        Pane root = new FlowPane();
        root.getChildren().add(btn);
//        root.getChildren().add(new Button("gg"));
        root.getChildren().add(imgView);

        Scene scene = new Scene(root, 800, 600);

        primaryStage.setTitle("JavaFX");
        primaryStage.setScene(scene);
        primaryStage.show();
        primaryStage.toFront();
        primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
            @Override
            public void handle(WindowEvent t) {
                win.dispose();
            }
        });

    }

    public static void main(String[] args) {
        launch(args);
    }
}



I have spent a lot of time in improving the environment (the APIs) required for my own project using JOGL during 6 years. Why not sharing your findings? It would be better than nothing.
There may be a misunderstanding here. I have no finding to share, I'm enjoying JOGL so far. What I meant is: all my time must be devoted to wrapping my project, which is very late already


You're right but what do you mainly use in JavaFX? Personally, I'm interested in the charting API and a bit in CSS.
I need JavaFX
1) to do almost exactly what spasi did in his "Dope" project here http://www.java-gaming.org/topics/tool-dope/27389/view.html. A node-based interface. In the meantime I'm using the Netbeans Visual library, but I find it clunky. I'll definitely have to dump it at some point
2) CSS GUI skinning. Swing + Nimbus is ok, but I'd prefer something more expressive.
3) potentially the animation framework, and integrated browser, but later
The neat thing with JavaFX is that it's part of Java, so (hopefully) very well supported. I try to use as few libs as possible.




Why would you provide your own JRE ?
24  Discussions / General Discussions / Re: JDK: upcoming features on: 2013-02-22 12:03:16
Oh ok.
Because JavaFX is using Webkit, I assumed the javascript engine was tied to it.

So they can replace it: V8 in Chrome, Nashorn in JVM...
25  Game Development / Newbie & Debugging Questions / Re: Interface Programming Newbie on: 2013-02-22 09:29:06
With Netbeans, the easiest is the built-in Swing GUI editor. Can't get any faster than that making GUIs in Java.

JavaFX is less straightforward: you need SceneBuilder (external app), then back in Netbeans mess with an XML file, then mess again with a controller (java class). But you get the shiny new features of JavaFX.
26  Game Development / Newbie & Debugging Questions / Re: Free icons on: 2013-02-22 09:25:47
Finding tons of neat icons is easy. It's the licensing part that hurts...
27  Discussions / General Discussions / Re: JDK: upcoming features on: 2013-02-22 09:22:12
About javascript being popular server-side, I suppose it's the perceived "advantage" that you can quickly code the first 1000-5000 lines of code.
Beyond that, you need more experienced programmers.

With java, you hit that limit much much later, but it takes a bit more work to setup things.

Also it seems javascript on the server is "cool" because it's new/unusual.

I don't really see what javascript on the JVM is useful for. If I ever need a scripting language, I'd use groovy.
28  Java Game APIs & Engines / JavaFX / Re: JavaFX 3d API and OpenGL on: 2013-02-21 21:59:52
Yep I saw spasi's technique. I succeeded with glReadPixels and WritableImage. It's slow, but fixed pipeline must work in my case. Didn't try with FBOs.

I can't be of much help, I have zero knowledge of JOGL/LWJGL's inner working, and have my hands already more than dirty with a project using JOGL.
I'll wait for what could be done when Quantum, Prism and Glass go open source, if they ever do...

In the meantime as you said there are workarounds: for me the easiest will be to mix JavaFX with Swing+JOGL.
29  Java Game APIs & Engines / JavaFX / Re: JavaFX 3d API and OpenGL on: 2013-02-21 12:15:00
Looks like Java3D all over again.
Yep.
Can't people learn from History ? Not always it seems...

Scenegraphs are great for simple tools & basic 3D and sucks for everything else.  So it depends on the target audience.  But OMG, Phong...are you kidding me? Cookie cutter materials?  So 80s/90s.  Get with the shader program (yuck, yuck) baby.  I'm too lazy to try to dig-up and look at the source to see if there's a sane low level exposed...if not it's pretty worthless.
I hope LWJGL/JOGL can benefit somehow.
spasi ? Julien ? Save us with a good news please  Grin
30  Java Game APIs & Engines / JavaFX / Re: JavaFX 3d API and OpenGL on: 2013-02-21 08:25:04
It does support lighting. I didn't test it, so I can't speak about performances. If it works in JavaFX, the 3D feature will also work everywhere you can deploy JavaFX, including applets, I guess.
Pages: [1] 2 3
 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

PocketCrafter7 (14 views)
2014-11-28 16:25:35

PocketCrafter7 (9 views)
2014-11-28 16:25:09

PocketCrafter7 (10 views)
2014-11-28 16:24:29

toopeicgaming1999 (76 views)
2014-11-26 15:22:04

toopeicgaming1999 (67 views)
2014-11-26 15:20:36

toopeicgaming1999 (16 views)
2014-11-26 15:20:08

SHC (30 views)
2014-11-25 12:00:59

SHC (28 views)
2014-11-25 11:53:45

Norakomi (32 views)
2014-11-25 11:26:43

Gibbo3771 (28 views)
2014-11-24 19:59:16
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
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!