Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (595)
Games in Android Showcase (168)
games submitted by our members
Games in WIP (646)
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 ... 55
1  Discussions / General Discussions / Re: Oracle are winning in the 'copyright an api' legal fight on: 2015-07-02 06:09:03
Surely it's quite the opposite though; the API can *only* be expressed in one form,

That's a tautological argument.  The process(es) which the API expresses could be expressed in another form as a different API.

a precise set of class, field & method signatures.

And documented behaviour!  Without that the API is pretty much worthless.  With that, in particular in the specification of behaviour between components, you start to get the expression of the idea (IMO).

@Abuse's point is interesting. If copying the entire api is not possible, then compatibility is broken. Applying this logic to vmware and other hypervisors, which rip off entire operating systems' apis, they are all illegally copying (and distributing, @princec) and owe licensing fees to Apple and Microsoft.
Indeed, Java itself rips off windows apis such as the file system, or windowing toolkit, and every other api that exposes operating system functionality. Therefore oracle owes licensing fees to the operating system developers.
Obviously this is silly, but this chain of thought seems consistent with oracle's and some of your arguments.
2  Discussions / General Discussions / Re: Oracle are winning in the 'copyright an api' legal fight on: 2015-07-01 07:54:46
... I was pointing out that @CommanderKeith's suggestion that this case is about Google copying an open-source project is incorrect.  Had they used OpenJDK (and GPL w/CPE), which would also have required said time machine, there wouldn't be a case because of the API permission you mention. 
Ah ok, I wasn't aware that Google used Apache Harmony's java implementation in android, I thought they used OpenJDK.
This case seems to link back to Sun's refusal to grant Apache Harmony the TCK. Apparently they only wanted it to be given to GPL'ed java code.

Still, this is an unusual step for API's to be copyright-able. It's a break from past cases and norms. Copyrights last much longer than patents.
3  Discussions / General Discussions / Re: Oracle are winning in the 'copyright an api' legal fight on: 2015-07-01 07:33:51
I still can't understand how Oracle won in the higher courts after it was established that Google:
-Didn't violate any patents.
-Did do a clean room approach besides a small number of methods' code that the lower court judge said was 'overblown' by Oracle.
-It has been established in past cases that API's are not copyright-able.

As Cero made clear, morally and from the point of view of a lawyer's "reasonable person", open-sourced software is fair game to be copied.
It's bizarre that the US courts are allowing API's to be copyrighted.
What's the point of an object-oriented language that allows inheritance if you can't copy the API to inherit the methods Clueless

EDIT: By the way, wikipedia has a good run-down of the case:,_Inc._v._Google,_Inc.
4  Discussions / General Discussions / Re: Oracle are winning in the 'copyright an api' legal fight on: 2015-06-30 13:50:53
I can't understand how oracle can be seen as being'right'.
They are suing Google for copying an open source project. Seems pretty obvious to me that google is right and oracle is wrong.

Edit: Assuming that google kept to the terms of the open source license agreement, which I think they did.
5  Discussions / General Discussions / Re: Oracle are winning in the 'copyright an api' legal fight on: 2015-06-30 13:22:24
Well that's a relief, hopefully common sense prevails.
Thanks for the link and explanations.
6  Discussions / General Discussions / Re: Oracle are winning in the 'copyright an api' legal fight on: 2015-06-30 08:28:17
Thanks for your comments, very interesting.

Google is wrong because they knew about Java ME and that companies are supposed to pay royalties for mobile development.
Why are companies supposed to pay royalties for mobile development? It seems that is the Apple model, but it's certainly against consumers' interests and the anti-trust pro-competition legal framework. Also, Java ME was a flagging under-invested framework that was dying. It was only a matter of time before it was going to be replaced.

Oracle hasn't won the fight yet but unfortunately they are on their way to success. As part of the JCP EC I know of the hard confrontations...
If you don't mind me asking, what's your involvement in the JCP EC?

Apparently the case has become political, with the US government weighing in and asking the court not to accept Google's appeal. I'm not a lawyer, but to my knowledge, if an appeal is refused then Google can't escalate the matter and therefore has to accept the last (unfavourable) judgement.

From that Reuters article:
The Obama administration, which was asked to weigh in on the issue earlier this year, asked the Supreme Court not to take the case. The administration said the dispute had raised important concerns about the effect that enforcement of Oracle's copyright could have on software development, but said those issues could be addressed via Google's fair use defense.
7  Discussions / General Discussions / Oracle are winning in the 'copyright an api' legal fight on: 2015-06-29 14:38:45

