Java-Gaming.org    
Featured games (91)
games approved by the League of Dukes
Games in Showcase (576)
games submitted by our members
Games in WIP (497)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: 1 [2]
  ignore  |  Print  
  JGN vs. Darkstar  (Read 9085 times)
0 Members and 1 Guest are viewing this topic.
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 605
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #30 - Posted 2007-10-01 20:53:46 »

It's such a shame I don't play well with others... eh?

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline SluX

Junior Member





« Reply #31 - Posted 2007-10-01 21:46:42 »

hehe...I will also state an advantage of using JGN is that Riven contributed a lot of assistance in its early development as well. Wink

And what kind of advantage is that? :p

"Intelligence is the most beautiful gift and the greatest temptation which one life can receive from the gods."Me Cheesy
Play strategic football
Offline Riven
« League of Dukes »

JGO Overlord


Medals: 605
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #32 - Posted 2007-10-01 21:53:52 »

That the core got extremely fast.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline sunsett

Senior Member




ribbit!


« Reply #33 - Posted 2007-10-02 00:16:37 »

It's such a shame I don't play well with others... eh?

True, but I got some good help out of you none-the-less. Wink

That the core got extremely fast.

You are responsible for a lot of the performance I keep boasting about that JGN provides. Smiley
Offline lhkbob

JGO Knight


Medals: 32



« Reply #34 - Posted 2007-10-02 01:19:24 »

Riven, obviously you know a lot about performance tuning and things of that nature.  I'm curious as to where you picked that knowledge up.  Was it from specialized courses at college, or from trolling through the internet?

Offline cylab

JGO Knight


Medals: 34



« Reply #35 - Posted 2007-10-02 01:23:14 »

The Darkstar project requires someone that knows the system plus a room full of servers right.  Its my thought that right now there are a lot less sys admins that are familiar with Darkstar which means that their prices are gonna be much higher then just doing a standard co-lo or rent ... and the monthly cost for renting the extra servers is gonna be huge for indie devs.
As far as I understand the information on the community page, project darkstar offers hosting services, so while a standard rental server might be cheaper in the short run, utilizing the darkstar services might be much cheaper in the long (total cost of ownership). If you are unsure about your game, you could also use the development SDK to host the game for the start and move on to the hosting services once it proves lucrative. Having said that, I still haven't decided which library to use for my game, but I will definately have a closer look at both, hoping to find some development cost shortcuts in darkstar.

Mathias - I Know What [you] Did Last Summer!
Offline sunsett

Senior Member




ribbit!


« Reply #36 - Posted 2007-10-02 03:17:41 »

As far as I understand the information on the community page, project darkstar offers hosting services, so while a standard rental server might be cheaper in the short run, utilizing the darkstar services might be much cheaper in the long (total cost of ownership). If you are unsure about your game, you could also use the development SDK to host the game for the start and move on to the hosting services once it proves lucrative. Having said that, I still haven't decided which library to use for my game, but I will definately have a closer look at both, hoping to find some development cost shortcuts in darkstar.

I wasn't able to find any pricing information on Darkstar's site (where I expected it to be I found blank pages), can you give a link or post that information here?  Also, what kind of term do they offer?  I'm assuming it's not a month-to-month kind of deal?

