Java-Gaming.org Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (565)
Games in Android Showcase (151)
games submitted by our members
Games in WIP (606)
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 ... 292
1  Game Development / Newbie & Debugging Questions / Re: Best Practise - Quad Trees on: 2015-03-30 15:56:28

I pushed it back to the sane realm. Pointing
2  Discussions / Chitchat Monster / Re: Best Practise - Quad Trees on: 2015-03-30 08:07:31
Whilst in said padded room, one is temporarily stripped of his or her rank (the area on the left side of every post). It's nothing, really, just a socially awkward slap on the wrist.

Naturally, people tend to freak out, and over the course of a few minutes turn into an emotional tumbleweed, retaliating the grave injustice by destroying all their posts. That's why editing posts is blocked too.

While the padded room was meant as a warning, some take it worse than a ban. On that note: would you rather be tickled to death or have no legacy... psychology, aye.
3  Discussions / Miscellaneous Topics / Re: What I did today on: 2015-03-30 07:25:08
ASCII alt-codes aren't cross-platform.

I honestly did not know this, guess that explains why other java games (like minecraft) use characters like the &.
It's all bits at one point. Once it's compiled, your String.indexOf('§') will just work. Load & save your text-files with the UTF-8 charset, and it's as cross-platform as it will ever be. There is no reason to limit yourself to ASCII. Having said that, I'd use ♥ as a delimiter.
4  Game Development / Newbie & Debugging Questions / Re: Trouble making VBO rendering easier on: 2015-03-30 01:05:40
I see your point. The 'static context' is not relevant actually, it's just a matter of whether the OpenGL context is current. You are correct in pointing out that it is highly unlikely that the OpenGL context is current at the time the static block is executed, and such code should be frowned upon regardless of whether one can guarantee (it's deterministic, mind you) a context is current. Anyway, enough derailing Emo
5  Games Center / WIP games, tools & toy projects / Re: Imp City, build an underground empire on: 2015-03-29 23:29:49
These extraordinarily long dumps may not be the way to cultivate a fan base Pointing
6  Game Development / Newbie & Debugging Questions / Re: Trouble making VBO rendering easier on: 2015-03-29 20:21:04
You can't call glGenBuffers() in a static context.
I'm confused. What exactly do you mean?
7  Discussions / Chitchat Monster / Re: Best Practise - Quad Trees on: 2015-03-29 20:01:35
It turns out 'next time' was even sooner than expected.

I, for one, do not appreciate the 4chan style of communicating with fellow members. I'd prefer it if you would express your differences more eloquently, preferably in textual format, without insults.
8  Discussions / Chitchat Monster / Re: Best Practise - Quad Trees on: 2015-03-29 19:32:03
skys0ldier and jonjava, consider this a warning. next time it'll be the padded room for a day or two.
9  Games Center / WIP games, tools & toy projects / Re: Battle Tank 3 --- an old school style RTS WIP on: 2015-03-27 21:01:19
The percentage number is calculated by  power consumption/amount of power avaliable, if the number is above 100%, then your production speed is reduced by half.

The inverse is more intuitive. Show 400% instead of 25%, so that you get into trouble when the ratio is lower than 100%.
10  Game Development / Newbie & Debugging Questions / Re: OSX 10.10 seems to have broken my games on: 2015-03-26 18:21:33
A lack of crash reports is rather ambiguous as a statistic  Pointing  Kiss
11  Discussions / Miscellaneous Topics / Re: What I did today on: 2015-03-26 18:16:32
Whatever you do, don't get tempted into feature-creeping your way into something that resembles HTML or UBB code... it's good as it is, I tell ya.
12  Game Development / Networking & Multiplayer / Re: Managing when the server should send which data on: 2015-03-17 13:27:17
if a network loop gets too complex, its a bad network loop.
Anything 'too' is bad, sure, that's an easy argument. Simplifying too much is also 'bad'. Without proper context such statements are meaningless. In this case the additional complexity is caused by bugs in NIO, for which workarounds are needed until they are solved. This is not a case of 'too complex', this is a case of 'complexity for reliability'. If reliability is not a concern, then you are absolutely right: KISS.



99% of errors can be avoided putting "critical" operations on the selector-thread :

- create/close channels
From your replies it seems you were not aware of the blocking nature of SocketChannel.close(). This API 'peculiarity' is enough to slow a busy server to a crawl, when performed on the network-thread. Your workaround with SO_LINGER is rather dangerous, because if the timeout expires, the pending TCP packets are dropped. You might not care, but the other end surely does: think of an http-response being truncated, leaving the browser in limbo.