It seems so silly that Java was open sourced, yet these legal shenanigans are allowed to occur.
Ironically, this expansion of copyright powers will probably be the death kiss for copyrighted programming languages. Why would a company use, extend, interface with and rely upon copyrighted programming languages when it is liable to pay fees?
The unowned languages such as JavaScript, c, and rust may become more popular.
8  Game Development / Performance Tuning / Re: Video frame grabbing to bufferedImage on: 2015-06-25 03:14:30
I have used Xuggle for this, so it does work, but I cannot remember how fast it was, sorry. I don't recall it being noticeably slow though.

I wouldn't be surprised if nsigma had a good solution to this built in to Praxis Live.

Yes that's true, I think @nsigma uses a java wrapper on gstreamer, perhaps this:

Also, @Riven's YUNPM does similar stuff:
9  Games Center / WIP games, tools & toy projects / Re: Brutal Fighters - 2D Competitive Action Game on: 2015-06-23 13:49:37
Sounds like a well thought-out design. Thanks for explaining it.
In a first person shooter I think it's easier to hide lag since the player can shoot at a lagged enemy and still score a kill that the enemy will not protest against since he can't easily tell if he was within view of the shooter or not. So interpolating (lerping) and avoiding teleportation is a good choice.
But in side-scrollers or top-down view games where all players can see the same thing, I can see why you chose to align the clients' game worlds as close as possible, despite the possible occurrence of teleportation due to lag.

I wonder how you would sync the clients if you added destructible terrain or some other large-data client-modifiable feature? Because then sending updates with all the terrain data might be too much.
10  Games Center / WIP games, tools & toy projects / Re: Brutal Fighters - 2D Competitive Action Game on: 2015-06-22 10:02:52
Cool, I'm looking forward to giving it a go! Multiplayer games are the best.

A few questions about your multiplayer implementation:
1. Do the clients' simulations run some milliseconds behind the server or do they all run concurrently with the server but the clients do "dead reckoning" to simulate where the game state would be assuming nothing has changed.
2. When a new packet arrives which shows an enemy player did a mouse click and a change in direction, do the other clients 'teleport' the enemy player to his new position instantly or do you smooth the transition?
3. How do you stop the clients' game worlds becoming out of sync with the server? Does the server send the whole world every few frames?
Sorry for the detailed questions. No need for detailed answers.
I'm always interested in how multiplayer code works under the hood. I find it one of the hardest and most interesting things.
11  Games Center / WIP games, tools & toy projects / Re: Brutal Fighters - 2D Competitive Action Game on: 2015-06-21 13:26:41
Looks great on the videos. The graphics are bright and have a nice softness.
I'm not a fan of mortal-combat street fighter type games but this one looks interesting.
For noobs like me, maybe you could make the combos executable with on-screen buttons with icons so they can all be seen.
How did you implement the multiplayer code?
12  Games Center / Cube World Projects / Re: Technetium - A realistic voxel game on: 2015-06-21 13:17:56
Honestly, I'd prefer it to be dead, because it looks EXACTLY like ThinMatrix's tutorial, but whatever.
Try to give constructive criticism. Comments like this bring down the tone of the forum.
One of the many good things about this community is that people who have nothing nice to say know how to keep it to themselves.
13  Discussions / General Discussions / Re: Nice dynamic background on: 2015-06-20 17:27:39
It's a nice image. I don't know how to create it, but it does look like a bunch of 3D sine curves with a transparent gradient fill where the colour and brightness might be based on the distance from some point.

A friend of mine has been working on some similar things with a maths twist called 'curl noise'.

The 3d demos were very impressive, they were rendered in real time.
Unfortunately he didn't put any videos up on youtube but there are links to github pages of (non-java) code that you can download and run on the above blog.
14  Game Development / Networking & Multiplayer / Re: KryoNet Auto Pinging (KeepAlive) on: 2015-06-10 07:54:22
That's unusual. In the API it says that the delay is measured in milliseconds, and 1000ms is one second which seems reasonable.
The default is 8000ms which is 8s.
Perhaps the problem is that the pings have been stored up and the client doesn't receive them for a while. And then when the client finally receives the messages they're all together, when in fact they were sent 1s apart.
Networking problems are hard to debug.
Good luck
15  Discussions / General Discussions / Re: How many projects do you go through? on: 2015-05-30 02:42:53
I have a different problem were I can't get started on a project until I feel I've figured out everything it should include in my head, which is not going to happen for anything complex enough to be worthwhile.
I'm also very reluctant to start something I haven't planned out and therefore don't think I'll finish.
But that means I learn less than I used to when I would dive into things just for the fun of it.

I have a problem. I admit it. I start a project on a weekly basis, and then decide to do something else.