I mentioned in a previous post my decision to go with someone like 1and1.com. The benefit there is that I don't own the hardware, I don't have to worry about any of that hassle.  I do get a server that I have root access to and can run my game from (I'm referring to the managed server deals) for $100/month ($50 for the first three months).  I have to set up a 2 year deal, but even if my game goes belly-up it's not like that server is useless to me (my assumption is that Darkstar's hosting options are specific to game hosting?).  I have a server that I can host files, run a Battlefield 2 server (I often consider that one), set up another game, or put my personal home page on.  I can do whatever I like with the server (apart from take it home...they don't seem to be willing to let me do that).

I don't want to make assumptions though about Darkstar.  I've been out of the loop for a while on it now though, so I'm genuinely curious to know how they deal with these things.
Offline sunsett

Senior Member




ribbit!


« Reply #37 - Posted 2007-10-02 03:19:18 »

By the way, because of all the kick-back I've gotten and the recent discussion about JGN here, I've set up a web site for JGN (http://javagn.org) and it's running Trac.  This will help with bug management and such.  I haven't really had the time to set it all up yet, but for those of you who keep harassing me that JGN needs a web site...I'm working on it. Wink

For those of you not familiar with Trac, it's a very nice Wiki/Bug Tracking/SVN tracking site.  It can work directly with Mylyn (for those of you using Eclipse) and is extremely powerful.  I use it with one of my other projects (http://www.jseamless.org - http://trac.jseamless.org) and absolutely love the simplicity and power it provides.
Offline Mr_Light

Senior Member




shiny.


« Reply #38 - Posted 2007-10-02 04:23:49 »

Hi

Isolation in terms of what?, nodes being isolated from one another?, isolation of games? (SGS is also designed to host multiple games in one environment, again, for hosting services companies or larger studios who have already created 1 SGS back end), isolation of the client from the back end mid game?

Endolf

My bad, Isolation of games (so horizontally?). (I disregarded the others because those problems are not unique with respect to Darkstar's approach.) I'm thinking stuff like badly behaving app's, memoryObject leaks, runaway code, etc.

Um ... what are you talking about here?  You don't actually have to buy a server ... there are hosting services that you can rent an entire server or u can buy a server and co-lo it.  Its cheaper to just rent it initially.  So if ur game doesn't take off ... u just cancel the service. 

The Darkstar project requires someone that knows the system plus a room full of servers right.  Its my thought that right now there are a lot less sys admins that are familiar with Darkstar which means that their prices are gonna be much higher then just doing a standard co-lo or rent ... and the monthly cost for renting the extra servers is gonna be huge for indie devs.
And as Sun wants Darkstar to get a foothold, there will undoubtedly be discounts.  Wink

Your right you can rent(or lease), most of the time your stuck on a fixed minimum amount of time your need to rent. Which is probably around those 3 months, so that doesn't really have an impact. However since they do have to clean that server before use there are setup costs. It might just be putting an image on there but it's still takes more time then deploying a 'webapp'(darkstar apps should become as easy to deploy). also for the control you need to rent a whole box, Well there is shared virtual hosting too.

The cost for extra servers is irrelevant for the dev's, as they don't rent boxes, U's, or Amperes. They rent processing power.(Darkstar is server agnostic, The network is the computer, etc). What I tried to point out is that the cost will be the same or less as normal (because it takes less man-hours.) as normal hosting but you get redundancy for free. because you end up with renting part of the processing power of the backend vs renting a single box or part of a single box.

sunsett, I wasn't trying to say that darkstar is necessary better I was just pointing out that your arguments against darkstar didn't make a impact on this side of the screen.
I though there was a program that allowed free hosting if you signed up early.
 

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline endolf

JGO Knight


Medals: 7
Projects: 1


Current project release date: sometime in 3003


« Reply #39 - Posted 2007-10-02 08:32:22 »

Sun offered the playground, but there were a very limited number of places, and those that got them tended to already have something they could show.

As I understand it, the idea is that the playground is almost like a Sun sponsored incubator. Once you're project is developed and becomes successful, you sort out your own hosting, and they can move another project on to the playground and help you get it up and running. They get hosting experience, which helps them develop that business, and also helps with getting issues in SGS sorted, and you get free hosting whilst you are developing.

That said, I suspect that all of the project on there right now, are commercial developments, but that's just speculation.

Endolf

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Conzar

Junior Member




There is nothing common about common sense


« Reply #40 - Posted 2007-10-02 15:10:43 »

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

Taken from wikipidea
Quote
Communication lag or latency, the time taken for a packet of data to be sent by an application, travel and be received by another application.

I just wanted to bring this up.  So isn't latency an issue for any game that utilizes the internet backbone for network communication?  I read in another thread that 200ms is the average latency for users.

As shown in my loopback example in another thread, RMI has an average of 0.0477ms latency (for sending a message that contains 10 bytes).  I haven't tried RMI across the internet so I don't know what the average latency is for this (sending across the internet is hard to come up with good numbers b/c there are many variables that change ... the best you can do is study over a long period of time to come up with something that is more accurate).

I also will point out that just b/c something wasn't designed for games doesn't mean it won't work or isn't a good solution (OpenGL is a great instance of this). 

So I pose another question to both Darkstar and JGN ... How do you mitigate latency?

Also, Jeff, why do you think RMI can't be used for areas where latency will be an issue?

Ubuntu
Offline sunsett

Senior Member




ribbit!


« Reply #41 - Posted 2007-10-02 15:30:04 »

Conzar, I've stated already, there's nothing stopping you from using RMI for your game development.  If that fulfills your needs then that's great.  I think I've shown that JGN can be actually easier to use than RMI and it's designed for game development so you'll get better performance.  I don't want to argue the validity of RMI for game development, but I will ask why this is even a debate?

I think you'll acknowledge that both JGN and Darkstar are faster and more reliable for game networking than RMI and why develop using something you know isn't going to work as well as another option?  What benefits do you get from RMI?  I haven't seen a single advantage apart from the fact you've already written code for it.  If it's simply trying to justify coding with RMI because you don't want to rewrite your code then that's fine.  If you are using RMI and it's not causing you any problems then it's probably silly to change.

UDP is the primary means for mitigating latency in my game development.  You've got to realize that there are two parts to lag in games.  You have the "actual lag" that is made up of some "issue" that causes data to be delayed getting from one place to another and the "after effects" of that.  The after effects are generally as bad or worse than the actual lag.  For example, if I am sending 10 messages/second synchronizing the position of an object in 3D space and the connection is lagged.  If the delay is 2 seconds, I now have a backup of 20 messages that will still arrive, but 2 seconds late.  In addition I have another 10 messages that just got sent.  Realistically I shouldn't care about those 20 messages that are now out-of-date, I just want the new 10 that just got sent.  However, before those last 10 can get to me on TCP the first 20 must arrive.  This creates significantly more "perceptible lag" because the system has to process those 20 messages in order to get back on track.

JGN deals with this by the use of UDP and RealtimeMessage (I've explained this before) so in places where guaranteed delivery is not necessary, neither is the "after effects" of lag. Wink  I try to minimize the number of messages that are sent via TCP to only those that need guaranteed delivery (such as chat messages).  The great thing about this is that the majority of game communication doesn't need guaranteed delivery so it minimizes the amount of traffic being sent via TCP and when lag spikes occur they are much less perceptible.
Offline Conzar

Junior Member




There is nothing common about common sense


« Reply #42 - Posted 2007-10-02 15:55:54 »

Quote
Conzar, I've stated already, there's nothing stopping you from using RMI for your game development

With my current project, we have not yet decided on which method to use RMI/JGN/Darkstar.  I'm just trying to get a good understanding of the technologies before making that decision.  I am not trying to fly any particular flag ... I have used RMI in the past and have read through their documentation so I understand their system better then JGN and Darkstar. 

I have to ask you guys here b/c JGN's documentation is non-existant (I know ur 1 guy and no time) and Darkstar has some slides from AGDC that are helpful but still not complete.

btw: sunsett, thanks for the information on UDP/TCP and latency.

As I stated before, I'm not trying to offend nor state who is better.  Just trying to get at the facts and try to understand the benefits and detriments of each tech.

Ubuntu
Offline sunsett

Senior Member




ribbit!


« Reply #43 - Posted 2007-10-02 18:09:28 »

That's fair.  I would suggest evaluating your reasons for considering each one and weigh the benefits versus weakness to come up with the right solution.  If you plan on doing game development long-term, I really think it's a mistake to even take into consideration, "I already know how to do this" as a valid benefit.  You should focus on finding absolutely the best solution for what you're trying to accomplish and handle any learning required to get there.

Don't get me wrong though, I can definitely appreciate your desire to find out about what's already been written out there.  I find it rather annoying how frequently people end up writing their own code to accomplish a task when often they could find something pre-written that can actually do the job better and more efficiently than their code.
Offline Conzar

Junior Member




There is nothing common about common sense


« Reply #44 - Posted 2007-10-04 19:56:15 »

Can either Darkstar or JGN do SSL encryption?

Ubuntu
Offline sunsett

Senior Member




ribbit!


« Reply #45 - Posted 2007-10-04 20:40:01 »

SSL is not implemented in JGN, but encryption is fully supported.  The only "included" encryption is Blowfish, but implementing additional encryption styles is trivial.  As an example, take a look at the Blowfish implementation:

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  
/**
 * Copyright (c) 2005-2006 JavaGameNetworking
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 * * Redistributions of source code must retain the above copyright
 *   notice, this list of conditions and the following disclaimer.
 *
 * * Redistributions in binary form must reproduce the above copyright
 *   notice, this list of conditions and the following disclaimer in the
 *   documentation and/or other materials provided with the distribution.
 *
 * * Neither the name of 'JavaGameNetworking' nor the names of its contributors
 *   may be used to endorse or promote products derived from this software
 *   without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * Created: Oct 7, 2006
 */

package com.captiveimagination.jgn.translation.encryption;

import java.security.*;

import javax.crypto.*;
import javax.crypto.spec.*;

import com.captiveimagination.jgn.translation.*;

/**
 * @author Matthew D. Hicks
 */

public class BlowfishDataTranslator implements DataTranslator {
   private Cipher encrypt;
   private Cipher decrypt;
   
   public BlowfishDataTranslator(byte[] key) throws NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException {
      SecretKeySpec skeySpec = new SecretKeySpec(key, "Blowfish");
      encrypt = Cipher.getInstance("Blowfish");
      encrypt.init(Cipher.ENCRYPT_MODE, skeySpec);
      decrypt = Cipher.getInstance("Blowfish");
      decrypt.init(Cipher.DECRYPT_MODE, skeySpec);
   }
   
   public byte[] inbound(byte[] bytes) throws IllegalBlockSizeException, BadPaddingException {
      return decrypt.doFinal(bytes);
   }

   public byte[] outbound(byte[] bytes) throws IllegalBlockSizeException, BadPaddingException {
      return encrypt.doFinal(bytes);
   }
}


DataTranslators allows byte level data translation of message data before sending and receiving.  This is useful for encryption, compression, and any other arbitrary data conversion you may want to do.
Offline endolf

JGO Knight


Medals: 7
Projects: 1


Current project release date: sometime in 3003


« Reply #46 - Posted 2007-10-04 22:15:55 »

Darkstar has a plugable transport layer, so it could be done, but I don't know if anyone has yet.

HTH

Endolf

Offline Riven
« League of Dukes »

JGO Overlord


Medals: 605
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #47 - Posted 2007-10-04 22:21:30 »

SSL encryption and decryption on a heavyduty 10000-connection server?

How on earth would that perform reasonably. Even zip-compression grinds the most servers to a halt.

So... is it relevant? The few parts that absolutely rely on secure data transport, can be coded by the user, the Java API makes that quite trivial, as sunsett just showed.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings
Offline sunsett

Senior Member




ribbit!


« Reply #48 - Posted 2007-10-04 22:49:02 »

I agree with Riven.  It's not practical on a high performance game server to really be doing true encryption, it just takes too much of the system resources away from what they should be doing.  It's probably a better idea to do some basic byte conversion negotiation up-front (similar to SSL) but much lighter and then communicate back and forth that way for the remainder of the communication.

However, I actually do intend to do heavier encryption for certain aspects of the game I'm developing.  For example, if I want to provide the ability to pay with credit card in-game it will use strong encryption for that communication.  Further, for many aspects of the MMO (like trading, buying, etc.) I will also use encryption.  This is another benefit of JGN is that you can modularize the way your game is developed so you can have multiple communication paths for different needs.
Offline Mr_Light

Senior Member




shiny.


« Reply #49 - Posted 2007-10-06 01:57:15 »

SSL encryption and decryption on a heavyduty 10000-connection server?

How on earth would that perform reasonably. Even zip-compression grinds the most servers to a halt.

So... is it relevant? The few parts that absolutely rely on secure data transport, can be coded by the user, the Java API makes that quite trivial, as sunsett just showed.

I know little about it, as it is a bit out of my scope of the work I do,

but what about dedicated (hardware/)chip?
tried google one of the first hits:
http://findarticles.com/p/articles/mi_zdpcm/is_200202/ai_ziff22528

surely this would give all kinds of issues. most likely you can't address it directly with java, all the machines in your backbone would need one etc. Also if  you limit the amount of data than it would limit the performance impact too. My point is that it's perhaps unusual but not beyond exotic.

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Offline sunsett

Senior Member




ribbit!


« Reply #50 - Posted 2007-10-06 14:46:41 »

How much searching did it take to find that?  I live in that world and that's the first I've seen of anything like that.  You can find pretty much anything if you search for it on google, no matter how implausible it may be that anyone else in the world has it. Smiley

I would say it is "exotic" at best.  However, I'll give you credit for an interesting idea and one that would actually work out pretty well if it were at all popular.
Offline Mr_Light

Senior Member




shiny.


« Reply #51 - Posted 2007-10-07 16:16:43 »

I think I typed ssl hardware on google.

about the awareness of existence of hardware like that; euh at some convention unrelated to hardware (was about open source) years back before we where all hacking soho routers to run linux and vpn was crisp and new, there was some guy offering plain hardware like that(that beeing router-like hardware), which you could equip with your own software. It wasn't that expensive so I listened for a while. He mentioned how you could like optionally stick a ssl card in there. Or other acceleration cards for niche/specific jobs.

It's harder to read code than to write it. - it's even harder to write readable code.

The gospel of brother Riven: "The guarantee that all bugs are in *your* code is worth gold." Amen brother a-m-e-n.
Pages: 1 [2]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

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

The first screenshot will be displayed as a thumbnail.

xsi3rr4x (12 views)
2014-04-15 18:08:23

BurntPizza (11 views)
2014-04-15 03:46:01

UprightPath (24 views)
2014-04-14 17:39:50

UprightPath (10 views)
2014-04-14 17:35:47

Porlus (27 views)
2014-04-14 15:48:38

tom_mai78101 (49 views)
2014-04-10 04:04:31

BurntPizza (108 views)
2014-04-08 23:06:04

tom_mai78101 (207 views)
2014-04-05 13:34:39

trollwarrior1 (176 views)
2014-04-04 12:06:45

CJLetsGame (182 views)
2014-04-01 02:16:10
List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:05:20
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!