Closing sockets on 1 worker-thread is a bad idea, as it adds a significant delay to initiating a channel closure, in case the worker-thread is dealing with a slow peers, or simply a lot of them, queued up. Therefore: a threadpool is mandatory.

That KryoNet doesn't have these workarounds is more of a worry than an reassurance.

You can wave these problems and their (library provided) solutions away, but that doesn't mean you won't run into them eventually.

The specification of NIO is nice, simple and consise - the implementation is not as 'battle hardened' as one would expect. You need an abstraction layer to be able to take advantage of it - preferably 3rd party. Either that, or you'll have to fix all these issues in your own code, when they break your game network I/O, over and over again.

How you treat/explain NIO is how it is supposed to work, indeed, but sadly that's not relevant in the real world, where services have to run for months without degrading performance and/or interruption.
13  Game Development / Networking & Multiplayer / Re: Managing when the server should send which data on: 2015-03-16 20:52:32
basil_: bare NIO is quite buggy. I woudn't advice it to anybody but experts. There are several critical bugs in Selector, most commonly observed is the issue of accept() no longer blocking, causing rapid firing, with no selected keys. You could work around this issue by introducing sleeps, but the Selector gets in a worse and worse state, making Selector.accept() consume extraordinary amouts of CPU power, while effectively doing nothing useful. The only way to recover is to hoist all your active connections to a new Selector, until that one breaks too. Rinse and repeat.

A networking loop gets as complex as its developer is experienced. I like to compare it with a game loop: the problem at hand looks trivial, but eventuallly you end up with a hundred lines of code that merely handles timing. Same for networking, but then worse. Oh, did you know closing a TCP connection actually blocks... threadpool here we come!

Long story short: use a library, where all these experts have scratched their head to solve thing you don't want to encounter.
14  Games Center / Showcase / Re: [ANDROID][LIBGDX]Crab Crusher on: 2015-03-15 12:04:32
Offtopic: Twitter and Facebook integration is ultimately the demise of Twitter and Facebook: too much nonsense and plugging, causing an exodus as we speak.

Ontopic: good for you, sllide, for not giving in to feature creap, wrapping this up, taking on the next project.
15  Discussions / General Discussions / Re: New feature: mentions in posts on: 2015-03-12 23:11:33
Thx. Push-notifications are up again Pointing
16  Discussions / General Discussions / Re: What's your day job? on: 2015-03-12 22:19:47
I'm a "server and storage engineer". I seem to have been doing this for about 20 years. Yes I'm *that* old.
Describe your average day... of managing storage. I'm truly curious.
17  Discussions / General Discussions / Re: New feature: mentions in posts on: 2015-03-12 18:13:56
Will look into it later tonight. Currently celebrating the big three-oh with innocent bystanders.
18  Discussions / General Discussions / Re: The Khronos Group announces "Vulkan": the successor to OpenGL on: 2015-03-11 18:25:15
Whatever is behind the JNI is very likely to dwarf the overhead. So even if you do 100,000 JNI calls, the loss in performance won't be due to the JNI overhead, but whatever else is executed 100,000 times (both Java side and C side).

Memory copies/walks are expensive. That's where the performance is gained/lost in this use case.

On an offtopic side note: push/call/restore isn't that slow. Inlining is mostly faster due to all the other optimisations it enables.
19  Discussions / General Discussions / Re: The Khronos Group announces "Vulkan": the successor to OpenGL on: 2015-03-11 17:15:20
Vague, unfounded, yet correct* statement: JNI calls are so cheap that it simply doesn't matter whether command buffer internals are exposed.


* YMMV
20  Game Development / Newbie & Debugging Questions / Re: [Solved] Stop geometry shader from auto-billboarding shapes on: 2015-03-09 14:06:38
As for 'why':


Presumably you assumed (gasp) that the shaders were executed in this order:

   Geometry shader → vertex shader → fragment shader


This would mean that any points you turn into cubes (in the geometry shader), are then transformed by the vertex shader. The order in which shaders are executed, however, is:

   Vertex shader → geometry shader → fragment shader


which means that if you modify a vertex (received from the vertex shader) by adding a vector to it (in the geometry shader), it will be applied after the vertex was transformed (rotated, translated, etc) by the model-view/projection matrices in the vertex shader, causing your vertices to be transformed in screen-space, which causes the 'screen aligned' effect (or, as you put it: auto-billboarding).

Moving the vertex-transformation from the vertex shader to the geometry shader will allow you to apply the transformations in the right order.



