|
Bi-Weekly Updates Bi-Weekly Updates are SWGEmu's cornerstone updates, posted every two weeks. |
|
Thread Tools | Rating: | Display Modes |
#1
|
|||||
|
|||||
Bi-Weekly Update 6/30/08
1) Update Overview: (TOC)
-Lair Updates -Status of Missions -Combat tweaks and additions -New Admin Commands / System -Script Changes -Image Designer progress -Cloners 2) Body: Lair Updates: The old lair code was revised and overhauled by panchjr. Lair's can now be spawned through LUA script, which will tie in nicely with mission scripts. Those interested in spawning their own lairs should take a look at the code/scripts added in this commit. ------------------------- Status of Missions: The mission manager class is well under way. I (Ramsey) am responsible for doing this and currently revising the "Mission map" used for keeping track of the available missions and assigning them to players. I am testing out a method I have devised with this map to save object ID space, and overall decrease memory usage significantly. To elaborate, SOE treats each mission like an individual object in the world (like creatures, players, items etc). While doing this fits nicely into their current protocol and object scheme, it can be an extreme waste of server resources if handled the way I suspect they do on the official servers. Normally, each object in the world is assigned a unique ID, instanced, and deployed into the world. Imagine assigning an ID and instancing EACH mission for EVERY player that needs it....that's resources we are not willing to spare for a trivial object such as a mission. Instead of doing the same with mission objects in Core3, I have decided to only initialize missions once with their own key (thats unquie & descriptive - set in script) and simply reuse the object for every player that needs it. The initialization would only take place if the mission is even required in the entire galaxy, of course. The key would be a small abbreviation that can identify each mission from one another, for example "Ramsey's Delivery II" could have the key of "rd2" (the server would obviously check for key collisions). Each mission in use by active players would be inserted into the object pool ONCE with ONE object id for every player to reference. The SOE method would keep track of mission progress by the individual object ID, which would mean every single player that is on the mission would have their own mission in the object pool. While it may be slightly easier to keep track of progress this way, it is by no means the only way to go about doing things. Now, if we are treating a players mission the same as everyone else - how will we keep track of individual mission progress? Aside from tweaking the mission map stuff, I am drafting methods to make a "checkpoint" system work. At certain intervals - or portions of the mission - a "checkpoint" is saved at the server/database. The goal of the checkpoint system is to save the most accurate state of a player's journey throughout a mission while cutting down on the resources required to do so. Overall, saving a missions progress is fairly easy as far as the server is concerned. The only thing the server needs to worry about is saving the 3-4 byte "key" and a byte for a corresponding mission checkpoint. Whenever a player connects, the server pull's the mission state data and with those 4-5 bytes of data, find's the mission object needed with the key (which is linked the current mission's world object ID) and at what point the player left off at (checkpoint byte). The mission object, which is only in the object pool once, is sent to the client and appropriate checkpoint items are spawned. Much better than inserting a new object into the zone for every player that is on "Ramsey's Delivery II", isn't it? To sum up the system: Each mission object is treated as one entity as far as the server is concerned, no matter how many players are on the particular mission. The general information about the same mission is distributed to every player that needs it under the same object ID, while the state of a mission per individual is filled in later using a "checkpoint" system. The usage of a new mission state/checkpoint system eliminates the need to insert the same mission object into the pool, which in SOE servers has been used to store the mission state. Using the same object in the server cut's down on the number of objects the server has in the pool, therefore directly decreasing the amount of system resources used. ------------------------- Combat tweaks and additions: Commit 415 and 414. Kellina, Arioch, Smusatto (and others, I'm assuming) have made big contributions to the combat related scripts; updating with correct skill ranges, adding the majority of combat spams, and fixing a few skills. What made SWG PreCU so magical was how "correct" and balanced the entire game was (from what I've heard ). Updating scripts which require no programming knowledge go a long way into perfecting the overall PreCU picture. We encourage SWG players of all kinds (casual to hardcore) to look through scripts and fill any pieces of data with correct values. We cannot stress enough the fact that ANYONE can contribute to the project, regardless of skill with computers/programming. You are a submit a way to creating a better precu! ------------------------- New Admin Commands / System: Commit 406 and 410. We touched base on developments in the Admin field last update, which is still continuously being improved. Two new commands have been added and we have changed the admin listing system to be pulled from a file, instead of in a cryptic if statement. Kellina and bobius are behind the following changes: @summon: The ability to summon a player to the admin...for further questioning. usage: @summon <SUPPLY PLAYERNAME OR CURRENT TARGET> @warpPlayer: The ability to warp a player to the nearest starport, hotel, shuttleport, medical center, bank, garage, or salon. usage: @warpPlayer <SUPPLY PLAYERNAME OR CURRENT TARGET> <starport> <hotel> <shuttle> <medical> <bank> <garage> <salon> @grantAdmin / @removeAdmin: The ability for current admins to grant a player temporary admin rights. usage: @grantAdmin / @removeAdmin <Player Name> Server admin's are no longer listed in an if statement, but now pulled from a list on server start. The "adminusers.lst" file (located in the bin directory) contains the names of server admins the server will grant admin rights to. ------------------------- Script Changes: Commit 413. The never ending flavor of the week: Script additions. The Core3 scripting system will always be improved, and there is no escaping it! Scripting will be the driving force behind SWG content - and its surprisingly easy to contribute something to the project using scripts. Bobius has converted every single lua item to an object oriented format for the sake of unity and maintainability. Future server admin: You should seriously be taking a look at scripting development and familiarizing yourself with them. If you haven't taken a look at the scripts in awhile, I highly recommend you browse them sometime this week and see if there is anything you can improve/add - it really isn't hard! ------------------------- Image Designer progress: Commit 408. McMahon has been chipping away at Image Designer, if you haven't noticed for the last month+. He now has color changes and tip amount showing up. Commit 408 also contains various internal improvements, which can be viewed in finer detail using the link above. If you see McMahon on IRC - Image Designers (well, everyone really) should be thanking him for his hard work and continued persistence in the area. ID ftw? ------------------------- Cloners: It's always nice to see old faces return to the scene. Zstars from the RevZ/Core1 days makes an awesome return with the start of Cloning interfaces/classes in the Core3 code. He is currently working on basic cloning stuff in ticket #139. You can track his progress by regularly looking into that ticket. His ticket is an excellent show of the beauty in the trac system. Wish him luck in the area of cloners - hopefully we'll see the ticket bearing ingame/TC fruit soon! ------------------------- 3) Developer Perspective: ("Round Table") Quote:
Quote:
Quote:
Quote:
Quote:
4) Closing: ------------------------- Welcome Back If you haven't noticed, over the week Smusatto and PhantomLeader were away on vacations, They both returned about two days ago, so everyone here at SWGEmu would like to welcome them back from their trips ------------------------- We have been following this update format for a few months now, and I personally would like to hear what you think. If you have any changes you would like to see in the BiWeekly Updates - please send me a SINGLE well thought-out sober PM. Title it "BiWeekly Update suggestion" - I'll make sure to read it and share it with the rest of the team. Long live PreCU, Go Team SWGEmu!
__________________
┌( ಠ_ಠ)┘ SWGEmu is a non-profit, open source community project. Last edited by McMahon; 07-01-2008 at 10:18 AM. Reason: McMahon's update |
#2
|
|||
|
|||
Oops, 1st
__________________
-------------------------------------- Lowca Server - Tonedus Profs - MCH and Master Pistoleer -------------------------------------- |
#3
|
|||
|
|||
Good work guys its coming along!! oh and uhm 2nd BOOYUH
Last edited by corsskii; 07-01-2008 at 03:53 AM. |
#4
|
|||
|
|||
great news as always keep it up
__________________
Stilgar Wormrider Kettemoor Master Pikeman/ INSERT Ranger/CH/Fenc/Swords/DOC/TKM <OASIS> 4 LYFE <PIT> My first love never forget! |
#5
|
|||
|
|||
3rd and nice good job everyone
|
#6
|
|||
|
|||
Thanks for the update!
|
#7
|
|||
|
|||
Something I might add:
I remember kyle saying on IRC that he was able to craft a rifle from start to finish. I don't have any further details about the matter at this time. Crafting really has come a long way though!
__________________
┌( ಠ_ಠ)┘ SWGEmu is a non-profit, open source community project. |
#8
|
|||
|
|||
Quote:
Thank you for the update as always. About the Image Designer update- Thanks McMahon and yes, ID ftw.
__________________
| Ex-Image Design Representative| Ex-Armorsmith Representative| Ex-CSR Support Team |
Last edited by Aremathiea; 07-01-2008 at 04:50 AM. |
#9
|
|||
|
|||
Sweet!
|
#10
|
|||
|
|||
AWesome work guys keep it up!
|
#11
|
|||
|
|||
GOOD JOB! Smusatto is still sexaY! I was bored for a while without the Emu and then once i was notified that there was a bi-weekly update, I was happy again and lost my boredom.
__________________
|
#12
|
|||
|
|||
Thanks for keeping us updated.
|
#13
|
|||
|
|||
Thanks for taking the time.
Regarding the update format...it's fast and furious, I'm sure we all approve /twothumbsup |
#14
|
|||
|
|||
Thanks for the update...
and the progress, especially on missions, explaining "what you are doing", and the way you're doing it. and... GO GO GO Panchjr ! we need lairs working, so you can work on lair creatures behavior, so you can work on CH ! (do I seem interested?...)
__________________
EX - Pikeman Representative ~l~ SWGEmu Client (LPE) setup Guide ~l~ Professions Forums ~l~
|
#15
|
|||
|
|||
YAY !
Really I don't wanna say the same thing everytime, but I shouldn't love you more ! Ahhh once every two weeks, in the week end, when I'm playing and seeing the server shutting down I can't stop saying " The update IS COMING ! " . So glad to read that, about lairs, Missions, Image Design ( For sure ID's FTW ! ), tweaks, additions, and now Cloners ! Well... Now you should take some rest I can't believe that the Emu will be way better than PreCU which was almost perfect ! /bow 1 2 3 /kowtow /cheer /love /hug /salut ....... That's it ! For now... May The Force of Coding Be With You All. |
|
|