Segs / Segs

:muscle: SEGS - Super Entity Game Server
https://segs.dev/
BSD 3-Clause "New" or "Revised" License
230 stars 88 forks source link

[Meta] Lua Roadmap! aka use Lua to handle more server events #844

Open broxen opened 5 years ago

broxen commented 5 years ago

Feature Summary

We could be using Lua to do more! For example, Lua can handle the following events

This relates to the following issues, but has a broader scope

YellowAdder commented 5 years ago

On blimps and monorails: You should add boats/barges to this list for places like Independence Port, too. Monorails and cars/trucks work in a manner similar to one another than for the blimps/barges? I'm really not familiar with what is in already for movement like this.

Also, I've planned for stores, trainers and contacts like Ms. Liberty to receive more attention as the spawndefs gain more depth during the next iteration on spawning.

Regarding plaques, there don't seem to be many around during Issue 0/1. I mean, very few at all. Maybe I'm overlooking a number of them? @ZopharShinta, have you looked into this much?

It might be a good idea to open an issue for the server startup settings to begin a list of desired but specific settings. We could probably have groups of settings within a single script that include startup options, but also some from groups such as the "new player settings" feature you mention.

ZopharShinta commented 5 years ago

I'm curious about the movement for blimps, monorails, car/trucks, etc as I think that would translate to all entities. I might take a look at that this weekend.

There are a few plaques in Atlas (globe and near sewers are the only ones that come to mind) it should be pretty easy to update the plaques.lua for each zone and populate the correct id/name for each plaque a send a simple dialog for it. We would need to check the wiki to pull the text and location for them.

I wonder if Nems suggestion of loading JSON data into Lua would be useful for the server startup settings/new player settings, etc.

YellowAdder commented 5 years ago

I'm curious about the movement for blimps, monorails, car/trucks, etc as I think that would translate to all entities. I might take a look at that this weekend.

My impression (which could be completely wrong) is that the blimp and barges move on their track at some fixed rate of speed. Once they're spawned, they'll eternally move on their track, done and done.

Vehicles (and to a lesser extent the monorail) are more mutable in the route and may receive acceleration increases as they reach each navigation node, which is why nodes are sometimes placed close together such as when a monorail is "entering" a map. They'll otherwise follow a basic logic and despawn when reaching a destination only to respawn at some starting location again. They're a better start for things that may translate over to pedestrian NPCs.

broxen commented 5 years ago

So, Cars, Blimps, Pedestrians, and Monorails all have markers that they can look for.

Actually, it's easier with Blimps and Monorails, which you can see if you log into the client and type /see_everything 1 into the chat window. They have a very deliberate track to follow.

YellowAdder commented 5 years ago

For some reason, I thought there were only single nodes on the blimp and boat tracks, but some are "doubled" on there as well. Here's what I'm talking about for what I presume is a rapid speed increase on the monorail at certain points:

image

Same thing for various points on the street vehicle paths:

image

I also watched a "tour" video of Skyway city, given it's freeways, and was surprised at the sparse traffic. Does anyone remember fighting trolls having to dodge the fast moving cars and trucks on the freeway? The density of traffic in my memory is a lot higher than what was depicted. Maybe some traffic was specially triggered based on players standing on the road, or something.

broxen commented 5 years ago

I think you're probably right about the speed increases.

Actually traffic was pretty sparse, but it also worked off of the same proximity mechanics as everything else. Because of that, it probably did feel as though it spawned when standing on the roads.