Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (636)
Games in Android Showcase (178)
games submitted by our members
Games in WIP (688)
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 ... 118
1  Discussions / General Discussions / Speaking opportunity at Austin Game Developer's Conference on: 2008-06-10 16:26:34
Hi Guys.

Sun is sponsoring an Open Source track at AGC this year.  We'd like to find non-SUN speakers for the following:

Open Source Tool Chain: In particular the GIMP and open source audio tools if anyone is familiar with that area.  (We think we have Blender covered.)

PyGame (I know your a Java bunch and this is python but I thought it might be worth asking anyway).


We can't cover trabel expenses I am afraid, but we can get you a speaker badge to the show for your efforts.

If anyone is interested, please email me at

2  Java Game APIs & Engines / OpenGL Development / Re: LWJGL, JSR 239 and Android on: 2007-11-16 02:48:03

Slck ES is a pretty cool thing.  I think it will be VERY useful down the p;ike.

Still, it doesn't get us any closer to a JME ES.  Seeing as you've had some experience with both APIs, Kev,
do you think an lwjgl work-alike wrapper around JSR239 is a doable thing or am I totally whacked?
3  Java Game APIs & Engines / OpenGL Development / LWJGL, JSR 239 and Android on: 2007-11-14 04:10:55
Hey Guys,

I'm not dead, just up to my armpits in Darkstar.

Cas, I tried to make a  login on your forums at but so far the verification email hasnt arrived.  I sent it to my
gmail account, are you not allowing those?

You will be happy to know that between Slick and JME you have converted me to a happy LWJGL user, though I rarely
get down to that level.  Got a question for youl though.

Google's Android as committed to more or less supporting JSR 239 (they say they may make their own mods) which is
the "JOGL ES" binding.  Id love to get Slick and maybe even JME up and runnin g on an android.  So the question is...
do you think lwjgl could be 'soft ported' to live as a wrapper around JSR239?  What sort of work do you think might be involved?

I have a strong feeling this wont be the last JSR239 ready device we see.  Could this be a way to get an lwjgl based stack that
would run well on all of them?


4  Game Development / Networking & Multiplayer / Re: JGN vs. Darkstar on: 2007-09-29 03:49:19
I'm sorry you took offense.  I tried to hit the high points and focal points.

I didn't mention that JNAG has been ported to Darkstar, and does the object level over Dakrstar channels, either.

We don't feel we force  much of any architecture  on a game, we're hardly a game engine.  We do require you write your server code in an event driven style with fairly short events.  Thats about it that I can think of.  In return, we take mono-threaded code and make it scale out massively across a large scale back-end automatically.  We  load balance, and we fail-over.  We also make the back end logic automatically persistent and gaurantee referential integrity.

In general, I am afraid that such general characterizations as you have given above can devolve quickly  into flame war and  opinion and thats not at all where I wish to go.  Your proud of what you've built.  I'm proud of what we've built. Thats as it should be.

People should take a good look at the technologies and what they offer both in terms of functionality  and in terms of market place.  On our end we are more the just a technology, but a technical initiative.   We are trying to redefine the market for massively mult-iplayer online games in a way that opens it for small developers.  If we are successful, thats another thing to consider.

Once they have done their homework, then they should make an informed decision.  partisan voices will be partisan and thats the sum total of it.


5  Game Development / Networking & Multiplayer / Re: JGN vs. Darkstar on: 2007-09-28 18:02:45
Okay so, here's how I see it:

JGN:  Object level communciation.  Lower requirements server side.  Great if all you want is communication

Darkstar:  Byte packet level communication.  More server requirements, a lot more functionality.  Great if you need/want that functionality.
The other thing Darkstar brings you is some industry standardization.  We have big industry players using it now (NCSoft, Gaia Online, etc),  integration with other key game service components like Perpetual's backend,  and are developing a market for hosting providers.  That last can be very important to small developers.

Performance is for the most part a non-issue.  We haven't gone through a tuning phase yet because we are finishing multi-node now but there is no reason why performance doing the same *kinds* of operations (pure channeled message passing) should be markedly different in the long run.
Darkstar *does* push for near linear scalability by adding new nodes to the system.  I honestly don't know what JGN does there.

