Project 1999

Go Back   Project 1999 > General Community > Off Topic

Closed Thread
 
Thread Tools Display Modes
  #31  
Old 07-29-2014, 08:56 PM
Rhambuk Rhambuk is offline
Planar Protector

Rhambuk's Avatar

Join Date: Oct 2010
Location: Maine
Posts: 3,031
Default

Loving this! great work guys keep it up!
  #32  
Old 07-30-2014, 01:44 PM
Cookiefist Cookiefist is offline
Kobold


Join Date: Aug 2013
Posts: 193
Default

Quote:
Originally Posted by Rhambuk [You must be logged in to view images. Log in or Register.]
Loving this! great work guys keep it up!
  #33  
Old 08-08-2014, 05:36 PM
xinux xinux is offline
Aviak


Join Date: Jun 2010
Posts: 76
Default

Patch notes from the last week or so.
Enjoy

Further fixed the issue with clients reconnecting too quickly
Revamped ack logic in udp code, this should greatly increase outgoing packet transmission speed
Fixed a bug where characters would sometimes not be removed from the world list
If a player attempts to log into world while their account already has a client, all other clients with their account id will be kicked
camp command robustness improvement (blocks consecutive camp requests)
Support for camp command: Added empty handler for OP_ClientLFGSearch.
+ Added the following UnrealTypes:
+ Quat - used for boats
+ VGShipState - used for boats
+ ResourceLookup, Sound, StaticMesh - used for looking up indexes in asset files
+ Reorganized Unreal classes into separate files
+ UnrealActor.h contains only the UnrealActor class now!
+ Renamed _3dsList.h/cpp to SGO3ds.h/cpp
+ Renamed PPOList.h/cpp to PPO.h/cpp
+ Added Vehicle/Ship classes and initial replication functionality. NOTE: there is no way to show a vehicle in game right now unless you hardcode it in ChunkServer.
+ Added Mover classes
+ They load from the mover database table based on the chunk
+ Updated Makefile to include new/renamed files.
+ Added UnrealFile classes to allow for dynamic loading of files from the database
+ All files properties are loaded into memory on WorldServer start from the unreal_files table so they can be queried faster when needed.
+ ChunkServer changes
+ SendZoneFiles function no longer has hardcoded file values. The files are determined dynamically based on the resources needed.
+ Setting the PC Model number based off the race id. However, this doesn't appear to be working fully 100% yet as there seems to be a disconnect between login server raceid and Unreal raceid.
+ Currently sending all movers in the chunk to the client. We probably want to limit it based on proximity like NPC's.
Fixed a crash with destructing packet structs and one caused by trying to zone to an invalid chunk
Fixed the disconnect packet
Fixed a bug that could cause a client to hang while loading a zone
Player ghosts should now be properly removed from a zone
Reconnecting quickly after exiting world should no longer cause waiting on world data... to appear on character select
Speed should no longer reset after changing chunks
The global variable UnrealActor::next_unique_id is now atomic
Fragmented packets being sent from the client are now read correctly
Fixed a crash relating to reading control bitstreams
Ports will now be available for reuse after a chunk shuts down
__________________
  #34  
Old 08-08-2014, 05:38 PM
Ket Ket is offline
Kobold


Join Date: Jul 2014
Posts: 184
Default

Quote:
Originally Posted by xinux [You must be logged in to view images. Log in or Register.]
Patch notes from the last week or so.
Enjoy

