MMO Prototype - January report

As per my plans for the first quarter of the year:

  • (In progress) Complete the path-finding logic (with a procedurally generated grid to accommodate the ever-in-development terrain) to allow NPCs to move. The grid is done, I just need to assign "weights" (so that NPCs are less likely to walk on grass than on the road) and plug the NPCs to said grid.

  • Create spawn points that can spawn procedurally (based off available space on the terrain) as well as enabling some to be destroyed by players. This is to enable the game to dynamically spawn encounters based on player density, like pushing a wolf den away from the perimeter of player structures or having mobs appear from the depths of a dungeon and have them walk/patrol back to their designated "spawn location"; rather than just popping into existence behind players as they delve into a dungeon.

  • (DoneAllow player-owned plants to grow at a pre-determined rate rather than be subject to the growth rate of the overall ecosystem (to enable gardening).

  • Establishing a server-authoritative infrastructure for gathering/crafting/lock-picking mini-games.


So, if you were to look at this footage, the player would plant trees in their infant stages rather than the full-grown trees that the server starts with. Because the player owns those particular trees, he/she can replant/move them at a whim. Right now I have it so that everybody can interact/cut every tree that exists and I'm somewhat debating on whenever or not that should be allowed.

I know that, when I'll implement a garden, I want the vegetables to only be placed on the garden object and have it so that only the owners can interact/cut them... but for trees, I believe there's going to be an expectation to be able to cut them down regardless of ownership. Maybe I just prevent it from happening if the tree can bear fruits.

So things to consider.


On another note,

Path-finding got a bit tricky once I started plugging it to the NPCs. It's not like I didn't foresee any issues but the significance of those issues grew once I saw the NPCs in action. It's uncanny to see an NPCs completely stop in its tracks when it's trying to move outside the instanced terrain it belongs to. The reason it does that is for a few reasons but here's an example scenario.

First, understand that the entire world is designed to be seamless... and that includes going in and out of instances. If a section of terrain is designated to be for story purposes, you'd be seamlessly walking into your own copy of that instance while, at the same time, see other players running around outside of that enclosed area (people running into the enclosed area would disappear from view; into their own copy of the instance).

With that said, imagine, if you will:

Two players in their own separate instance (a story or dungeon) and, in that instance, they both aggro an NPC called "Bob". If both players decide to run away and go outside the instance, both Bobs would follow them outside into the MMO part where everything is shared... so, now, they both sees two Bobs running around. Any other player would see both Bobs as well as their own copy of Bob idling in the distance (the one in their instance they haven't aggroed yet).

So, to prevent that from happening, I prevent instanced NPCs from walking outside their respected instances (and MMO NPCs don't walk inside instances either, because then they'd disappear for certain players).... but then you get into a situation where it looks like they hit an invisible wall.

So I'll have to spend some time to develop a leash mechanism where, upon target going out of bounds, find another target within bounds... if not, return to original location. I wasn't planning on doing that just yet but I think I might as well do it since the procedural spawn points will most likely work off of that system anyways.


Thoughts and feedback are welcomed.

Comments

Popular posts from this blog

One year later

MMO Prototype - Mini update

MMO Prototype - April report