As for the opening-post: this optimisation will most likely only hurt performance in the long run, because it prevents more advanced culling strategies like greedy meshing, bulk-backface-culling*, etc. The fastest way to perform an operation is not to do it at all. Reducing the overhead of the operation will only get you so far.

* splitting chunk geometry into 6 segments, 1 for each side of all the cubes, allowing you to not send any TOP faces if you know the chunk you're rendering is entirely above the camera.
21  Java Game APIs & Engines / OpenGL Development / Re: How to avoid duplicate shader code? on: 2015-03-09 13:48:07
They whisper that attaching multiple shaders of the same type to a program results in a degraded optimisation capability. persecutioncomplex I never tried it, so YMMV.
22  Discussions / Miscellaneous Topics / Re: IRC? on: 2015-03-08 18:22:08
I see the smiley. You were probably on your mobile and the image hadn't been fully downloaded yet.
23  Discussions / Miscellaneous Topics / Re: IRC? on: 2015-03-08 11:09:11
@Rayvolution: whenever I get banned from #java-gaming, I will resume my eternal slumber in #jgo. It's the official channel, you know, and plugging it on JGO years ago didn't do diddly-squat. Emo
24  Discussions / Miscellaneous Topics / Re: IRC? on: 2015-03-08 10:49:49
@Riven: The fact that you feel the need to apply the concept of leadership here tells quite a bit about your personality, don't you think so?
Isn't it common knowledge that the worse a group of people behaves, the tougher the leadership should be? A criminal organisation is pretty much run like an army or it'd fall apart -- and introducing democracy through war is destined to fail, but I digress in an utmost uncoordinated manner.

I don't know how this relates to my personality, but sure, whenever there is anarchy, your cute fluffy overlord's hands get itchy. What would happen to JGO when it were to be ruled democratically - one can only assume the worst. These kiddos need a leader! (which is what happened and all is fine now)
25  Discussions / General Discussions / Re: How to Charge for ONLINE-Play: Subscription vs. Credits/Wallet? on: 2015-03-07 08:29:01
The problem with getting charged for the amount you play, is that it discourages people to play. With a flat fee, however, people will want to make most of their 'investment' and play as much as they want (or more).
26  Discussions / Miscellaneous Topics / Re: IRC? on: 2015-03-07 08:23:09
Ah, a bunch of kiddos desperate for a leader.
27  Discussions / General Discussions / Re: How do I request my game to be featured? on: 2015-03-06 10:28:55
It's an uncoordinated, rather arbitrary process, highly prone to bribery. $_$

As I cannot read each and every post (mommy knows I try...), a PM is the most effective way to bring your game under the attention of those in control of said process.
28  Discussions / General Discussions / Re: The Khronos Group announces "Vulkan": the successor to OpenGL on: 2015-03-04 14:36:42
isn't it 3.5 ? .. wouldn't call intels opengl-driver a real driver.
Wouldn't it be 2.5 then? persecutioncomplex


* Riven heads for the hills.
29  Game Development / Game Mechanics / Re: Making GUIs on: 2015-03-03 18:18:48
Nuff of this. We all have our ill-informed moments. No need to 'gang up' on our beloved Keith. I'm sure lots of people found new information in this thread about the inner workings of Swing - we should focus on sharing such information instead of telling eachother how ill-informed we are, over and over and over. We don't need N similar corrections from N people quoting the same statement. It gets old rather quickly.

I'm not saying this as a moderator - just as a slightly annoyed innocent bystander.
30  Game Development / Game Mechanics / Re: Making GUIs on: 2015-03-02 21:37:24
Modal dialogs do not cause a new Thread to spawn. They create a new Event Queue and Event pump, right on top of the current queue/pump. Think of it as recursion. A stack of queues and pumps, where only the top of the stack is active.

When you have an uncaught exception reaching an event pump callsite, however, a new EDT will be spawned, as the active EDT is considered in a state not worthy to recover.
Pages: [1] 2 3 ... 292
 
ags1 (8 views)
2015-03-31 10:55:12

theagentd (13 views)
2015-03-27 23:08:20

wxwsk8er (54 views)
2015-03-20 15:39:46

Fairy Tailz (47 views)
2015-03-15 21:52:20

Olo (29 views)
2015-03-13 17:51:59

Olo (32 views)
2015-03-13 17:50:51

Olo (39 views)
2015-03-13 17:50:16

Olo (44 views)
2015-03-13 17:47:07

ClaasJG (58 views)
2015-03-10 11:36:42

ClaasJG (42 views)
2015-03-10 11:33:01
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

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
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!