Further fixed the issue with clients reconnecting too quickly
Revamped ack logic in udp code, this should greatly increase outgoing packet transmission speed
Fixed a bug where characters would sometimes not be removed from the world list
If a player attempts to log into world while their account already has a client, all other clients with their account id will be kicked
camp command robustness improvement (blocks consecutive camp requests)
Support for camp command: Added empty handler for OP_ClientLFGSearch.
+ Added the following UnrealTypes:
+ Quat - used for boats
+ VGShipState - used for boats
+ ResourceLookup, Sound, StaticMesh - used for looking up indexes in asset files
+ Reorganized Unreal classes into separate files
+ UnrealActor.h contains only the UnrealActor class now!
+ Renamed _3dsList.h/cpp to SGO3ds.h/cpp
+ Renamed PPOList.h/cpp to PPO.h/cpp
+ Added Vehicle/Ship classes and initial replication functionality. NOTE: there is no way to show a vehicle in game right now unless you hardcode it in ChunkServer.
+ Added Mover classes
+ They load from the mover database table based on the chunk
+ Updated Makefile to include new/renamed files.
+ Added UnrealFile classes to allow for dynamic loading of files from the database
+ All files properties are loaded into memory on WorldServer start from the unreal_files table so they can be queried faster when needed.
+ ChunkServer changes
+ SendZoneFiles function no longer has hardcoded file values. The files are determined dynamically based on the resources needed.
+ Setting the PC Model number based off the race id. However, this doesn't appear to be working fully 100% yet as there seems to be a disconnect between login server raceid and Unreal raceid.
+ Currently sending all movers in the chunk to the client. We probably want to limit it based on proximity like NPC's.
Fixed a crash with destructing packet structs and one caused by trying to zone to an invalid chunk
Fixed the disconnect packet
Fixed a bug that could cause a client to hang while loading a zone
Player ghosts should now be properly removed from a zone
Reconnecting quickly after exiting world should no longer cause waiting on world data... to appear on character select
Speed should no longer reset after changing chunks
The global variable UnrealActor::next_unique_id is now atomic
Fragmented packets being sent from the client are now read correctly
Fixed a crash relating to reading control bitstreams
Ports will now be available for reuse after a chunk shuts down
This made me happy.

-Ket
  #35  
Old 08-09-2014, 10:04 AM
Cookiefist Cookiefist is offline
Kobold


Join Date: Aug 2013
Posts: 193
Default

Quote:
Originally Posted by Ket [You must be logged in to view images. Log in or Register.]
This made me happy.

-Ket
  #36  
Old 08-09-2014, 11:38 AM
Cyrano Cyrano is offline
The Protector of Sunder


Join Date: Feb 2010
Posts: 939
Default

Quote:
Originally Posted by Byrjun [You must be logged in to view images. Log in or Register.]
Murrpau's post is accurate. Vanguard could have easily been the greatest MMO ever developed.

From a design perspective, nothing really comes close. I'm not the kind of person who tends to have lots of alts since I prefer to focus on one character. But any time that I wasn't playing with my room mates, I'd roll random alts because every class was so unique and fun to play. Vanguard was truly ground breaking and you see a lot of their design pop up in modern MMOs (almost every MMO since Vanguard has had a version of their Disciple class, for example).

Not only were all of the classes worth checking out, but also all of the races. And there were a lot of them. Almost every single race had a really interesting introduction to the game. I say almost because my main was a Halfling and it was pretty generic hobbit stuff... go fetch me some pies, etc.

I was really blown away by my Kojani (Asian themed humans) Disciple. You started on a beach nearby a nearly destroyed village, and you received quests from this general dude riding a dragon. At first you had to do some menial tasks like committing theft and arson. After that you're ordered to go slay the mayor of the village. You find him in the back of his house and he goes through this generic eastern pacifist philosophy dialogue and ends up teleporting you or something? You wake up in a refugee village (populated by people trying to escape the Empire; you were an imperial soldier in the beginning part). There's a progressive quest line that's very eastern philosophy oriented, culminating in you undertaking different tests (the most memorable was something like the Test of Faith where you had to jump off of this really high cliff). You completed the quest line around level 20ish or so, which redeemed you from your dishonorable life as an imperial soldier and you got the "Lao'Jin Knight" title. The whole thing was just so interesting I wasn't even concerned with leveling, I just wanted to experience the storyline and the other rewards were a bonus. I remember there were a lot of opportunities for the quest to diverge and allow you to make the "evil choice," so I assume that was a path you could have taken as well.

I tried looking this stuff up but there's like no information online that I can find even about these introductory quests that you're thrown into when you start. So, I can only imagine how impossible it might be to try to recreate the game with so very few resources. At least EQ was well documented.

Anyways, that's really what set the game apart. Orcs also had a really great introductory quest line where you escape from slavery and must go through this mountain, completing several tasks that emulated some great Orcish hero. Essentially he did all this crazy stuff to reach the summit and light a fire, warning his tribe of another warring tribe's impending attack. Completing the quest and lighting the fire on the top of this mountain was one of the most satisfying MMO experiences ever.

This is how a lot of the quests worked even in the mid and late game. Yeah, they were designed very similarly to WoW quests but the actual content was much deeper and made you feel like you were actually playing a part in a story. That was really what set Vanguard apart, you actually felt like an adventurer in a robust fantasy world instead of an employee of a bear ass delivery service.

