MMO Prototype - March report
A few individuals have expressed their disdain towards the idea of announcing my progress here, I'm more or less shying away from making more posts on the matter. Unless I'm looking for help and/or testers, this may be my last update here.
As per my plans for the first quarter of the year:
(Done)
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.<-- This took slightly more time than planned primarily because, while the grid was functional, it didn't take into account the possibility that different instanced copies of the same location might have variations of that data (where a player might cut trees in his copy of the instance, etc). So that's fixed.(Functional)
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.<-- (NOTE) There's a good amount of infrastructure missing to get all of the functionality of the dynamic spawn points in working order. The spawn points do appear based on player activity but they do not migrate yet; I will implement the migration when more systems are in place.(Done)
Allow 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).(Delayed) Establishing a server-authoritative infrastructure for gathering/crafting/lock-picking mini-games.
(Added - Done) As an experiment: While still being server-authoritative, the path-finding algorithm is currently crowd-sourced to the clients. I can easily turn that functionality off later in development but I'm hoping that it'll ease off some stress from the server down the line. I currently have no idea what impact that'll have to the reaction time of NPCs but this might be good tech for some low-priority (read: non-combat) NPCs.
(Added - Done) Logic for Level of Detail has been implemented. This enables clients to see large objects (like trees and buildings) far into the horizon. Of course, as of right now, all LODs are cubes.
https://i.imgur.com/Mw9eD2l.png
With projects like:
Shroud of the Avatar
Legends of Aria
Chronicles of Elyria
Camelot Unchained
... turning the way that they are, I feel even more compelled to continue pushing this project along. Not necessarily because I feel that I can do better but that there's a gap to be filled. Ashes of Creation recently got some good progress on what they were promising (node-based progression of its world) but I have this nasty suspicion that it'll heavy focused on combat.
Pantheon: Rise of the Fallen (the brightest hope in my mind), might be a tad too static when it comes to its world.
As I have noticed with last month's progress and despite dedicated more time on the project than usual, I wasn't able to get the gathering/crafting/lock-picking mini-games on time. This month has proven to be more hectic than previous months due to the increased work load at my job (caused by the pandemic) and the complexity of what was being worked on for this project... Considering the amount of progress I've made, I'll consider this a win nonetheless.
I think the biggest reasons I haven't done it yet is because I can't think of a good solution on how to implement it right now.
I didn't make any plans for this next quarter so I'll just kind of relax a bit, tweak/polish a few things. I might take this opportunity to write generic dialogue for the NPCs. I have to figure out how rats and wolves would "speak"... which reminds me, I need to put cows in... and chickens.
-----
Design Brainstorm
It's a bit too early to implement but, as I was working on NPC pathfinding, I figured that I should start thinking about how I'm going to have Taming and Persuasion into the game. While one is for beasts and the other for humanoids, those two skills would allow players to convince a target to not attack them and, if skilled enough, be able to convince them to join you.
What happens under the hood is relatively simple but the challenge here is to find a way for players use/activate these skills without having specific "taming" or "persuasion" buttons for them to click on. For example, the "Interact Key" allows you to open doors but, because it's contextual to what you're looking at, it's also the key to pick lock, cut trees, talk to NPCs, etc.
So my immediate thought was to implement that functionality within the dialogue system; that seems intuitive enough... especially for humanoids. The early levels of Taming would have you communicate with animals, to progress into calming them, to eventually have them as companions and finally grow as some sort of druid who can speak to animals.
Sounds great, however, the dialogue system is set up so that you have to type what you want to say (just like SotA originally proposed and completely botched). So how do I turn that into a gameplay element and avoid having a system where players type "tame" or "persuade"?
https://i.imgur.com/dsDyNws.png
I have a sort of typing mini-game planned out for spell-casting... so what would be the equivalent for Taming? Do you have to guess the target's favourite food or colour or something?
Thoughts are welcomed as I think this over for a few more months.
Comments
Post a Comment