RMI: A straw man.  It ain't designed for games.  Don't use it for anything where latency is going to be an issue.

For the latest Darkstar information see the sister Darkstar forums at
6  Game Development / Networking & Multiplayer / Re: Couldn't find offset... ? on: 2007-05-16 02:06:10
Again I suspect this is all cascade phenomena from the intialize not completeing properly...
7  Game Development / Networking & Multiplayer / Re: IllegalArgumentException: Already configured ? on: 2007-05-16 02:05:20
My guess is that this has to do with the initialize timing out.

Exactly why that would cause this, Im not sure but Ill run it by our data manager expert.

8  Game Development / Networking & Multiplayer / Re: Problems running the SGS on: 2007-05-16 02:03:05
Very odd.

Ive never heard of HelloWorld throwing a timeout.  It does almost nothing.

Just as a suggestion, make sure the object store is clean and try again.  (you clean the object store by deleleting all the files in the dsdb directory.)

9  Game Development / Networking & Multiplayer / Re: IllegalArgumentException: Already configured ? on: 2007-05-15 03:40:11
I need more information, when are you getting this error?  What does the rest of the log look like?

10  Game Development / Networking & Multiplayer / Re: Suggestion: the "initialize()" task in AppListener not timeout on: 2007-05-15 03:38:31
Keep in mind that any thread you kick off will be outsiude of the transactional system and unable to read or write data in the object store.

And yes, its really bad manners.  Non transactional code should properly go in services and even then use our kernel to get any threads it needs as we're trying to track resource usage.  Since we haven't told you how to do that yet, though, I realize thats not yet an option.

The static suggestion init  block isnt a bad idea as a work around.  The only problem I  see is that your going to fill system memory with your data where it will remain and this will happen every time you restart the server, not just in the initialize() case.   What you do to create a static code block is this:

public class F1oo implements Serializable,ManagedObject {

