Roadmap part 1

Keep track of this topic. All announcements and short-term rules will be written here.
Praise
Master Scribe
Posts: 67
Joined: Tue Sep 13, 2016 6:00 am

Re: Roadmap part 1

Post by Praise »

Only need one cook in the kitchen! You are head Chef, Colibri!
Praise
User avatar
Johnny Warren
Legendary Scribe
Posts: 864
Joined: Mon Oct 11, 2010 11:40 pm

Re: Roadmap part 1

Post by Johnny Warren »

+Colibri wrote:
Sun Aug 07, 2022 4:45 pm

One aspect where this applies: We need a balanced opinion from everyone. We'll be relying on polls in the game to get your opinion and to rank tasks (ideas, additions, bugfixes...),

...

Game additions, improvements, and bug fixes. About this, I have no particular affection towards any particular thing, so you will help me by upvoting various ideas & todos when this system is available.
The very first thing is obviously going to be fixing the issue of long closed guilds and individuals who've quit hogging all the good hues though, right??
JOHNNY WARREN!
Image
Durocius
Grandmaster Scribe
Posts: 81
Joined: Fri Sep 03, 2021 7:02 pm

Re: Roadmap part 1

Post by Durocius »

Game additions, improvements, and bug fixes. About this, I have no particular affection towards any particular thing, so you will help me by upvoting various ideas & todos when this system is available.


The very first thing is obviously going to be fixing the issue of long closed guilds and individuals who've quit hogging all the good hues though, right??

That certainly has my vote,JW!
🤘
User avatar
Melkor
Legendary Scribe
Posts: 998
Joined: Sun Feb 14, 2010 1:30 pm

Re: Roadmap part 1

Post by Melkor »

Free the hues!!!

Thanks +C for sharing your plans for the shard.
Image
TDC Guild
User avatar
Cerrera
Legendary Scribe
Posts: 332
Joined: Fri Sep 21, 2018 8:51 am

Re: Roadmap part 1

Post by Cerrera »

Praise wrote:
Tue Aug 23, 2022 5:14 am
Only need one cook in the kitchen! You are head Chef, Colibri!
Looking for vacancy of sanitary inspector ''evil laugh'' :lol:
User avatar
+Colibri
Administrator
Posts: 3962
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Roadmap part 1

Post by +Colibri »

Just a quick update on this big / long-term project.

By this time I was hoping we'd have a "decorate britain bank contest" which would be a great thing to have, holiday-themed. Most of the functionality would be part of the system, I'd just have to code some UI that would utilize it: spin up a new instance of trammel (we have this already since years ago), define an area that includes the britain bank, make the contestant to be the GM of that area (with decorator-only rights) and then you can just use Pandora's box to tinker with it.
These last almost 4 months were filled with various errands that just couldn't be postponed, I was also sick for 2 weeks.
However, i got the Modules system working which makes it possible for reloading of code without server restarts. Well, we already have this functionality, but it only works for stuff that were coded in style that supports it, and it gets a bit messy with a lot of edits and roll-backs. That doesn't mean that we won't have any server restarts in the future (or only monthly ones to prevent lagging), but anything from now will be coded in this way (and old code upgraded to make it compatible), and it will be easier to make updates without restarts.


I'm moving on to making the cloud-connector. We kinda have this already, it's used for several things, HelpSystem probably being the most used one. Also Name Change auditing (Which is broken right now). Mostly, we're moving away from using CouchDB as our database, because it's just too slow and the great idea of multi-master database design is just too complicated to work with. In a similar way as the HelpSystem is made, the library will be used to keep a cache of data that the shard needs to operate with, and also keeping a changelog of changes made to every object in the system.

In the example of decorating britain bank: the design of the britain bank isn't saved as a bunch of items, but just as definitions like "there's a item with graphic 0x1234 at X=5 Y=18 Z=2. And then, whenever someone wants to use that design, we can pull that from the database, and only the assets that are currently used somewhere in the game will remain cached. This is also great if the database goes down, or somehow becomes broken - the game can still operate (well, with limitations) which is my primary concern - keeping the components as independent from eachother as possible.

Also re-using and stacking of existing "assets". Use that particular britain bank design, and add a few grass tiles there, and remove the existing well, and add a different well there. The whole thing gets saved just as a definition of these changes, not the whole list of 2000 items.
And let's say there was an error in the original design: the snow angel that's on top of britain bank would be typoed as "snow agnel". Ordinarily if you were to first copy all the items and then make changes to that copy, all those copies would have the "agnel" in them. But since it's defined as a "derivative work" of sorts, fixing the original typo will automatically get fixed in all those copies (well, if you upgrade the dependency version).

This same object thing can be used for all sorts of administrative things, like the penalties system, defining items, mobs...
"Take the succubus, and make it have a different sound, and hit 50% harder. Also, when it dies, have it do the "NewSuccubusDeathEffect" or something like that. And that death effect is defined as a module, which can also be changed on the fly.

Hoping for a good motivating wind in my sails, and as few RL-storms :)
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
User avatar
arrow
Legendary Scribe
Posts: 328
Joined: Sun Mar 06, 2011 1:40 pm

Re: Roadmap part 1

Post by arrow »