Am I the only one? If not, how quickly do you run through them?
I think your creativity with game worlds and art is very interesting. One of these days you'll stumble on an interesting gameplay mechanic and make something very popular (yorecraft?)  Wink
16  Java Game APIs & Engines / Engines, Libraries and Tools / Re: Fast, reliabe & crossplatform Javascript API/Library for Java? (for game dev.) on: 2015-05-30 02:31:27
I tried Nashorn a few months ago...
Sounds like you are using some other scripting Lib/API for the time being? I'd be very interested in what you use then !? Smiley

For scripting you might like to try janino which is pure java. I highly recommend it, especially if you're not keen on javascript's loose syntax. Janino is as fast as java since it's compiled.

I'm not sure if you're interested in html maths rendering, but I continue to use MathJax which is ok but it re-flows the html page for the client which is not ideal.

17  Java Game APIs & Engines / Engines, Libraries and Tools / Re: Fast, reliabe & crossplatform Javascript API/Library for Java? (for game dev.) on: 2015-05-29 08:15:35
Stay away from Rhino, go with JDK 8 and Nashorn. It's massively faster, is 100% ECMAScript 5.1 compatible and has additional features that make Java interop easier. Also make sure to keep your JDK updated; Nashorn is under active development, there have been many fixes and performance improvements and more are coming.

Nashorn is still unreliable. I tried Nashorn a few months ago and was disappointed that it threw the following exception
java.lang.RuntimeException: Method code too large! 