Obviously you had to trudge through a lot of bugs and broken game to experience this stuff, and the way they handled subsequent updates did more harm than good. One of my room mates played a cleric, and that class serves as a good example of what went wrong with Vanguard. The cleric class, like a lot of classes, wasn't fully implemented when the game launched. However, they were balanced around not having all of their stuff implemented so the class functioned fine. In one of the first few updates, they decided to "fix" the cleric. This included introducing what was essentially a spec system where you could follow a certain god and receive additional abilities. I think these were split up something like melee, smite, heal. The problem is that this added a ton of new power to the cleric, and since they were already balanced around not having this stuff, the class instantly became the best tank, dps, and healer in the game. It was really, really silly and an obvious sign that Vanguard was not going to last.
This makes me want to try the game.
  #37  
Old 08-27-2014, 02:18 PM
xinux xinux is offline
Aviak


Join Date: Jun 2010
Posts: 76
Default

Been awhile since a update sorry about that been busy.

Here are the major points factions have been introduced so NPC's should show the right color name now and character running/walking movement should be fluid now (Rotation still a little choppy tho). Emotes are in and working and offensive targets should show the right information along with characters having Titles now..

ScreenShot_00163.jpg


And here are the patch notes since the last update.

r642
Common: Added 2 new log categories: LOG_TITLE, LOG_FACTION Parser: Fixed struct changes to titles and factions New VCProject files.
---------------------
r641
Fixed another bug with factions. The count wasn't initialized. Updated the faction code to use the new DB column names.
---------------------
r640
Changed `value` column names in factions code. Added FactionInfoList.* to project files.
---------------------
r639
Attempt to fix compile issues on Windows.
---------------------
r638
Fixed some linux compile issues in UnrealActor.
---------------------
r637

---------------------
r636
Added basic faction functionality to WorldCharacter. ChunkServer now handles the OP_ClientNpcFaction opcode. Added 'factionset' and 'factionget' commands. More comment clean up for the title code. Added a basic say handler to LUA that lets ...
---------------------
r635
added in struct for OP_ServerSlashCommand
---------------------
r634
Cleaned up my title code a bit and added better (doxygen ready) comments to it. Moved the TitleInfoList into the WorldDatabase class so that it isn't a global anymore. Fixed a compiler warning in ConfigReader.
---------------------
r633
Fixed a bug that caused the PacketStruct class to never load the last 2 bytes of data if the struct elements are 1 byte types.
---------------------
r632
Login: additional loggers Parser: Fixes to warnings World: Public binary commit
---------------------
r631
fixed typo in OP_ClientAccessObject struct
---------------------
r630
Camp command: Added robustness check vs invocation from clients with empty (null) characters, including added warnings to client and server console.
---------------------
r629
Quick fix to CampTimers to prevent world crash - still need root cause determined Added MaxMovementSpeed rule, default of 1500 Capped .speed command due to communication issues with players using ridiculous speed settings vs proximity spawn...
---------------------
r628
Changeing faction data names to all match
---------------------
r627
fixed the Packet struct 'WS_Unknown904' (type=2) (server) not found changed the opcodelist.h and just added the structs for faction that ratief needs
---------------------
r626
Volt: New Telon DB as requested (possible camptimer character data issues)
---------------------
r625
Added `factions` table for Ratief (raw data, ignore the `faction_value` column, just for reference)
---------------------
r624
OP_ServerClearTarget2 & OP_ServerClearTarget3 for Volt
---------------------
r623
added OP_ClientOffensiveTargetOOR
---------------------
r622
Additions to HandleOffensiveTargetRequest: Offensive target portrait now hooks up to target level and target compass (direction and distance). Also a value for target dot color is added, but it is for now hardcoded to "white".
---------------------
r621
Fixed two issues with command /hail.
---------------------
r620
Implemented handler for right-click on actor. (Any right-click of a no-PC actor results in "hail" default action. Thus no fancy stuff yet.)
---------------------
r619
Replication Movement Fluidity: Actors will now replicate fluidly, rather than jumping around. Walk/Run animations will show. Changes made to include Velocity in Movement Packet, changed velocity algorithm. What is NOT done is Actor Rotation...
---------------------
r618
Added SendConnect() to Process(), section where tcp.reconnect() is called. This will send the proper TCP Connect packet to the Login Server, to properly re-establish connection after a Login Server crash.
---------------------
r617
Made a few changes to how character info is set: -- Removed the character->Set stuff per the comment in SendPlayerInitPackets() ++ Moved those character->Set's to WorldDatabase::LoadCharacter() preparing for loading more character data from...
---------------------
r616
Dakadin: Quick fix to stop world crashing until we figure out the cause of the empty queue
---------------------
r615
Committing public binaries
---------------------
r614
Few more files to clean up.
---------------------
r613
New vgo_world.sql with Volt's `emotes` table, and cleaned out test data from `lua_script` table.
---------------------
r612
Linux fixes
---------------------
r611