I volunteer !!! (at least for the part I actually understood) :mrgreen:
Always remember to pillage before you burn!-----------Unknown
User avatar
Johnny Warren
Legendary Scribe
Posts: 864
Joined: Mon Oct 11, 2010 11:40 pm

Re: Roadmap part 1

Post by Johnny Warren »

Update is greatly appreciated. Thanks for your input! I'm not sure I understood all of it :lool: but it sounds good. It was noticed there was no mention of freeing up the old hues being hogged by inactive/solo players/guilds.. :roll: :mrgreen:
JOHNNY WARREN!
Image
User avatar
ButteryBiscuits
Elder Scribe
Posts: 112
Joined: Tue Apr 30, 2019 9:32 am

Re: Roadmap part 1

Post by ButteryBiscuits »

*blows motivating wind your way* :)
BB
---------------------------
ButteryBiscuits
in game name ButteryBiscuits
https://en.wikipedia.org/wiki/Mermaid_of_Warsaw
Durocius
Grandmaster Scribe
Posts: 81
Joined: Fri Sep 03, 2021 7:02 pm

Re: Roadmap part 1

Post by Durocius »

qbf wrote:
Thu Dec 15, 2022 1:05 am
Update is greatly appreciated. Thanks for your input! I'm not sure I understood all of it :lool: but it sounds good. It was noticed there was no mention of freeing up the old hues being hogged by inactive/solo players/guilds.. :roll: :mrgreen:
I second that! #freethehues
Zanzi
Elder Scribe
Posts: 139
Joined: Mon Mar 08, 2021 12:20 am

Re: Roadmap part 1

Post by Zanzi »

Agreed 1000000% free up those hues please.
Geriatric
Legendary Scribe
Posts: 237
Joined: Thu Dec 08, 2022 4:51 am

Re: Roadmap part 1

Post by Geriatric »

make magery great again

every single person seems to be dex based to the point that a dragon gets killed in 1 or 2 hits

i remember a time when energy vortex could take down a dragon, they seem to be very underpowered on this server
an EV could barely fight 3 lizardmen

im not saying to make magery better than dex
but a littlebit better than what it is
User avatar
Cerrera
Legendary Scribe
Posts: 332
Joined: Fri Sep 21, 2018 8:51 am

Re: Roadmap part 1

Post by Cerrera »

Guessing that contest is just testing of system, does it works properly. Modulating properties sounds nice, lot easier to change one parameter than copy and rewrite parts on whole mob. Just hope system will handle that it must add seperate things to same mobs. Ty nice to hear news and that this is still in plans.
User avatar
+Colibri
Administrator
Posts: 3962
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Roadmap part 1

Post by +Colibri »

Getting more and more productive these days... good progression, but it's a lot to get working. Aiming for the idea-prioritization to be done by the end of October though I'll probably miss the mark by a few weeks.

Btw, it's not just about idea prioritization, I can just make a poll stone... it's the whole data-handling, linking of objects, versioning of configuration and game assets, with server-side scripting support/compatibility in mind (a successor to the XMLSpawner but more like a NodeJs kind of thing). Lots of moving parts.
running out of screens.png
running out of screens.png (569.98 KiB) Viewed 2188 times

In pseudo code.. let's say you want to make a red hat as participation reward. Usually in game we do:
[add hat set hue 33 name "The hat of redness" eventname "2023 Hat Event"
or with xmlspawner you do:
hat/hue/33/name/The hat of redness/eventname/2023 Hat Event

But that's dirty when you have a lot of different items, pieces of content, events, etc... so what we do is:

Code: Select all

{ 
 "_id": "ItemTemplates.ByColor.RedItem",
 "Hue": 33
 }
 
 { 
 "_id": "ItemTemplates.Clothing.Hat",
 "ItemID": 5907
 }
 
  
 { 
 "_id": "Events.2023HatEvent.ItemDescriptionTemplate",
 "EventName": "2023 Hat Event"
 }
 
  
 { 
 "_id": "Events.2023HatEvent.TheHat",
 "$templates": [
 "ItemTemplates.Clothing.Hat",
 "ItemTemplates.ByColor.RedItem",
 "Events.2023HatEvent.ItemDescriptionTemplate"
 ],
 "Name" : "The hat of redness"
 }
And here, we would then do:
[add Events.2023HatEvent.TheHat

Then, in case we have to change the itemid of all hats, we can just change that base template, without having to find every possible instance of an item... (and thru the years we added a lot of complexity which just adds a ton more edge cases, and this solves for a lot of that)
(The hat is just a silly example)

Right now working on getting integrated unit-testing going (with NUnit). So when i modify a module, and hit Ctrl+S (save), after compiling the code, it runs the unit tests... if tests are successful, it replaces the functionality of the server with the updated code. If things go sour, i can then edit the configuration and revert back to the older version. Recipe for less gray hair and possibly also more will to live, and sustainable development of conten, where the coupling of the code doesn't grow exponentially.

I'll try to keep you updated as I progress further.
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
Praise
Master Scribe
Posts: 67
Joined: Tue Sep 13, 2016 6:00 am

Re: Roadmap part 1

Post by Praise »

Keep up the Great Work, Colibri!!
Praise
Post Reply