I was attempting to run the katex math html rendering library ( server-side using java.
Apparently this exception is because javascript methods can be too long for the JVM:
18  Discussions / General Discussions / Re: Teaching Kids to be Independent on: 2015-05-22 07:21:26
Interesting topic, I'm also trying to figure out how to motivate students to learn.

I read once that a key way to motivate employees is to present the job as an impossible challenge that has never been done before. Then the employees rise to the challenge and over-achieve because they take pride in breaking new ground.

I think this can also work for learners because then any progress that they make proves their intelligence and self-worth to themselves, giving them the confidence to continue breaking new ground and allowing them to write-off failures as inevitable which doesn't make them feel stupid.

I agree that competition, examples and relevance are important for effective teaching.

Learners often don't know where to start, so it's important to show them a simple working example.

Relating the theory back to reality helps show relevance. I remember studying trigonometry in school and hating it. Then I voluntarily studied it by myself when I found out that it can be used to calculate projectile paths in games.

I've also noticed that the most effective teachers interact with the class by posing questions, and budget more time for students to do problems themselves rather than making the student listen to the teacher solve problems.
19  Game Development / Networking & Multiplayer / Re: How to properly benchmark server performance. on: 2015-05-17 03:30:47
I'm not an expert, but I run a small Tomcat server and found that JavaMelody ( was very useful for monitoring connections, RAM, CPU, etc. Might be worth checking out just for ideas.
Good luck with the big launch, sounds like an exciting project.

Edit: to test your server setup, couldn't you have another server with the same specs that just keeps connections open with the other one you're actually trying to test
20  Discussions / Miscellaneous Topics / Re: Rust 1.0 has been released on: 2015-05-16 04:28:22
Interesting. I notice that the Rust license is MIT and apache. It's nice to have a less-constraining license than java's GPL, but the downside might be the chance of fragmentation.
Also it looks like Rust is cross-platform since it uses LLVM.

@HeroesGraveDev, you said that you can't write java in rust.
Is that because Rust doesn't support classes and there's no such thing as null? Or are there other more serious problems with translating java source across to rust?
21  Discussions / Miscellaneous Topics / Re: Rust 1.0 has been released on: 2015-05-16 02:02:16
Looks like an interesting language. I haven't read much about it, but apparently it's much more low-level than java and seeks to compete with C++.
For example, its memory management decisions evolved to be similar to C++ with manual heap or stack allocation, and optional library-level garbage collection.

This sounds like a handy feature of the Rust language: "sharing mutable state across a concurrency boundary without a mutex is a compile-time error in Rust". That would have saved me some time finding bugs and learning how to code with threads properly.
22  Games Center / WIP games, tools & toy projects / Re: GNetLib V0.0.0.3 (A Simple Java Networking Library) on: 2015-04-27 13:02:58
Try to avoid morbid thoughts and jinxing fellow members.
TehJavaDev was last active on December 20, 2014. I'm sure he's alive and well.
Best wishes to him and his excellent library.

Edit: oops, wrong person.
23  Games Center / Showcase / Re: RoboFight - LD32 Compo entry on: 2015-04-22 13:10:33
I'm still seeing the same error, cannot create window.
By the way, try making the program dump out System.out to a text file next to the jar file, that way I can easily post the error for you.

@ CommanderKeith is it a Notebook? If yes, Optimus tries to start "simple" games with the integrated Intel HD GPU, to save energy, and only Games which need more GPU-Performance, will be started with the nVidia by default. But optimus sometimes fails to decide which one it should use, so you need to manually start it with the nVidia.
This can be done by right-clicking the game -> start with GPU -> nVidia.
But as much as i remeber this won't wok with java, as they are started with another ".exe" (under windows). For those games you need to go to the nVidia system configuration.
There you will see a drop list of games. If you click on the "add" button, you will see the latest started games. There should be a "Java" entry, which you should add. Then select "use nVidia" and it should now start with the dedicated nVidia GPU.

Hope it helps Smiley
Thanks for the tip, you're right! The Nvidia control panel does have a list of programs with the choice of what graphics card should be used.
Strangely, I can't see java.exe or javaw.exe in there. But I can add them to the list manually.
24  Games Center / Showcase / Re: RoboFight - LD32 Compo entry on: 2015-04-22 05:07:46
Hmm, good question.
When I open up dxdiag.exe it says I have a display with Intel(R) HD graphics 4000 with 1696MB memory.
But When I open up the NVidia control panel and select system info, it says I have a GT GeForce 630M with 2048MB dedicated memory.

So I'm not sure which video card is being used by default.
But other LWJGL games work on this computer.
25  Games Center / Showcase / Re: Crazy Farmer on: 2015-04-22 04:30:49
Oh right, hmm.
Maybe it was the way the jump felt like it was a constant speed, rather than a sudden high speed then a slowing height at the top.
Regardless, it's not a big thing.
Nice work finishing a little game in the short time.
26  Games Center / Showcase / Re: RoboFight - LD32 Compo entry on: 2015-04-22 04:27:50

27  Games Center / Showcase / Re: RoboFight - LD32 Compo entry on: 2015-04-21 06:36:55
Looks nice, but I couldn't get the game to start from double clicking the jar.
javaw.exe fires up in windows task manager but then promptly closes in a second or two, with nothing shown on the screen.
Windows 7, 64 bit, java 8, nvidia.
28  Games Center / Showcase / Re: Crazy Farmer on: 2015-04-21 03:40:42
Nice job! It's a funny little game. I got to level 2, scored 21.
I prefer the jump to not depend on how long you hold the button, but that's a personal preference.
Graphics are nice
29  Game Development / Shared Code / Re: StraightEdge, some questions on use... on: 2015-03-17 11:28:54
Hi Jamz,
Nice to hear from you, thanks for your kind words.
I haven't worked on straightedge polygon library for a while, but I still use it in my projects.
Recently Google code announced that it will shut down so I plan to migrate to GitHub where I hope others might be able to help and get involved with fulfilling feature requests since I haven't enough time for now.
1. I haven't integrated Area class but I agree that it would be nice to have. I should add it as a feature request.

2. I never got soft shadows working, but there are some cheating methods you could use to make it appear as so. Paint the shadow edge as feint grey line. Or use multiple light sources or 'eyes' to cast multiple shadows and paint them on top of one another in a translucent colour so they appear as soft shadows.

3. Yes that's absolutely right.

4. Vision is actually very quick, so the way you propose is fine. It's path finding which is expensive.

5. OpenGL would be great, I did make a LWJGL port once but I was more interested in java2D at the time since it was more reliable. There were a lot of openGL driver problems in the past. I have been meaning to make an openGL version. By the way, in the comments page on google code you can see that some people have ported the library to android and I think they're using openGL to render. The drawing code should be quite easy to switch to openGL from java2d. It's the number one thing I've been planning on doing in my next holiday.

6. The default scale method scales relative to the 'centroid' of the polygon. There is another method which scales relative to an X,Y location, which you can make the origin of the map and then scaling should work as you want. Perhaps I should change this to abide by the 'principal of least surprise'.

I haven't looked into box2DLights ( very deeply but it certainly looks fantastic and is popular here. It has the benefit of built-in libgdx and openGL rendering, and I notice that the author has achieved soft shadows. I will try to learn how he does that.

30  Game Development / Newbie & Debugging Questions / Re: Check for lan servers on: 2015-03-11 10:34:01
Here's a method to do that
Pages: [1] 2 3 ... 55
deepthought (47 views)
2015-06-30 15:39:44

deepthought (51 views)
2015-06-30 15:39:09

deepthought (62 views)
2015-06-30 15:36:52

Za\'Anzabar (38 views)
2015-06-29 05:44:54

TritonDreyja (47 views)
2015-06-24 17:10:40

CopyableCougar4 (46 views)
2015-06-23 00:34:45

BurntPizza (52 views)
2015-06-21 20:36:46

cookiecompiler (93 views)
2015-06-11 15:42:53

cookiecompiler (55 views)
2015-06-11 15:41:14

NegativeZero (80 views)
2015-06-11 09:49:18
How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30

Intersection Methods
by Roquen
2015-05-29 08:19:33

List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21

Resources for WIP games
by kpars
2014-12-18 10:26:14 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!