---------------------
r610
Emotes RC 0.1
---------------------
r609
Emotes RC 0.1
---------------------
r608

---------------------
r607
Raw data through today's logs
---------------------
r606
C++ Parser changes Should parse just about everything now (except unreal)
---------------------
r605
SQL: Cleaned up spawn tables, added character_attributes and FKs to character tables *Noticed there was no title_id 600, so I made them Citizen (600) of VGOEmualtor (601, type 1) !! new vgo_world.sql !!
---------------------
r604
proj files for the title list
---------------------
r603
Emotes: Implemented targeted emotes and broadcast to nearby characters. Emote: Minor rework and fix for broadcast to nearby characters.
---------------------
r602
another adjustment...
---------------------
r601
Changed the WS_Titles struct to be consistent with the other title structs.
---------------------
r600
Fixed some typos in the title db field names.
---------------------
r599
Fixed my mistake of using the wrong element names for the title structs.
---------------------
r598
Updated the title related opcodes.
---------------------
r597
Adding my work to get titles working in game. I also cleaned up the character save/load functions a bit in preparation for for save/loading in the future.
---------------------
r596
another attempt at udp lockup fix
---------------------
r595
fixing my mistaken sln commit [You must be logged in to view images. Log in or Register.]ops:
---------------------
r594

---------------------
r593
fixed a udpserver crash
---------------------
r592
Renamed class _VoltDraftTickTimer to TickTimer
---------------------
r591
Renamed class _VoltDraftTickTimer to TickTimer
---------------------
__________________
  #38  
Old 08-27-2014, 02:29 PM
Zadrian Zadrian is offline
Fire Giant

Zadrian's Avatar

Join Date: Jan 2010
Posts: 781
Default

[You must be logged in to view images. Log in or Register.]
__________________
Zadrian - RIP 2010-2014 - Blue
Lester - Shammy - Red
  #39  
Old 08-27-2014, 02:49 PM
nilbog nilbog is offline
Project Manager

nilbog's Avatar

Join Date: Oct 2009
Posts: 14,460
Default

Good work xinux. Keep it up!
  #40  
Old 10-03-2014, 06:01 PM
xinux xinux is offline
Aviak


Join Date: Jun 2010
Posts: 76
Default

Some highlights from recently since there are to many commits from my last post.

Targeting continued: - added difficulty colors (dot color) to offensive target portrait - tuned one console message

Afk will now show at the end of your name and also appear to other clients.

Actor targeting: - Camping, rifting, chunking and otherwise leaving characters will clear themselves as a target of any other actor (as before) as well as clearing their own targets (new). - Added handler for OP_ClientChunkConnected

Added handler for /stuck yes command and code to port character to safe location in the current chunk

Implemented MasterSpawnList class. Created new Constructors for NPC-related Unreal Classes.

Added in server response to OP_ClientLocationCmd which will eventually respond with the area you are in for now it just returns chunk name

Implemented checking surrounding chunks during chunking for inactive or non-existent chunks. If found, sends WS_ChunkPreload2 packet, to let Client know not to let player move into these chunks. It will display the appropriate error message...

Added generic.lua to go with test spawn data (sample Hail function)

Improvements to sit/stand and resting: - Tied up the logic for is_resting, sit/stand and camping. - Server will set is_resting=false when character moves. - Fixed replication of the sit/stand animation (players can now see when another characters sit/stand)

Added Documentation for Combat class. Reimplemented cross-zone combat flags. Added safety net to Combat class, in case there is still a WorldCharacter spinning around in the loop.
__________________
Last edited by xinux; 10-03-2014 at 07:25 PM..
Closed Thread


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:33 AM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.