SGS Best Practices - Understand what is going on under the hood.
Ok, so this isn't really an SGS specific comment, but more of advice when dealing with frameworks in general.
One thing I've seen from a lot of people is that they get their hands on a new framework, and while they can write applications using it, they really don't understand what is going on under the hood. SGS isn't magic, but it does help solve a lot of problems inherit in multiuser game server design. These solutions are not without their limits and prices. Just like I suggest anyone that uses any of the standard Collection objects be familiar with the general idea of how the data structures they are based on work, I suggest you peer a bit under the hood of SGS and see how it ticks. This will of course become easier once SGS is made Open Source, but that isn't the only way to get more familiar with SGS.
Dig into the class hierarchy and documentation, and try to get a clear picture in your head how it's structured. Even without code access you can make educated guesses about how it works. Focus on the main classes: ManagedObject, ManagedReference, Task, Channel, DataManager, TaskManager, and ChannelManager. Besides classes, get familiar with SGS Transactional contracts, since they bind all these individual classes into atomic actions. Everything that it accomplishes is grounded in patterns and solutions available to all java developers, not just SGS users. Don't be afraid to try stuff out, experiment, play around, and remember, write lot's of unit tests.
One thing I've seen from a lot of people is that they get their hands on a new framework, and while they can write applications using it, they really don't understand what is going on under the hood. SGS isn't magic, but it does help solve a lot of problems inherit in multiuser game server design. These solutions are not without their limits and prices. Just like I suggest anyone that uses any of the standard Collection objects be familiar with the general idea of how the data structures they are based on work, I suggest you peer a bit under the hood of SGS and see how it ticks. This will of course become easier once SGS is made Open Source, but that isn't the only way to get more familiar with SGS.
Dig into the class hierarchy and documentation, and try to get a clear picture in your head how it's structured. Even without code access you can make educated guesses about how it works. Focus on the main classes: ManagedObject, ManagedReference, Task, Channel, DataManager, TaskManager, and ChannelManager. Besides classes, get familiar with SGS Transactional contracts, since they bind all these individual classes into atomic actions. Everything that it accomplishes is grounded in patterns and solutions available to all java developers, not just SGS users. Don't be afraid to try stuff out, experiment, play around, and remember, write lot's of unit tests.
Labels: Best Practices

2 Comments:
actually im just a student wandering around to seek for any opportunity to lessen my burden of making an online game server; it seemed that darkstar was quite easy to understand (perhaps to deploy) as i just run across it yesterday...
my final year project is to write an online game on 3g phones, alone (i knew nth other than jme, n i guess i hv to use java for my server too -_-)
if u r interested in anything im goin to be done, plz contact me n gimme advice when u'r free
thousand thx!
mail:(shadowaltar@gmail)
By
shadow, At
October 5, 2007 2:21 AM
why'd you quit blogging? I'd read your blog. I wouldn't understand most of it,but being your sweet sister I'd read it anyway. Ooo, you could post pics of you and Gloria. Then we'd at least recognize her come December. Love you lots!
By
Madeline, At
July 29, 2008 12:28 PM
Post a Comment
Subscribe to Post Comments [Atom]
<< Home