    static {
          // code here to load the data into storage in memory

    public void initialize(){
         // create managed objects from data in memory

This is better then throwing your own thread, but not as clean as using an "admin client" approach.
11  Game Development / Networking & Multiplayer / Re: Suggestion: the "initialize()" task in AppListener not timeout on: 2007-05-15 03:32:05
From my original post (top of page):
Breaking down "open the file, then create a task to read a little of the file, then create a task to read a little more..." sounds like a lot of work.  Is there no override I can set?

Sorry, at this time no.

Alternately, you mentioned that you're looking into allowing an exception for initialize.  Any estimation about when that might be ready?  I know you can't give dates, but can you tell me if it's a handful of days or weeks or months or years?


Id say we'll have this resolved in weeks or months.  But beyond that at this time I dont know.

There is one other work around.  Its ugly but it works:  write a special "initialization client" that you connect with after the start of the server to load the data and send it to the server.

This is how wonderland initializes its world currently.
12  Game Development / Networking & Multiplayer / Re: Suggestion: the "initialize()" task in AppListener not timeout on: 2007-05-12 23:58:35
Can you split the work up into two or more tasks that chain each other using the TaskManager?
13  Game Development / Networking & Multiplayer / Re: Shardless... related on: 2007-05-11 00:45:29
Functionally, channels are primarily for client to client communication. They transfer data from one client to another.

For security reasons this is *implemented* as a star network, which is to say that the data passed through the bottom layer of the back end infrastructure, but (unless you attach a server side listener which is not recommended) it does not involve the logic or persistence layers at all.  It is effectively acting as a router.
14  Game Development / Networking & Multiplayer / Re: Best practices? get() + markForUpdate() vs getForUpdate() on: 2007-05-09 06:48:52
Is there a performance difference between get() + markForUpdate() vs getForUpdate()?\

Nope. getForUpdate() is basically a convenience method.  there is SLIGHLTY more effort  in markForUpdate but its on the order of a lookup.  Nothing that you should see have any effect on your code.

Is it particularly detrimental to call markForUpdate() many times on the same MObj?  (I know it's not required, I'm asking if it's "a big deal.")
Nope.  No harm in calling it multiple times.

and am wondering if I'm going to (eventually) see a performance hit for all those markForUpdate()s.  Or is the system designed so that this is a perfectly reasonable way to do things? 

Perfectly reasonable and expected.
15  Game Development / Networking & Multiplayer / Re: Windows XP 64 bit libdb_java45.dll on: 2007-05-08 17:28:09
You might want to look at the old Linux FAQ for how people successfully built that before we  included it in the SDK.
16  Game Development / Networking & Multiplayer / Re: BDB native library set for Linux host on: 2007-05-08 17:26:48
You clearly have an old release.

Dowload the latest one, it has the Linux binaries/
17  Game Development / Networking & Multiplayer / Re: Suggestion: the "initialize()" task in AppListener not timeout on: 2007-05-08 17:23:54
This wasn't a deal in 0.9 but, in 0.9.2, my initialized gets timed out.

Of course, I'm running WAY over 1 second, since I'm creating my initial world.

I tried breaking it into sub-bits but, in one area in particular, I'm running over 1000ms just with the file-IO (I read in a config file to define what the world-map looks like.)

Surely the SGS team is aware of the cost-of-initialize()...?  Can we get an exception, there?

I know: "write a <handler of some sort>, using <some documentation that doesn't exist>"...  Uh..., can I get a better hint?


(9.2. looks nice, otherwise Smiley -- don't mean to sound like I'm always bitching; it's a gift, I guess...   Cool )

No, we really do want the feedback.

And we're looking at the options for exceptional tasks that take longer right now-- including making initialize a special case.

18  Game Development / Networking & Multiplayer / Re: Model design strategies on: 2007-05-08 17:21:58

I'm having a look to SGS to check if it is able to easily handle large amounts of server-side data. Related to this I'm wondering a number of things. If someone can help me out with them ...  Grin

  • The server tutorial mentions data that wasn't removed from the object store will not be collected. (Page 3, last paragraph.) Does this mean the total amount of data in the object store is limited to the JVM's heap size ?
No, it means its  limited to the maximum size of your dataabse.  In the SDK this woudl be disc storage where the dsdb is located.

  • I would like to implement a kind of Observer pattern where clients subscribe to changes on the server-side model. To do this it would be very handy to be able to catch changes of managed objects - in order to notify the clients a particular object has been modified. Is there a usual design for this in SGS ? Presumably these notifications must be using the server/client messaging mechanism. Correct ?

Yes.  For a system that does this, see the Wonderland code base.

  • I read in this forum the max message size is 64K for messages sent to the clients. Is this also the case for messages sent to the server ?

Yes this is the current design limit either direction.  Our gut feelign was that  anything that even approaches that size is leaving the realm of interactive communicayion.  If you have a real-world counter example though we'd like to hear about it/

  • Looking for answers I saw a topic about initial model upload to the clients. As my model is way too big to send regularly completely to the clients, I also though about an initial load. Making it only slow at login time. But I would really like to avoid an additional server-side setup, configuration and code development to allow HTTP too. Breaking-up the data into 64K pieces is not difficult. Alas, the resulting number of network requests alone will impact performance. Any suggestion ? Wink

Not realy.  HTTP servers and Streaming servers are built for this kind of massive data distribution.  We chose not to try to replicate that kind of functionality because it already existed and it allowed us to focus on the space the SGS really needed to perform in-- interactive communication.

If you rule out my suggestions to begin with then no, I don't have any other.  I'm not sure how you find an HTTP server complex though...

Many Thanks for helping me !


Thats what Im here for!

19  Game Development / Networking & Multiplayer / Re: Executing sgs.jar file returns java.lang.ClassNotFoundException on: 2007-05-08 17:16:39

Added test.jar to CLASSPATH

Still getting the same SEVERE error.


Suggestion:  Use one of our startup scripts  (sgs.bat, get that workign first, then try to write your own.

20  Game Development / Performance Tuning / Re: Interesting comment on: 2007-05-07 06:01:33
Dunno sorry, it was a general comment.
21  Game Development / Performance Tuning / Re: Heap/Stack allocation on: 2007-05-07 06:00:50
This particular solution is not yet implemented... however for practical purposes garbage collection of short lived objects is pretty much a solved problem-- just using other mechanisms.

I suggest you code and not borrow trouble, then analyze, profile and tune.
22  Game Development / Performance Tuning / Re: minimizing garbage collection on: 2007-05-07 05:58:39
So, I read the thread.

Im *really* not sure your testing what you think you are.  Even if the code gets inlined from your method there are still questions of whether or not registers get used as efficiently.

Its really not a proper test because you have multiple variables (allocation and method call) and youa re just assuming that all the resulting imapct is from one of them

To test properly you would need to eliminate the other variants.  In this case, it means writing an "add" mthod that uses pooled objects rather then a new.

23  Game Development / Performance Tuning / Re: for:each loops versus standard loops on: 2007-05-07 05:49:19
For:each loops are purely syntactic sugar. They are translated to the appropriate code by the compiler, so
there is no functional difference between a foreach loop and its equivalent explicit construct.


int[] a;

   for (b : a){
       ... something

Is exactly the same as

for(int i=0;i<a.length;i++){
     b = a[i];
     ... something

24  Game Development / Networking & Multiplayer / Re: Can't download? on: 2007-05-06 22:10:59
They probably had a download limit or something Cool
25  Game Development / Networking & Multiplayer / Re: SGS ate my exception stacktrace... :( on: 2007-05-06 19:56:42
Your basically correct.

Your task code is called  by the system.  Commit happens after your code returns control to the system.

Thus although serialization happens in the same thread as your code, it happens  outside of  your code itself. 

A full trace would just show the call stack disappearing into the bowels of our tasking kernel.
26  Game Development / Networking & Multiplayer / Re: Can't download? on: 2007-05-06 19:55:29
1.5 would be a Java version, not a Darkstar version.

if you don't have at least Java 1.5_11 under IWn32 then yes you need to upgrade.

get that here:

If you want to dl the 9.2 version of Darkstar get that here:

You need to click the accept button at the bottom of the license.  Downla`oad should the start. Depending on your browser, it may or may not tell you downla`oad has started so check your "downloads" window in the browser.
27  Game Development / Networking & Multiplayer / Re: SGS ate my exception stacktrace... :( on: 2007-05-06 17:16:50
Right.  And, of course, that WAS the problem, which I eventually traced back to me accidentally putting the ManagedObject on my list rather than its reference.

The thing I was hoping to get out of SGS was the debugging aid of a full stack trace which, at the very least, would've come back to a line in one of my tasks, right?  (Well, in this case, it would've.)


Cause that exception isn't thrown when you put it in the field.  We have no way of catchign that.\\

The exception happens in the SGS commit code.
The suggestion that it report the object whose serialization triggered the exception though is a good idea.

Btw, I'm rather excited that I'm currently serving-up frame data that includes moving objects and displaying them in a SGS/J3D client.  Probably no big deal to all of you who have gone further, but a major milestone in this project

Cool.  Im sure everyone would love to see a screan shot or two when your ready!
28  Game Development / Networking & Multiplayer / Re: SGS ate my exception stacktrace... :( on: 2007-05-06 03:36:07
p.s. on a side note, it would be nice if the class that was trying to be serialized was also displayed along with the name of the ManagedObject.

Good thought, I'll suggest it to the team Cool

We're working on the Darkstar ortal now,  One thing we should definitely have is an RFE section to catch these great ideas in a more organized fashion.
29  Game Development / Networking & Multiplayer / Re: Suggestion: psuedo-reliable (reliable-UDP) channel on: 2007-05-06 03:33:32
Uh... where are YOU doing y our field tests?!  My experience is that, indeed, UDP is faster.   I can't remember ever seeing a performance test where TCP was faster than UDP,

TCP and UDP use the same underlying internet transport mechanism.  Under good communication circumstances where you are not getting packet loss and with enough bandwidth to cover what you are transmitting plus your packet overhead, timing by definition MUST be identical.  If you don't believe me, go buy a textbook.

At TEN (Total Entertainment Network) we did solely TCP/IP because its actually lower bandwith over PPP, which was our last critical mile for most of our customers.  (Most customers were dial-up back then.)

We had the best QUAKE2 play on the internet and ran DukeNukem3D and Nascar Online Racing flawlessly for anyone with a decent connection.

Many people do not understand TCP and misuse it.  In these "timing tests" you speak of, did you disable nagle's algorithym?  The problem with a benchmark generally is that, unless you are an expert  on the thing you think your measuring, its likely the results don't mean what you think they do.

UDP becomes *worse* then TCP as soon as you need TCPs gaurantees.  You end up having to reinvent TCP, but in a way that the net does not understand and can't therefor help you optimize.

* Under what circumstances does the SGS team recommend using "reliable", "unreliable" or "unordered reliable" channels?

(Please don't say "if you need reliable communications, unreliable communications or reliable-but-unordered communications", or we'll have to send you to work at MS-tech-support Wink)

Heh, well I wasn't going to say that, but I was going to say something equivalent... always ask for the lowest level of guarantees that you need for your app.  In general the lower the guarantees you ask more, the more room the underlying protocol has to optimize things.

What I mean is: in the context of a multi-player game (specifically an MMO-type), what are their intended purposes?

Totally depends on how you design your MMO.

Guildwars is 100% TCP/IP and runs fine because it was designed for that.  (If you dont believe me, fire it up and do a netstat.) Often, MMO desigenrs go for a mix where they seperate data that is critical or needs to be ordered from data that doesn't and use seperate communication paths for each.  The gain for the added complexity is not clear, but it makes some developers more comfortable.

* Do y'all have any field-test performance data (i.e., "real 'net", as opposed to LAN) on the various channel types?  (...That you can share with us, I mean Smiley)

No we really havent gotten to the point of stress testing the comm layer in a scientific way.  Among other things, until we finish the production (multi-node) servers there are parts of the equation that shoudl be included that we can't measure.

* I read "reliable channel" as "TCP" and "unreliable channel" as UDP.  (a) Is that right?  (b) What does "unordered reliable" represent?  Is that what some people refer to as "a reliable protocol over UDP"?

This is up to the protocol handler, which ultimately means its up to you.

Our default protocol handler does "unordered/unreliable" over UDP and anything with gaurantees over TCP.  However, it would be incorrect for you to start building a client-level reliability scheme ontop of our unordered/unreliable.  Rather, if you want a different mapping such as an actual UDP based "unordered/reliable", you should do it through a custom protocol handler.


My pleasure.
30  Game Development / Performance Tuning / Interesting comment on: 2007-05-05 03:11:09
I was at a conference today that was addressed by James Gosling.

According to him Java 6 is regularly *winning* performance shoot offs with C and with Fotran for scientific computing.  And apparently there are still some improvements that the Hotspot team is working on that he believes will pull us even more dramatically out in front..
Pages: [1] 2 3 ... 118
Dwinin (75 views)
2015-11-07 13:29:08

Rems19 (81 views)
2015-10-31 01:36:56

Rems19 (81 views)
2015-10-31 01:32:37

williamwoles (107 views)
2015-10-23 10:42:59

williamwoles (93 views)
2015-10-23 10:42:45

Jervac_ (112 views)
2015-10-18 23:29:12

DarkCart (137 views)
2015-10-16 00:58:11

KaiHH (118 views)
2015-10-11 14:10:14

KaiHH (159 views)
2015-10-11 13:26:18

BurntPizza (173 views)
2015-10-08 03:11:46
Rendering resources
by Roquen
2015-11-13 14:37:59

Rendering resources
by Roquen
2015-11-13 14:36:58

Math: Resources
by Roquen
2015-10-22 07:46:10

Networking Resources
by Roquen
2015-10-16 07:12:30

Rendering resources
by Roquen
2015-10-15 07:40:48

Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11 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!