Dev Chat: 01/04/2015 - Dev Meeting / Q&A
Moderator: Community Managers
- John Adams
- Retired
- Posts: 4581
- Joined: Wed Aug 28, 2013 9:40 am
- Location: Phoenix, AZ.
- Contact:
Dev Chat: 01/04/2015 - Dev Meeting / Q&A
This was Day 2 of our Dev Meeting, with Volt and Cyrcle --
[09:12] <@Volt> Had enough coffee to get started? :)
[09:12] <~john> Heh, I am just about ready. Did you get a chance to review yesterdays chat log?
[09:13] <@Volt> I read it very quickly. Was a lot of text.
[09:13] <@Volt> I have some notes we can start with, if you want? Based on some of your recent posts.
[09:15] <~john> Sure, let's go for it.
[09:15] <@Volt> Starting with bugs:
[09:15] <~john> I don't know how much time you have, so we won't wait for others.
[09:15] <@Volt> About one hour
[09:15] <Blackstorm> Hi all ^^
[09:15] <@Volt> Hi Blackstorm! :)
[09:16] <Blackstorm> Happy new year Volt! :)
[09:16] <~john> ahh okay then yes we'd better roll on :D
[09:16] <~john> hey Black
[09:16] <@Volt> Yeah sorry. I start a new work assignment on Wednesday and life is very hectic right now.
[09:16] <~john> New work can be exciting :)
[09:17] <@Volt> "Bug 49 - I was in game, had the Broker ... " viewtopic.php?p=8851#p8851 .. just for the record that one is waiting for Lokkeds input.
[09:18] <@Volt> Hm, I didn't say that explicitly in the post. I guess I am just used to him replying anyways.
[09:19] <@Volt> Next one. Bug 27 - http://vgoemulator.net/index.php?p=bugs&id=27. I have sort of missed this one. It was assigned to me as Fixed. Anyways, do we know the forum name for character Zarlore?
[09:19] <~john> yeah i know he's been tweaking code the last few commits trying to remedy the disconnect/reconnect issues.
[09:20] <~john> Zarlore is Glaxono
[09:22] <@Volt> Got it. I will pm Glaxono to find out if Glaxono still can reproduce the issue. I can not.
[09:23] <~john> It is an old bug, maybe other fixes fixed it?
[09:23] <@Volt> Next, a bug report on the bug tracker :p : I can not filter by "Assigned To"
[09:23] <~john> haha
[09:24] <@Volt> Yep, about but 27, that is my thinking too. If Glaxono can not reproduce it anymore I will close the bug.
[09:24] <~john> Oh, you are right. what the devil? bugs in MY code? :D
[09:25] <@Volt> Rather say it was intentionally to see if we actually did use the Bug Tracker ;)
[09:26] <@Volt> I'll move on. Shout if you need to break for more coffe :D
[09:26] <@Volt> Wrap up, 0.2, Emotes:
[09:26] <~john> hehe carry on. the pot awaits.
[09:27] <@Volt> The one thing I'd like to do with emotes before calling them done, is to update 5 fields in the db. I posted them here. viewtopic.php?f=16&t=735&p=9027&hilit=emotes#p9027
[09:27] <@Volt> Is this something you can help me with?
[09:28] <~john> Good news! I just added the Emotes table editor to DB editor. So I will test it by submitting these 5 additional emotes :D
[09:29] <@Volt> Wee!
[09:29] <~john> lol i have been working diligently on DB Editor, since I cannot be "the excuse" any longer :D
[09:29] <@Volt> And btw the db editor password system hates me.
[09:30] <~john> lol
[09:30] <~john> are you just forgetting your pwd? it's a pretty basic login.
[09:30] <~john> I don't think browser affects it...
[09:31] <@Volt> Nope not forgetting it.
[09:32] <@Volt> But, good news, it let me in now.
[09:32] <@Volt> Maybe it was a glitch the other times I tried it.
[09:33] <~john> ok whew
[09:33] <@Volt> Should I see emotes as an option in the DB editor now?
[09:33] <~john> btw, your bug about tracker assignee, that is wild. I must have brokent that a long time ago.
[09:34] <~john> oh sorry no, I haven't pushed my code to public editor yet.
[09:34] <@Volt> Ok, no worries.
[09:34] <~john> it would be under Server menu when it arrives though. I have some more testing to do today.
[09:35] <@Volt> I mostly wanted to make sure that I see the right things. And it sounds like I do. Thanks.
[09:35] <@Volt> The DBEditor looks very nice btw.
[09:35] <~john> woot. Thank you.
[09:36] <@Volt> Moving on to Wrap up, 0.2, Dialogs:
[09:37] <@Volt> From my perspective, it is ready to be used. I haven't planned to do anything more here until I get feedback from you/users.
[09:38] <~john> Okay, do we have example LUA for every option right now? I know LUA is small still, but I can make up a few sample scripts if we need.
[09:39] <~john> I have 1 NPC in all the world that uses Dialog "steps", so I *think* I have them all.
[09:40] <@Volt> I think so too John. I have the "scholar donovan" LUA somewhere as another example. Looking for it ..
[09:40] <~john> opening_dialog(), SetDialogGreeting, AddDialogOption, CommitDialog, CustomDialog, NpcSay, CloseDialog...
[09:41] <~john> I stole your scholar one and used it on Tan Fen Greatcloud in IoD :)
[09:41] <~john> So, let me give you some of my 2cp on Dialogs, specifically LUA functions. If you are ready.
[09:41] * rottstein (IceChat9@hidden-633D7EB8.res-cmts.sha.ptd.net) has joined #VGOEmu
[09:41] <@Volt> sec
[09:42] <~john> greetings rotty
[09:42] <rottstein> Cheers!
[09:43] <@Volt> Nice to meet you Rottstein
[09:44] <~john> rott has actually been following VGOEm since I started it on MMOEmulators.com back in 2008 or so :D
[09:44] <@Volt> Ok John, ready for 2cp :)
[09:44] <rottstein> You too Volt!
[09:44] <~john> or, a reeeal long time ago anyway heh
[09:44] <Blackstorm> Hello Rottstein ^^
[09:45] <~john> okay Volt, re: LUA function naming :) This is merely a suggestion, not an order. I prefer you follow EQ2Emu's "naming convention" where possible (there will be unique situations) beause I do not want to re-document 100's of functions. And no one else will write Wiki's so that's up to me :D
[09:45] <rottstein> Hey Black!
[09:45] <~john> Volt: http://eq2emulator.net/wiki/index.php/LUA
[09:46] <~john> In cases where EQ2's function naming makes no sense to you, we can always come up with something better. Some of the names are a little whacky.
[09:47] <~john> but.. it's really about marrying the 2 projects together, so a) I do not have to re-document everything and b) people from both teams can help each other.
[09:47] <@Volt> John I think you should just tell me what you want them changed to, and I'll change them.
[09:47] <~john> since we're making up the system, we can do this.
[09:47] <~john> Okay, but I linked the docs to you just so you have a resource when/if you make new LUAs.
[09:48] <~john> I can certainly change the names, but I wanted to make sure you were in agreement.
[09:48] <~john> An example of differences of course is opening_dialog() EQ2 doesn't have that exactly, I think we use "hailed" or something as a function name.
[09:48] <@Volt> Yup got it. As a side note I did look at the EQ2 namings when I made mine, and the ones I used is best from my perspective. But I am also very fine with changing them to something that works better from your perspective. So yup, we are in agreement.
[09:49] <~john> okay cool. thank you.
[09:49] <@Volt> Oh yes about the "hailed" one.
[09:49] <~john> and yes, your function names do make sense perfectly :D so it wasn't about that at all.
[09:50] <@Volt> Thing is, that "hail" is something slightly different in VG.
[09:50] <~john> Yeah, I am confused by Hail.
[09:50] <~john> from a VG game perspective.
[09:51] <@Volt> But lets not get into that now. If you post that you want "open_dialog" changed to "hailed", I will just change it.
[09:51] <@Volt> Time flies, ok to move on?
[09:51] <~john> no I think open dialog is more accurate to what we're doing. because of my thoughts on Hail :D lol I will talk about that on the forum though.
[09:51] <~john> yes.
[09:52] <@Volt> Wrap up 0.2, NCP interactions (other than dialogs):
[09:53] <@Volt> I have handlers ready, and other systems can tag in once they are ready for that. I am not planning to do more for 0.2.
[09:53] <~john> ok perfect.
[09:53] <@Volt> Next, upcoming 0.3:
[09:54] <@Volt> Movers/Doors:
[09:54] <~john> yay!!
[09:54] <~john> I am quite proud of your discoveries there, btw ;)
[09:54] <@Volt> :D
[09:54] <@Volt> It was all there, but I had to dive deep yes.
[09:55] <~john> indeed. Volt = Expert now haha
[09:55] <@Volt> I think the first step should be to implement spawning of them, and first after that works perfectly we should move on to the actual movement.
[09:56] <@Volt> You posted, perfectly valid, that if we spawn them we should be able to get through them.
[09:56] <~john> ok, that ties into my Tools bullet about Parsers. Do you know if the UnrealBitLib.dll can parse Movers flawlessly now?
[09:57] <@Volt> Let me answer like this: I have successfully parsed a few chunks using UnrealBitLib.dll.
[09:57] <@Volt> You might find an issue with another chunk, or maybe it all parses flawlessly.
[09:57] <~john> cautiously optimistic. I'll take it.
[09:58] <~john> did you have to alter Parser db schema at all? vgo_rawdata.sql
[09:58] <@Volt> Beware that you need to check out the source and compile a fresh UnrealBitLib.dll.
[09:59] <@Volt> The parser schema needs to be changed.
[09:59] <~john> ok, could you supply that, or the changes at least?
[09:59] <@Volt> I am not really at home with the parser source code so I never changed that.
[09:59] <~john> oh ok.
[10:00] <~john> i basically name a column in the table after the Unreal property we're parsing and saving.
[10:00] <~john> I save >>everything<< and sort it out later.
[10:01] <@Volt> I think we need a separate time, maybe an hour, to go through what changes we need. Might be able to do the actual changes while we talk.
[10:02] <~john> ok. we can move on from that if you are out of time.
[10:03] <@Volt> Yeah sorry. I have about 15 minutes left.
[10:03] <~john> no worries.
[10:04] <~john> one question (for planning) on your future... do you forsee ZERO time for VGO in the coming months? This is so I do not put things on the task list if I am missing one of my best devs :)
[10:04] <@Volt> About spawning movers before we can actually move them: I have the solution working on my machine and that is to spawn them in their open position :)
[10:04] <~john> haha brilliant :)
[10:05] <@Volt> Oh flattering :)
[10:06] <@Volt> My hope is that I will have some time for VGO about every evening,
[10:07] <@Volt> So I expect to be able to support issues with everything I already started and hopefully something more. But I will not be able to take on new systems.
[10:08] <~john> And first, wishing you the best of luck in your new adventure. I hope it is fun and exciting and rewarding.
[10:10] <~john> Next, though it is really not too important in the real-world, I have "promoted" you and Lokked by title, to Principle Developer -- because while everyone does a great job here, you two are the most diligent, professional, and accomodating to my own needs, and are the premier experts in the VGO code base.
[10:10] <@Volt> Thank you :). Yes I think it will be fine in several aspects.
[10:10] <@Volt> Ops, and that thank you was about my new job lol.
[10:10] <~john> hahaha
[10:10] <~john> funny
[10:11] <@Volt> About the promotion, lol, well that is fine too :)
[10:11] <@Volt> Movers, one more thing, the second road block (next to parsing new data and new columns in the db table), is having them spawn/despawn depending on the distance to the player. If Lokked/anyone could help out here it would be brilliant.
[10:12] <~john> For my Agenda, I have nothing much to say to you about it. You are great at communicating, you understand the importance of ProjMan and BugTracker, and I think I won't burden you with 2015 goals until you find you have time for them.
[10:12] <~john> okay, if you can post that request for assistance on the forum, so he doesn't miss your request.
[10:13] <@Volt> I will bump it ;)
[10:13] <~john> For Tools agenda item, I mostly covered that yesterday. If you are interested, the chat log has those details. Or, if you have your own questions, I can answer.
[10:13] <~john> I know you are out of time, so you let me know if there's anything else you wish to discuss.
[10:14] <@Volt> One + one thing if I may rush it?
[10:14] <~john> certainly. this is your time :)
[10:15] <@Volt> PPO's: I wanted to share with you that I did some diving, and a) yes there does indeed seem to be a hash function involved that is probably impossible to beat without some look inside the client, BUT b) it won't matter until we want to place new houses because the figures are in the collected data.
[10:16] <~john> right, that was an option Lokked presented, to not actually "build" houses, but pre-spawn them and offer them "for sale" fully furnished lol
[10:16] <~john> although VG-purists will not appreciate that. they love to decorate their houses.
[10:17] <@Volt> we can even refurnish them, as long as they had at least one item in them in the parsed data
[10:17] <Blackstorm> +1 john ^^
[10:17] <~john> oh that's right.
[10:17] <~john> if we know 1 parent_id, we can then customize from there. Maybe we offer a carpet that comes with the house.
[10:17] <~john> a vase LOL
[10:17] <@Volt> lol brilliant yes
[10:18] <@Volt> I want to solve it one day. But this takes the pressure away. We definitely do not need to solve this soon.
[10:18] <Blackstorm> about parent_id, the issue with cragwind ridgve cavern is not in the latest db release :(
[10:18] <~john> well, for that matter, we could also just use a lookup table for the housing plots that currently have parentIDs. when the player builds their own house, we know that "spot" has that id.
[10:19] <@Volt> As long as they use the same house model.
[10:19] <~john> yeah i know parent_id also is a problem outside housing... but it's not earth-shattering as Volt says. We got lots of time to work it out.
[10:19] <@Volt> If you change the house model you need another hash
[10:19] <~john> oh, blergh. Yeah it would have to be >>that<< house, I forgot. Okay, we'll just solve it someday and be done with it :)
[10:20] <~john> Xinux was going to contact Brad, TigerTiger and Amadeus (client experts) to see if they have input.
[10:20] <@Volt> Ok, final thing, back to what we said a bit up: Can we plan for a time when we go through what needs to be done to parse movers please? Or may I send you a pm about that? :)
[10:21] * Cyrcle (IceChat77@hidden-FD995418.neo.res.rr.com) has joined #VGOEmu
[10:21] <~john> Sure, send me a PM or post it in the VGVisualParser Tools post. I'm not shy :)
[10:21] <~john> unless it is not specifically about the "tool"
[10:21] <~john> hey Cyrcle
[10:21] <Cyrcle> howdy everyone
[10:21] <@Volt> nah, just for setting up a time for chat :)
[10:22] <@Volt> Greetings Cyrcle
[10:22] <Blackstorm> hi Cyrcle ^^
[10:22] <@Volt> Ok I am off. Was really good to "see" you. Take care!
[10:22] * Volt (chatzilla@hidden-74D2BC6A.cust.bredbandsbolaget.se) Quit ( Quit: ChatZilla 0.9.91.1 [Firefox 34.0.5/20141126041045] )
[10:23] <~john> A nice segue right into Cyrcle's question list :)
[10:24] <Cyrcle> Ah, I must've missed some stuff :P
[10:24] <rottstein> Hellow Cyrcle
[10:25] <~john> Volt had limited time. We just went over her statuses.
[10:26] <Cyrcle> Ah, alright. Yeah, I can paste the questions in so they're available in the log if that's what you'd like.
[10:33] <~john> I actually have been responding on the post. Hold a few moments. We can then discuss additionally.
[10:34] <Cyrcle> No problem
[10:42] <~john> take a look at this while I refresh my coffee :) viewtopic.php?p=9028#p9028
[10:47] <Cyrcle> Alright.
[10:47] <Cyrcle> So, good move on the launcher in my opinion. Makes it easier for players. :)
[10:48] <Cyrcle> Community growth - sucks you have to update it manually, but as long as new people know they can still help out, that would be good
[10:49] <Cyrcle> So .spawn remove does infact remove the in-game NPC from the database, if I am understanding that correctly?
[10:49] <Cyrcle> Well, that specific entry / at that location.
[10:52] <~john> Yes, NPCs are made from many tables: spawn->spawn_npcs->spawn_location_entry->spawn_location_placement
[10:52] <~john> When you .spawn remove one, the only data being removed is spawn_location_placement.
[10:53] <Cyrcle> So, it is just removing their x, y, z location from the table?
[10:53] <~john> once we invent the .spawn create command, you could essentially replace the spawn yourself if you accidentally delete him. .spawn create 123456 would pop spawn_id 123456 at your feet.
[10:53] <~john> yes. it just deletes their Placement.
[10:54] <Cyrcle> Ah ok. I just wanted to make sure it wasn't possible to "delete" an entire NPC from existence on accident. Not that it will be a common thing. :P
[10:55] <~john> The DB Editor's "Spawn Editor" will give you more control, where you can delete the entire Spawn (ENTIRELY) from the database. Example, you Migrate that Sentry Bob, but you mistakenly migrate him twice. You now have 2 spawn IDs of the exact same guy. Not needed, if their data is identical. So in DB Editor, a delete can be done that totally cleanses all tables of that spawn ID.
[10:55] <~john> nothing is ever deleted "permanently".
[10:55] <~john> The Raw Database is completely separate from New Telon.
[10:55] <~john> and is read-only.
[10:56] <Cyrcle> Alright. That sounds good.
[10:56] <Cyrcle> And, it looks like the NPC details was clarified. Looks like we will be building quite a few NPCs.
[10:57] <~john> Well, I'm guessing that 90% of the world spawns are "yard trash" with nothing special to them. We can calculate most NPC attribs at spawn time.
[10:58] <~john> THe ones that need to be "built" will probably be major encounters. mini's, bosses, etc. Buffed up via their LUA script.
[10:58] <Cyrcle> Yes, mostly dungeon bosses and such.
[11:00] <~john> yeah, i say 90% because VG had a LOT of yard trash :)
[11:01] <~john> are you familiar with combat-related attributes, like how str affects combat, or wis, dex, or resists, or AC, or all those other attributes?
[11:01] <@Xinux> Morning
[11:01] <~john> I know lots of players have decent knowledge of strats and stuff, but not sure if anyone ever considered "The reason I cannot hit that guy is because he has a 10,000 AC/Mit"
[11:02] <~john> Xinux, do you have pants on today?
[11:02] <@Xinux> maybe ;)
[11:02] * john claws his eyes out
[11:02] <Cyrcle> It has been a while. I remember a bit.
[11:03] <~john> So Cyrcle, basically when we get to building combat encounters, we'll have basic calcs in place in the server already. Those will need tweaking, of course. So what we'll need our testers to tell us is, if the encounter is "too soft" - you killed it way too easy, or "too hard" - you didn't do the damage you used to be able to do similarly equipped.
[11:05] <Cyrcle> Sounds good. I know we already have commands to set level and give items so if there's something specific that needs testing, we can jump right to it. :)
[11:05] <~john> Our goal is to find a generic balance across all "normal" NPCs for what their offense/defense stats are, which we can then tweak via Rules globally (harder or softer) or specific to the mob in it's LUA script.
[11:05] <@Xinux> If we have some combat log's thought the entire level range we can probally figure out a base line HP for mobs
[11:05] <~john> yeah Xinux, Zewt mentioned having extensive fight logs we can probably parse in some existing VG combat parser.
[11:08] <~john> Xinux, do you have time today to update VGVisualParser and vgo_rawdata.sql to match Volt's changes for Movers in UnrealBitLib.dll?
[11:08] <~john> otherwise I will have to do it later this week.
[11:09] <@Xinux> i looked at the parser some when it came to the unreal parseing and honestly got a little lost
[11:10] <~john> haha okay, i'll try to get to it soon. I think that's what I was waiting for to do a full re-parse for Actors.
[11:10] <~john> Though I think I'd like to get Vehicles, too. And not confident PPOs are parsing correctly, unless she fixed that too.
[11:10] <@Xinux> don't forget need to reparse titles also since they are all marked as suffix currently
[11:11] <~john> yeah did we fix the C++ parser to parse that bit properly?
[11:11] <@Xinux> thought we did
[11:13] <~john> anyone heard from Ratief, Dakadin, ritojo82, or JohnnyTiger2k?
[11:16] <@Xinux> saw jhonny on the site yesterday
[11:16] <@Xinux> johnny
[11:18] <~john> I don't like being pushy, but I need to know if these guys are planning to help still or not.
[11:18] <~john> not Ratief, I know he's in it for the long haul.
[11:18] <@Xinux> need to restart brb
[11:18] * Xinux (IceChat77@hidden-86104F72.lv.lv.cox.net) Quit ( Quit: IceChat - Its what Cool People use )
[11:19] <Cyrcle> Sorry for the random AFK. So far, no other questions. Just waiting to do some content dev. Will likely be able to help out with the LUA side of it as well.
[11:20] <~john> Yeah I know you guys are dying to build the world, and I appreciate your patience. Lots of reasons we haven't started that yet, which I think you all understand.
[11:21] <Cyrcle> Yep, understood. :)
[11:21] * Xinux (IceChat77@hidden-41BECB90.lv.lv.cox.net) has joined #VGOEmu
[11:21] * ChanServ sets mode +o Xinux for #VGOEmu
[11:26] <~john> wb !!!
[11:27] <@Xinux> just tested C++ parser for titles and it look's fine
[11:27] <@Xinux> and thanks
[11:27] <~john> heh ok
[11:30] <Cyrcle> Alright. Seems like there's not much else. I'm going to afk for a bit. Thanks for putting on the meetings and thanks for all the work you're doing. :)
[11:30] <~john> np, thank you for your continued testing.
[11:31] <~john> and yeah, yesterday was a little chattier ;) this was mostly for Volt today.
[11:31] <Cyrcle> No biggie. I got to read it all
[11:31] <~john> woot. take care.
[11:31] <Cyrcle> You too John
[09:12] <@Volt> Had enough coffee to get started? :)
[09:12] <~john> Heh, I am just about ready. Did you get a chance to review yesterdays chat log?
[09:13] <@Volt> I read it very quickly. Was a lot of text.
[09:13] <@Volt> I have some notes we can start with, if you want? Based on some of your recent posts.
[09:15] <~john> Sure, let's go for it.
[09:15] <@Volt> Starting with bugs:
[09:15] <~john> I don't know how much time you have, so we won't wait for others.
[09:15] <@Volt> About one hour
[09:15] <Blackstorm> Hi all ^^
[09:15] <@Volt> Hi Blackstorm! :)
[09:16] <Blackstorm> Happy new year Volt! :)
[09:16] <~john> ahh okay then yes we'd better roll on :D
[09:16] <~john> hey Black
[09:16] <@Volt> Yeah sorry. I start a new work assignment on Wednesday and life is very hectic right now.
[09:16] <~john> New work can be exciting :)
[09:17] <@Volt> "Bug 49 - I was in game, had the Broker ... " viewtopic.php?p=8851#p8851 .. just for the record that one is waiting for Lokkeds input.
[09:18] <@Volt> Hm, I didn't say that explicitly in the post. I guess I am just used to him replying anyways.
[09:19] <@Volt> Next one. Bug 27 - http://vgoemulator.net/index.php?p=bugs&id=27. I have sort of missed this one. It was assigned to me as Fixed. Anyways, do we know the forum name for character Zarlore?
[09:19] <~john> yeah i know he's been tweaking code the last few commits trying to remedy the disconnect/reconnect issues.
[09:20] <~john> Zarlore is Glaxono
[09:22] <@Volt> Got it. I will pm Glaxono to find out if Glaxono still can reproduce the issue. I can not.
[09:23] <~john> It is an old bug, maybe other fixes fixed it?
[09:23] <@Volt> Next, a bug report on the bug tracker :p : I can not filter by "Assigned To"
[09:23] <~john> haha
[09:24] <@Volt> Yep, about but 27, that is my thinking too. If Glaxono can not reproduce it anymore I will close the bug.
[09:24] <~john> Oh, you are right. what the devil? bugs in MY code? :D
[09:25] <@Volt> Rather say it was intentionally to see if we actually did use the Bug Tracker ;)
[09:26] <@Volt> I'll move on. Shout if you need to break for more coffe :D
[09:26] <@Volt> Wrap up, 0.2, Emotes:
[09:26] <~john> hehe carry on. the pot awaits.
[09:27] <@Volt> The one thing I'd like to do with emotes before calling them done, is to update 5 fields in the db. I posted them here. viewtopic.php?f=16&t=735&p=9027&hilit=emotes#p9027
[09:27] <@Volt> Is this something you can help me with?
[09:28] <~john> Good news! I just added the Emotes table editor to DB editor. So I will test it by submitting these 5 additional emotes :D
[09:29] <@Volt> Wee!
[09:29] <~john> lol i have been working diligently on DB Editor, since I cannot be "the excuse" any longer :D
[09:29] <@Volt> And btw the db editor password system hates me.
[09:30] <~john> lol
[09:30] <~john> are you just forgetting your pwd? it's a pretty basic login.
[09:30] <~john> I don't think browser affects it...
[09:31] <@Volt> Nope not forgetting it.
[09:32] <@Volt> But, good news, it let me in now.
[09:32] <@Volt> Maybe it was a glitch the other times I tried it.
[09:33] <~john> ok whew
[09:33] <@Volt> Should I see emotes as an option in the DB editor now?
[09:33] <~john> btw, your bug about tracker assignee, that is wild. I must have brokent that a long time ago.
[09:34] <~john> oh sorry no, I haven't pushed my code to public editor yet.
[09:34] <@Volt> Ok, no worries.
[09:34] <~john> it would be under Server menu when it arrives though. I have some more testing to do today.
[09:35] <@Volt> I mostly wanted to make sure that I see the right things. And it sounds like I do. Thanks.
[09:35] <@Volt> The DBEditor looks very nice btw.
[09:35] <~john> woot. Thank you.
[09:36] <@Volt> Moving on to Wrap up, 0.2, Dialogs:
[09:37] <@Volt> From my perspective, it is ready to be used. I haven't planned to do anything more here until I get feedback from you/users.
[09:38] <~john> Okay, do we have example LUA for every option right now? I know LUA is small still, but I can make up a few sample scripts if we need.
[09:39] <~john> I have 1 NPC in all the world that uses Dialog "steps", so I *think* I have them all.
[09:40] <@Volt> I think so too John. I have the "scholar donovan" LUA somewhere as another example. Looking for it ..
[09:40] <~john> opening_dialog(), SetDialogGreeting, AddDialogOption, CommitDialog, CustomDialog, NpcSay, CloseDialog...
[09:41] <~john> I stole your scholar one and used it on Tan Fen Greatcloud in IoD :)
[09:41] <~john> So, let me give you some of my 2cp on Dialogs, specifically LUA functions. If you are ready.
[09:41] * rottstein (IceChat9@hidden-633D7EB8.res-cmts.sha.ptd.net) has joined #VGOEmu
[09:41] <@Volt> sec
[09:42] <~john> greetings rotty
[09:42] <rottstein> Cheers!
[09:43] <@Volt> Nice to meet you Rottstein
[09:44] <~john> rott has actually been following VGOEm since I started it on MMOEmulators.com back in 2008 or so :D
[09:44] <@Volt> Ok John, ready for 2cp :)
[09:44] <rottstein> You too Volt!
[09:44] <~john> or, a reeeal long time ago anyway heh
[09:44] <Blackstorm> Hello Rottstein ^^
[09:45] <~john> okay Volt, re: LUA function naming :) This is merely a suggestion, not an order. I prefer you follow EQ2Emu's "naming convention" where possible (there will be unique situations) beause I do not want to re-document 100's of functions. And no one else will write Wiki's so that's up to me :D
[09:45] <rottstein> Hey Black!
[09:45] <~john> Volt: http://eq2emulator.net/wiki/index.php/LUA
[09:46] <~john> In cases where EQ2's function naming makes no sense to you, we can always come up with something better. Some of the names are a little whacky.
[09:47] <~john> but.. it's really about marrying the 2 projects together, so a) I do not have to re-document everything and b) people from both teams can help each other.
[09:47] <@Volt> John I think you should just tell me what you want them changed to, and I'll change them.
[09:47] <~john> since we're making up the system, we can do this.
[09:47] <~john> Okay, but I linked the docs to you just so you have a resource when/if you make new LUAs.
[09:48] <~john> I can certainly change the names, but I wanted to make sure you were in agreement.
[09:48] <~john> An example of differences of course is opening_dialog() EQ2 doesn't have that exactly, I think we use "hailed" or something as a function name.
[09:48] <@Volt> Yup got it. As a side note I did look at the EQ2 namings when I made mine, and the ones I used is best from my perspective. But I am also very fine with changing them to something that works better from your perspective. So yup, we are in agreement.
[09:49] <~john> okay cool. thank you.
[09:49] <@Volt> Oh yes about the "hailed" one.
[09:49] <~john> and yes, your function names do make sense perfectly :D so it wasn't about that at all.
[09:50] <@Volt> Thing is, that "hail" is something slightly different in VG.
[09:50] <~john> Yeah, I am confused by Hail.
[09:50] <~john> from a VG game perspective.
[09:51] <@Volt> But lets not get into that now. If you post that you want "open_dialog" changed to "hailed", I will just change it.
[09:51] <@Volt> Time flies, ok to move on?
[09:51] <~john> no I think open dialog is more accurate to what we're doing. because of my thoughts on Hail :D lol I will talk about that on the forum though.
[09:51] <~john> yes.
[09:52] <@Volt> Wrap up 0.2, NCP interactions (other than dialogs):
[09:53] <@Volt> I have handlers ready, and other systems can tag in once they are ready for that. I am not planning to do more for 0.2.
[09:53] <~john> ok perfect.
[09:53] <@Volt> Next, upcoming 0.3:
[09:54] <@Volt> Movers/Doors:
[09:54] <~john> yay!!
[09:54] <~john> I am quite proud of your discoveries there, btw ;)
[09:54] <@Volt> :D
[09:54] <@Volt> It was all there, but I had to dive deep yes.
[09:55] <~john> indeed. Volt = Expert now haha
[09:55] <@Volt> I think the first step should be to implement spawning of them, and first after that works perfectly we should move on to the actual movement.
[09:56] <@Volt> You posted, perfectly valid, that if we spawn them we should be able to get through them.
[09:56] <~john> ok, that ties into my Tools bullet about Parsers. Do you know if the UnrealBitLib.dll can parse Movers flawlessly now?
[09:57] <@Volt> Let me answer like this: I have successfully parsed a few chunks using UnrealBitLib.dll.
[09:57] <@Volt> You might find an issue with another chunk, or maybe it all parses flawlessly.
[09:57] <~john> cautiously optimistic. I'll take it.
[09:58] <~john> did you have to alter Parser db schema at all? vgo_rawdata.sql
[09:58] <@Volt> Beware that you need to check out the source and compile a fresh UnrealBitLib.dll.
[09:59] <@Volt> The parser schema needs to be changed.
[09:59] <~john> ok, could you supply that, or the changes at least?
[09:59] <@Volt> I am not really at home with the parser source code so I never changed that.
[09:59] <~john> oh ok.
[10:00] <~john> i basically name a column in the table after the Unreal property we're parsing and saving.
[10:00] <~john> I save >>everything<< and sort it out later.
[10:01] <@Volt> I think we need a separate time, maybe an hour, to go through what changes we need. Might be able to do the actual changes while we talk.
[10:02] <~john> ok. we can move on from that if you are out of time.
[10:03] <@Volt> Yeah sorry. I have about 15 minutes left.
[10:03] <~john> no worries.
[10:04] <~john> one question (for planning) on your future... do you forsee ZERO time for VGO in the coming months? This is so I do not put things on the task list if I am missing one of my best devs :)
[10:04] <@Volt> About spawning movers before we can actually move them: I have the solution working on my machine and that is to spawn them in their open position :)
[10:04] <~john> haha brilliant :)
[10:05] <@Volt> Oh flattering :)
[10:06] <@Volt> My hope is that I will have some time for VGO about every evening,
[10:07] <@Volt> So I expect to be able to support issues with everything I already started and hopefully something more. But I will not be able to take on new systems.
[10:08] <~john> And first, wishing you the best of luck in your new adventure. I hope it is fun and exciting and rewarding.
[10:10] <~john> Next, though it is really not too important in the real-world, I have "promoted" you and Lokked by title, to Principle Developer -- because while everyone does a great job here, you two are the most diligent, professional, and accomodating to my own needs, and are the premier experts in the VGO code base.
[10:10] <@Volt> Thank you :). Yes I think it will be fine in several aspects.
[10:10] <@Volt> Ops, and that thank you was about my new job lol.
[10:10] <~john> hahaha
[10:10] <~john> funny
[10:11] <@Volt> About the promotion, lol, well that is fine too :)
[10:11] <@Volt> Movers, one more thing, the second road block (next to parsing new data and new columns in the db table), is having them spawn/despawn depending on the distance to the player. If Lokked/anyone could help out here it would be brilliant.
[10:12] <~john> For my Agenda, I have nothing much to say to you about it. You are great at communicating, you understand the importance of ProjMan and BugTracker, and I think I won't burden you with 2015 goals until you find you have time for them.
[10:12] <~john> okay, if you can post that request for assistance on the forum, so he doesn't miss your request.
[10:13] <@Volt> I will bump it ;)
[10:13] <~john> For Tools agenda item, I mostly covered that yesterday. If you are interested, the chat log has those details. Or, if you have your own questions, I can answer.
[10:13] <~john> I know you are out of time, so you let me know if there's anything else you wish to discuss.
[10:14] <@Volt> One + one thing if I may rush it?
[10:14] <~john> certainly. this is your time :)
[10:15] <@Volt> PPO's: I wanted to share with you that I did some diving, and a) yes there does indeed seem to be a hash function involved that is probably impossible to beat without some look inside the client, BUT b) it won't matter until we want to place new houses because the figures are in the collected data.
[10:16] <~john> right, that was an option Lokked presented, to not actually "build" houses, but pre-spawn them and offer them "for sale" fully furnished lol
[10:16] <~john> although VG-purists will not appreciate that. they love to decorate their houses.
[10:17] <@Volt> we can even refurnish them, as long as they had at least one item in them in the parsed data
[10:17] <Blackstorm> +1 john ^^
[10:17] <~john> oh that's right.
[10:17] <~john> if we know 1 parent_id, we can then customize from there. Maybe we offer a carpet that comes with the house.
[10:17] <~john> a vase LOL
[10:17] <@Volt> lol brilliant yes
[10:18] <@Volt> I want to solve it one day. But this takes the pressure away. We definitely do not need to solve this soon.
[10:18] <Blackstorm> about parent_id, the issue with cragwind ridgve cavern is not in the latest db release :(
[10:18] <~john> well, for that matter, we could also just use a lookup table for the housing plots that currently have parentIDs. when the player builds their own house, we know that "spot" has that id.
[10:19] <@Volt> As long as they use the same house model.
[10:19] <~john> yeah i know parent_id also is a problem outside housing... but it's not earth-shattering as Volt says. We got lots of time to work it out.
[10:19] <@Volt> If you change the house model you need another hash
[10:19] <~john> oh, blergh. Yeah it would have to be >>that<< house, I forgot. Okay, we'll just solve it someday and be done with it :)
[10:20] <~john> Xinux was going to contact Brad, TigerTiger and Amadeus (client experts) to see if they have input.
[10:20] <@Volt> Ok, final thing, back to what we said a bit up: Can we plan for a time when we go through what needs to be done to parse movers please? Or may I send you a pm about that? :)
[10:21] * Cyrcle (IceChat77@hidden-FD995418.neo.res.rr.com) has joined #VGOEmu
[10:21] <~john> Sure, send me a PM or post it in the VGVisualParser Tools post. I'm not shy :)
[10:21] <~john> unless it is not specifically about the "tool"
[10:21] <~john> hey Cyrcle
[10:21] <Cyrcle> howdy everyone
[10:21] <@Volt> nah, just for setting up a time for chat :)
[10:22] <@Volt> Greetings Cyrcle
[10:22] <Blackstorm> hi Cyrcle ^^
[10:22] <@Volt> Ok I am off. Was really good to "see" you. Take care!
[10:22] * Volt (chatzilla@hidden-74D2BC6A.cust.bredbandsbolaget.se) Quit ( Quit: ChatZilla 0.9.91.1 [Firefox 34.0.5/20141126041045] )
[10:23] <~john> A nice segue right into Cyrcle's question list :)
[10:24] <Cyrcle> Ah, I must've missed some stuff :P
[10:24] <rottstein> Hellow Cyrcle
[10:25] <~john> Volt had limited time. We just went over her statuses.
[10:26] <Cyrcle> Ah, alright. Yeah, I can paste the questions in so they're available in the log if that's what you'd like.
[10:33] <~john> I actually have been responding on the post. Hold a few moments. We can then discuss additionally.
[10:34] <Cyrcle> No problem
[10:42] <~john> take a look at this while I refresh my coffee :) viewtopic.php?p=9028#p9028
[10:47] <Cyrcle> Alright.
[10:47] <Cyrcle> So, good move on the launcher in my opinion. Makes it easier for players. :)
[10:48] <Cyrcle> Community growth - sucks you have to update it manually, but as long as new people know they can still help out, that would be good
[10:49] <Cyrcle> So .spawn remove does infact remove the in-game NPC from the database, if I am understanding that correctly?
[10:49] <Cyrcle> Well, that specific entry / at that location.
[10:52] <~john> Yes, NPCs are made from many tables: spawn->spawn_npcs->spawn_location_entry->spawn_location_placement
[10:52] <~john> When you .spawn remove one, the only data being removed is spawn_location_placement.
[10:53] <Cyrcle> So, it is just removing their x, y, z location from the table?
[10:53] <~john> once we invent the .spawn create command, you could essentially replace the spawn yourself if you accidentally delete him. .spawn create 123456 would pop spawn_id 123456 at your feet.
[10:53] <~john> yes. it just deletes their Placement.
[10:54] <Cyrcle> Ah ok. I just wanted to make sure it wasn't possible to "delete" an entire NPC from existence on accident. Not that it will be a common thing. :P
[10:55] <~john> The DB Editor's "Spawn Editor" will give you more control, where you can delete the entire Spawn (ENTIRELY) from the database. Example, you Migrate that Sentry Bob, but you mistakenly migrate him twice. You now have 2 spawn IDs of the exact same guy. Not needed, if their data is identical. So in DB Editor, a delete can be done that totally cleanses all tables of that spawn ID.
[10:55] <~john> nothing is ever deleted "permanently".
[10:55] <~john> The Raw Database is completely separate from New Telon.
[10:55] <~john> and is read-only.
[10:56] <Cyrcle> Alright. That sounds good.
[10:56] <Cyrcle> And, it looks like the NPC details was clarified. Looks like we will be building quite a few NPCs.
[10:57] <~john> Well, I'm guessing that 90% of the world spawns are "yard trash" with nothing special to them. We can calculate most NPC attribs at spawn time.
[10:58] <~john> THe ones that need to be "built" will probably be major encounters. mini's, bosses, etc. Buffed up via their LUA script.
[10:58] <Cyrcle> Yes, mostly dungeon bosses and such.
[11:00] <~john> yeah, i say 90% because VG had a LOT of yard trash :)
[11:01] <~john> are you familiar with combat-related attributes, like how str affects combat, or wis, dex, or resists, or AC, or all those other attributes?
[11:01] <@Xinux> Morning
[11:01] <~john> I know lots of players have decent knowledge of strats and stuff, but not sure if anyone ever considered "The reason I cannot hit that guy is because he has a 10,000 AC/Mit"
[11:02] <~john> Xinux, do you have pants on today?
[11:02] <@Xinux> maybe ;)
[11:02] * john claws his eyes out
[11:02] <Cyrcle> It has been a while. I remember a bit.
[11:03] <~john> So Cyrcle, basically when we get to building combat encounters, we'll have basic calcs in place in the server already. Those will need tweaking, of course. So what we'll need our testers to tell us is, if the encounter is "too soft" - you killed it way too easy, or "too hard" - you didn't do the damage you used to be able to do similarly equipped.
[11:05] <Cyrcle> Sounds good. I know we already have commands to set level and give items so if there's something specific that needs testing, we can jump right to it. :)
[11:05] <~john> Our goal is to find a generic balance across all "normal" NPCs for what their offense/defense stats are, which we can then tweak via Rules globally (harder or softer) or specific to the mob in it's LUA script.
[11:05] <@Xinux> If we have some combat log's thought the entire level range we can probally figure out a base line HP for mobs
[11:05] <~john> yeah Xinux, Zewt mentioned having extensive fight logs we can probably parse in some existing VG combat parser.
[11:08] <~john> Xinux, do you have time today to update VGVisualParser and vgo_rawdata.sql to match Volt's changes for Movers in UnrealBitLib.dll?
[11:08] <~john> otherwise I will have to do it later this week.
[11:09] <@Xinux> i looked at the parser some when it came to the unreal parseing and honestly got a little lost
[11:10] <~john> haha okay, i'll try to get to it soon. I think that's what I was waiting for to do a full re-parse for Actors.
[11:10] <~john> Though I think I'd like to get Vehicles, too. And not confident PPOs are parsing correctly, unless she fixed that too.
[11:10] <@Xinux> don't forget need to reparse titles also since they are all marked as suffix currently
[11:11] <~john> yeah did we fix the C++ parser to parse that bit properly?
[11:11] <@Xinux> thought we did
[11:13] <~john> anyone heard from Ratief, Dakadin, ritojo82, or JohnnyTiger2k?
[11:16] <@Xinux> saw jhonny on the site yesterday
[11:16] <@Xinux> johnny
[11:18] <~john> I don't like being pushy, but I need to know if these guys are planning to help still or not.
[11:18] <~john> not Ratief, I know he's in it for the long haul.
[11:18] <@Xinux> need to restart brb
[11:18] * Xinux (IceChat77@hidden-86104F72.lv.lv.cox.net) Quit ( Quit: IceChat - Its what Cool People use )
[11:19] <Cyrcle> Sorry for the random AFK. So far, no other questions. Just waiting to do some content dev. Will likely be able to help out with the LUA side of it as well.
[11:20] <~john> Yeah I know you guys are dying to build the world, and I appreciate your patience. Lots of reasons we haven't started that yet, which I think you all understand.
[11:21] <Cyrcle> Yep, understood. :)
[11:21] * Xinux (IceChat77@hidden-41BECB90.lv.lv.cox.net) has joined #VGOEmu
[11:21] * ChanServ sets mode +o Xinux for #VGOEmu
[11:26] <~john> wb !!!
[11:27] <@Xinux> just tested C++ parser for titles and it look's fine
[11:27] <@Xinux> and thanks
[11:27] <~john> heh ok
[11:30] <Cyrcle> Alright. Seems like there's not much else. I'm going to afk for a bit. Thanks for putting on the meetings and thanks for all the work you're doing. :)
[11:30] <~john> np, thank you for your continued testing.
[11:31] <~john> and yeah, yesterday was a little chattier ;) this was mostly for Volt today.
[11:31] <Cyrcle> No biggie. I got to read it all
[11:31] <~john> woot. take care.
[11:31] <Cyrcle> You too John
Re: Dev Chat: 01/04/2015 - Dev Meeting / Q&A
I was able to duplicate this issue at the time I wrote up the bug report, however, I think it was a symptom of something else that has been already addressed. I do not recall having this happen recently. I will log in today and try to duplicate it again.
Glaxono
(Zarlore, Earful)
[09:19] <@Volt> Next one. Bug 27 - http://vgoemulator.net/index.php?p=bugs&id=27. I have sort of missed this one. It was assigned to me as Fixed. Anyways, do we know the forum name for character Zarlore?
[09:19] <~john> yeah i know he's been tweaking code the last few commits trying to remedy the disconnect/reconnect issues.
[09:20] <~john> Zarlore is Glaxono
[09:22] <@Volt> Got it. I will pm Glaxono to find out if Glaxono still can reproduce the issue. I can not.
Glaxono
(Zarlore, Earful)
[09:19] <@Volt> Next one. Bug 27 - http://vgoemulator.net/index.php?p=bugs&id=27. I have sort of missed this one. It was assigned to me as Fixed. Anyways, do we know the forum name for character Zarlore?
[09:19] <~john> yeah i know he's been tweaking code the last few commits trying to remedy the disconnect/reconnect issues.
[09:20] <~john> Zarlore is Glaxono
[09:22] <@Volt> Got it. I will pm Glaxono to find out if Glaxono still can reproduce the issue. I can not.
Re: Dev Chat: 01/04/2015 - Dev Meeting / Q&A
Movers:
Currently, the code spawns all movers for everyone in a chunk:
Is this working? Do you see movers showing up when you load up a chunk and approach the mover? If so, great. This code is doing what it's supposed to be doing.
In order to change this so that Movers update the same way all other objects do, besides sound, there are a few additions to be made.
- We need to comment out calls to SendAllMovers(), as we don't want all movers sent at once.
- We need to add, to the ChunkServer::CheckSpawnSendsAndRemoves() a section for Movers.
I've done this. It compiles, but I have no movers to test (I don't think?).
Commited Rev 902.
Code: Select all
[10:11] <@Volt> Movers, one more thing, the second road block (next to parsing new data and new columns in the db table), is having them spawn/despawn depending on the distance to the player. If Lokked/anyone could help out here it would be brilliant.
Code: Select all
void ChunkServer::SendAllMovers(shared_ptr<Client>& client) {
auto c_list = unreal_channel_list.GetCharacterChannelList(client->GetAccountID());
if (!c_list)
return;
auto ptr = mover_list.GetMoverList();
shared_ptr<UnrealActor> actor;
mover_list.ReadLock();
for (auto& itr : ptr){
actor = itr.second;
SendSpawn(actor, client, c_list);
}
mover_list.ReadUnlock();
}
In order to change this so that Movers update the same way all other objects do, besides sound, there are a few additions to be made.
- We need to comment out calls to SendAllMovers(), as we don't want all movers sent at once.
- We need to add, to the ChunkServer::CheckSpawnSendsAndRemoves() a section for Movers.
I've done this. It compiles, but I have no movers to test (I don't think?).
Commited Rev 902.
Re: Dev Chat: 01/04/2015 - Dev Meeting / Q&A
Glaxono, thanks a lot for noticing the question and giving feedback! Bug report is closed, even though I can't explain what happened there for you it is hopefully gone. (And if you rediscover the issue we will open the bug again.)
[quote="Lokked"]Movers:
Is this working? Do you see movers showing up when you load up a chunk and approach the mover? If so, great. This code is doing what it's supposed to be doing.
[/quote]
Yes this is working. When I spawn some 550 movers in NT (New Targonor) i see doors spawn all over the area, before the actual houses come into place. My client dies from memory issues a bit later :p.
[quote="Lokked"]In order to change this so that Movers update the same way all other objects do, besides sound, there are a few additions to be made.
- We need to comment out calls to SendAllMovers(), as we don't want all movers sent at once.
- We need to add, to the ChunkServer::CheckSpawnSendsAndRemoves() a section for Movers.
I've done this. It compiles, but I have no movers to test (I don't think?).
Commited Rev 902.[/quote]
Ohh brilliant, thank you, I am very happy to hear that! I can't access my test data (the some 550 movers in NT) until the weekend but I am very eager to try it out!!
[quote="Lokked"]Movers:
Is this working? Do you see movers showing up when you load up a chunk and approach the mover? If so, great. This code is doing what it's supposed to be doing.
[/quote]
Yes this is working. When I spawn some 550 movers in NT (New Targonor) i see doors spawn all over the area, before the actual houses come into place. My client dies from memory issues a bit later :p.
[quote="Lokked"]In order to change this so that Movers update the same way all other objects do, besides sound, there are a few additions to be made.
- We need to comment out calls to SendAllMovers(), as we don't want all movers sent at once.
- We need to add, to the ChunkServer::CheckSpawnSendsAndRemoves() a section for Movers.
I've done this. It compiles, but I have no movers to test (I don't think?).
Commited Rev 902.[/quote]
Ohh brilliant, thank you, I am very happy to hear that! I can't access my test data (the some 550 movers in NT) until the weekend but I am very eager to try it out!!
"Gaze in amazement adventurer"
- John Adams
- Retired
- Posts: 4581
- Joined: Wed Aug 28, 2013 9:40 am
- Location: Phoenix, AZ.
- Contact:
Re: Dev Chat: 01/04/2015 - Dev Meeting / Q&A
I will attempt to do a parsing of Movers tonight on all our logs once I rebuild UnrealBitLib.dll and modify the raw schema. If it works, I'll push them to New Telon (unless that breaks things)