Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (497)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
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 [3]
  ignore  |  Print  
  "Project Darkstar" teaser site....  (Read 14412 times)
0 Members and 1 Guest are viewing this topic.
Offline Jeff

JGO Coder




Got any cats?


« Reply #60 - Posted 2006-03-25 23:12:07 »

What are the terms of use going to be when it's out of eval stage?

We are still finalizing the business model,.  A part of what we did at GDC was talk to a *lot* of developers about what kidn of mdoel they would like to see.

We are leaning at the moment towards two models.  A licensing/engineering contract model for very very big sho[ps that want to own their own infra-structure and a service-model for little develoeprs that dont want to have to build and run machine rooms.

I am erpsonally *very* committed to having a model that makes it acessible to very very small developers.  Part of my goal with this project (and a goal to which Sun in general has bought into and agreed with) is to make massively multiplayer online game development really acessible to small developers with limited resources.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #61 - Posted 2006-03-25 23:13:37 »

Battle Trolls is 10% complete :/

Cas Smiley

Yes cas, I agree.  We hoped to have it a bit more done but SDK fires kept the team busy up to right before the show and ew felt making the SDK solid was mroe important then finishign the demo.  BattleTrools (and the bigger JNWN project from which it derives) is our team's own project and were all eager to get a chance to complete it Cool

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #62 - Posted 2006-03-25 23:32:27 »

It is rather embarrassing that Stomping Grounds is a Windows executable running on DirectX though, isn't it.... another snafu...

If it uses the SGS from C++ that's just another plus for SGS, isn't it?  It's all about perspective... they need such a title to attract the ignorant C/C++ devs that would otherwise dismiss it because it was "that slow Java stuff that nobody uses for games".

The real embarrassment is that after using Windows and downloading the Stomping Grounds demo from their site, I STILL can't play because the idiot thing won't launch if you have a debugger running... Sorry, I'm not rebooting just to play your game.

Hrm.  That might be their DRM trying to make sure you dont hack the free-use timer....

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline RossS

Innocent Bystander




MInd Control QA


« Reply #63 - Posted 2006-03-26 05:57:43 »

Hey guys if you guys are having any issues with Stomping grounds,
please send me a email at  rsigworth@mind-control dot com. I will try and see if I can work them out.

Mind Control Software- You like our games.
Offline princec

JGO Kernel


Medals: 378
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #64 - Posted 2006-03-26 12:50:55 »

It's a surprisingly addictive game Ross, I'm impressed by it. Found myself playing until the demo expired. I think it has a good chance on the portals.

Cas Smiley

Offline SubZero

Junior Newbie





« Reply #65 - Posted 2006-03-26 16:07:41 »

Hi there,

i found the time for playing around with the darkstar early access release this weekend, now i have some questions Wink.

1. How  can you define third party libraries your app needs? In the deploy.xml i found no parameter or such thing, to make the sgs load the libraries. I tried adding the library to the classpathURL attribute separated with ";", added the library to the server's lib directory, or added it to the classpath when starting the server, nothing worked.

2. Is it possible to schedule events with a finer accuracy than 1 second using the PDTimer?

3. In the final product, will there be a possibility to acquire some of the game objects directly out of the object store from an application which runs not in the game server? For example some web application which shows the players online status.

I really like the sgs, looks like the software i was all the times looking for Wink

Christoph
Offline ChrisM

JGO Coder


Medals: 3
Projects: 1
Exp: 14 years


Luke...END OF LINE


« Reply #66 - Posted 2006-03-26 17:19:33 »

Just uploaded the corrected installer for Stomping Grounds.  This version will work with the SGS.  any issues, let me know.

Thanks!

-Chris

Offline Jeff

JGO Coder




Got any cats?


« Reply #67 - Posted 2006-03-27 00:38:08 »

Hi there,

i found the time for playing around with the darkstar early access release this weekend, now i have some questions Wink.

1. How  can you define third party libraries your app needs? In the deploy.xml i found no parameter or such thing, to make the sgs load the libraries. I tried adding the library to the classpathURL attribute separated with ";", added the library to the server's lib directory, or added it to the classpath when starting the server, nothing worked.

YUp. Thats a known issue.  I consider it a bug we need to fix.  In the meanwhile you have to either build it into your app Jar or put it on the classpath of the SGS sorry.  just one of those little details that didnt get ironed out in time.

Hopefully within the next few releases you'll be able to put a multi-jar path in for your app.

Quote
2. Is it possible to schedule events with a finer accuracy than 1 second using the PDTimer?

The PDTimer ultimately depends on the system heartbeat timer which has ms resolution (but not necc accuracy as it depends on System.currentTimeMillis currently.).   Although the 1 sec resoluition is hardwired inthe PDTImer code, that code shoudl be in the SDK as source and you can modify it, recompile it, and include it with your app.  Keep in mind that the higher you set that reolksution the mreo load the timer will potentially put on the system.


Its a good "ToDo" point to modify the default version to use a property to set that resolution.  I'll put it "on the list."


Quote
3. In the final product, will there be a possibility to acquire some of the game objects directly out of the object store from an application which runs not in the game server? For example some web application which shows the players online status.

We've talked a fair bit about internally an external "DataBase" access for tools, web apps, etc.  Hearing otehrs ask us for it helsp push it up in the priority list.


Quote
I really like the sgs, looks like the software i was all the times looking for Wink

Christoph

Thanks, its what *I* wanted when Iw as workign on Dark Sun  Online II, way back when.  Obviously this is early stage and the entire team REALLYappreciates hearing the feedback about what featrues you need added/changed.

JK

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline SubZero

Junior Newbie





« Reply #68 - Posted 2006-03-27 06:16:04 »

Thanks a lot for your quick answers. It's good to hear, that all those things will be implemented in the future.
I wish you best of luck with sgs, it's really worth to become a great success. Cool

Christoph
Offline endolf

JGO Coder


Medals: 7


Current project release date: sometime in 3003


« Reply #69 - Posted 2006-03-27 21:23:26 »

Hi

I have a few questions too Smiley

I've only got as far as reading the javadoc and the client/server api docs, not looked at the tutorial code yet.

My game will mostly be talking to the server to update GLOs from what I can see. I can't see a why for the client to recieve data that is *not* on a channel, even though there is a way to send data direct. Am I missing something or is this what was planned.

I'm planning on having multiple areas that are totally unconnected geographially. In my old system I was planning on being able to host these on different servers, maybe even in different parts of the real world. I was planning on being able to offload sectors from heavily loaded machines to not so heavily loaded ones. The sectors themselves have no dynamic state. Objects within them do, but the sectors themselves don't, so AI etc can still be offloaded. Under SGS this isn't the case, and I am concerned that whilst I gain failover, I end up with so much replication type traffic that I can only run servers within the same lan, and that it doesn't scale.

Again, i've probably missed something, but I like to know up front what things I need to think about with designing/coding Smiley

Cheers

Endolf

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

Junior Member




Here we go again...


« Reply #70 - Posted 2006-03-27 22:34:48 »

A possible solution might be not to make these sectors GLO's then?
Offline Jeff

JGO Coder




Got any cats?


« Reply #71 - Posted 2006-03-27 23:07:21 »

Hi

I have a few questions too Smiley

I've only got as far as reading the javadoc and the client/server api docs, not looked at the tutorial code yet.

My game will mostly be talking to the server to update GLOs from what I can see. I can't see a why for the client to recieve data that is *not* on a channel, even though there is a way to send data direct. Am I missing something or is this what was planned.

Originally, we assumed all data sent to clients was channeled.

We've since reconsidered this design decision and will probably implement a non-channeled data send in a future version but for now, yes, this is the case.  Most current apps open up a well known "control channel" at the start and use it to listen for data from the server.

Quote
I'm planning on having multiple areas that are totally unconnected geographially. In my old system I was planning on being able to host these on different servers, maybe even in different parts of the real world. I was planning on being able to offload sectors from heavily loaded machines to not so heavily loaded ones. The sectors themselves have no dynamic state. Objects within them do, but the sectors themselves don't, so AI etc can still be offloaded. Under SGS this isn't the case, and I am concerned that whilst I gain failover, I end up with so much replication type traffic that I can only run servers within the same lan, and that it doesn't scale.

Well, we balance the load but do so differently.  Rather then assignign data to machines, we assign users to machines and let the data flow to them as needed.  The result actually is much better load balancing as we can always be using all processors.

They objects arent duplicated but rather shuffled between servers through the ObjectStore which all the servers share.

You migth still want to segregate communication by region in order to avoid n-sqaured communication load.  Thats done by opening a different channel for each region.  (or, if you want to get fancier, you can actually do it with a dynamic quad-tree with channels at the nodes.  In some games that arent physical simualtion, you might use other paradigms to divide up the traffic in channels, like millitary organization of units.)

JK

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline endolf

JGO Coder


Medals: 7


Current project release date: sometime in 3003


« Reply #72 - Posted 2006-03-28 12:43:39 »

Hi

The control channel is ok untill someone grabs the library and starts sending multicasts down the channel. As I understand it SGS will then route that on to the selected clients without my game logic seing it. At least if my server sees it first, worst case is I can log it, best case I can block it. Stops a potential attack against the clients that is routed through the server.

The clients can send data to the server direct, but I guess I have to send the data to the clients on a channel. It's a shame I can't make them read only to clients so that no client can use it to send data on Smiley.

The sectors are going to be GLOs, but that means that 2 users connected to 2 different hosts will force the hosts to share the data, at runtime between them.

My plan was that a users state would be saved when they docked at some object, or warped in, effectivly removing them from the game area into a lobby area. If the server fell over they got reverted to the last saved location/stats/inventory etc. This isn't ideal and I like the idea of if one server fails, another takes over. You are also correct that the load balancing is handled much better. Does this mean that every task that modifies a GLO results in a DB write?

Endolf

Offline Mr_Light

Senior Member


Medals: 1


shiny.


« Reply #73 - Posted 2006-03-28 14:41:59 »

how much impact will it have wenn server sync over a not so good line.

Like a server in amsterdam with one in singapore resp new york? or with multiply servers are the servers aware about the "cost" of the connection wenn assigning users to a server? Having a server A,B,C what if a server isn't down but the connection between server A and B is for what ever reason not optimal. will it (re)assign the users to B C or if C is also connected to A (in a cirkel) mostly on C.. hmm perhaps a poor example.

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 kappa
« League of Dukes »

JGO Kernel


Medals: 77
Projects: 15


★★★★★


« Reply #74 - Posted 2006-03-28 15:35:06 »

just saw that darkstar got dugg

http://digg.com/technology/SUN_s_Project_Darkstar_Aims_for_Gaming
Offline Jeff

JGO Coder




Got any cats?


« Reply #75 - Posted 2006-03-28 22:11:57 »

Hi

The control channel is ok untill someone grabs the library and starts sending multicasts down the channel. As I understand it SGS will then route that on to the selected clients without my game logic seing it. At least if my server sees it first, worst case is I can log it, best case I can block it. Stops a potential attack against the clients that is routed through the server.

Well, they need to get through validation before they can send anything.

If they can break through your validation and actually log on, well, then I agree there is an issue 'cause they can flood the other clients or even flood the server.

One possible route for breaking into the systenm woudl be by inetrcepting and spoofing packets.   The nice thing about the pluggable transport layer though is that it letys you implement any kind of packet encryption or validation you want.  We have a few experiments we want to try in that space, such as an SSL wrapper around the UserManager/UserManagerClient.  We have rouetrs at Sun that will do the SSL on the server side for us.. the big unknown is how much it will cost in terms of client CPU...

Quote
The clients can send data to the server direct, but I guess I have to send the data to the clients on a channel. It's a shame I can't make them read only to clients so that no client can use it to send data on Smiley.

Well you could open a channel per client, but Im not sure I entirely see the difference.  The system makes it impossible for a client to spoof the server-- every packetarrives with a "from" ID and the server has an id which is uillgeal for clients.  In fact, clients cant even spoof each other beause the ID is assigned on packet arrival on the server side depending on the connection the packet was receieved from...

Quote
The sectors are going to be GLOs, but that means that 2 users connected to 2 different hosts will force the hosts to share the data, at runtime between them.

Yes but the system is *designed* to do that.  Its rather the point of our putting so much effort into making the ObejctStore blindingly fast and highly scalable.  Objects float between slices. Dont worry, be happy, we deal with it.  Cool

Quote
.My plan was that a users state would be saved when they docked at some object, or warped in, effectivly removing them from the game area into a lobby area.

Again, your working too hard!  we do that for you.  Every task is a durable atomic transaction.   So state is being constantly saved.  (Now I dont gaurantee 100% durability in the case of a power failure... only durability up to the last few seconds and that what IS saved is referntially integrous.  This allows me to decouple the very very fast in-memory operations from the long term disc storage.)

Quote
If the server fell over they got reverted to the last saved location/stats/inventory etc. This isn't ideal and I like the idea of if one server fails, another takes over. You are also correct that the load balancing is handled much better. Does this mean that every task that modifies a GLO results in a DB write?

Yup. Every task is a transaction and all object changes are comitted when  the trasnaction completes.

As I say, this is why we worked so hard on and worry so much abou the ObjectStore.  Its really the magic that makes the whole rest of the system possible!

Btw,  the SDK object store is a compromise so you can run on a single system. Its an ini-memory database backing up to derby. Derbyis actually not terrbily fast at writing BLOBs so we have found that, if you really ebat on the server hard, you can get a fairly large "waiting" queue to build up for derby to process.  We might replace derby in the SDK at soem point if I found a more performant pure-java database...

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Jeff

JGO Coder




Got any cats?


« Reply #76 - Posted 2006-03-28 22:16:01 »

how much impact will it have wenn server sync over a not so good line.

At the moment we arent supporting a hot-geographical distribution system.  All the servers for a given SGS abck-end live in the same
machine room or ones that are very close (leased lines within the same city.)  This simplifies a numebr of issues.

A common misunderstanding is that sharding today is about physical location.  It isnt.  Its really about load balancing.  I play city of heroes with a friend in Japan, some in NYC and a few in England all the time-- and the server is here on the west coast of the US,

We can do hot snapshot backups without bringing the system down.  Our thought is that is sufficient for diasaster recovery.  Yo utake a snapshot
once or twice a day and take it offsite.  if you really need a backup site somewhere else in the country or world then you send the snapshots to them.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Mr_Light

Senior Member


Medals: 1


shiny.


« Reply #77 - Posted 2006-03-28 22:31:18 »

At the moment we arent supporting a hot-geographical distribution system.  All the servers for a given SGS abck-end live in the same
machine room or ones that are very close (leased lines within the same city.)  This simplifies a numebr of issues.
very sensable esp at this point.
Quote
A common misunderstanding is that sharding today is about physical location.  It isnt.  Its really about load balancing.  I play city of heroes with a friend in Japan, some in NYC and a few in England all the time-- and the server is here on the west coast of the US,

We can do hot snapshot backups without bringing the system down.  Our thought is that is sufficient for diasaster recovery.  Yo utake a snapshot
once or twice a day and take it offsite.  if you really need a backup site somewhere else in the country or world then you send the snapshots to them.
check.

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 [3]
  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.

BurntPizza (25 views)
2014-09-19 03:14:18

Dwinin (39 views)
2014-09-12 09:08:26

Norakomi (69 views)
2014-09-10 13:57:51

TehJavaDev (94 views)
2014-09-10 06:39:09

Tekkerue (48 views)
2014-09-09 02:24:56

mitcheeb (69 views)
2014-09-08 06:06:29

BurntPizza (51 views)
2014-09-07 01:13:42

Longarmx (38 views)
2014-09-07 01:12:14

Longarmx (44 views)
2014-09-07 01:11:22

Longarmx (40 views)
2014-09-07 01:10:19
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

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
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!