Jump to content
  • 0

Reliability of player variables?



Hi again - just looking for people's experience on player variables for long-term use. Thus far i've only used them to accomodate quests / events, but I'd like to do things like profession levels and skill/weapon specialization points, bestiary etc.

I'm not sure if the projects that have implemented these used variables & events to accomplish them, or if they've addressed them via source; are variables for more fluid values reliable for long term storage of player data (relative to the reliability of any other player data inherently part of the engine, i.e. level, etc.)?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 1

I'm not sure what Nightmare uses for their Bestiary (I am imagining it is a separate set of data they keep track of outside the event system because of how it interacts with item drops and the UI) but let's use that as an example here.


I would certainly NOT suggest using variables for that particular goal. Not because it wouldn't work (and it shouldn't randomly make blank values visible, they probably changed something that made that happen when they changed something else) but more for the following reasons:


1. It's a lot of maintenance long term to do this with events.

2. You'll need an event and variable for EVERY SINGLE enemy type.
3. To get the data to the client in a UI window, you'll need to gather the data up from out of the event system (so track every variable Id in a list somewhere along with a reference to what Npc it is related to) combine this data and then send it to the client because the client has no knowledge of event variable values.


I think those points need to be considered for every system you want to implement long term.. Because once you do you'll have to potentially maintain and add hundreds of extra events and variables and track them for an interface somewhere. Is that worth it? Can you do it some other way that is easier to work with?


I feel like your question requires a far more broad answer and just saying the event system can or can not do something isn't the answer I will give you..

The event system is powerful and easy to use, however it can not and (arguably) should not be used for everything when making your game. When designing new mechanics for your game consider the scope, ease of use for players (How will they access it, see it and interact with it?), expandability and maintenance required over the next few months and then years. How large will this system get? Will I have to keep adding an endless amount of extra variable or event work?


Eventually, if a lot of those questions end up with "It's a lot of work to maintain and expand" it might be worth just writing it up in code instead in a more general method you can re-use and expand later.

Link to comment
Share on other sites

  • 0

I would argue this depends more on what you want to do and how the system is supposed to work rather than how reliable they are. As long as it's in the database it's stored there.


How you use them and what application you're going for is far more interesting in regards to where you put the data.


You can still retrieve event variables through code, after all. 

Link to comment
Share on other sites

  • 0

well for example, talent trees is one idea; I was thinking something along the lines of a variable for each sub-domain within each class; i.e. rogue would specialize into assassin vs. scout/ranger. Those points would dynamically drive the strength of their abilities (effectively, replace what skills that player had with their stronger counterparts based on their specialization). 

Bestiary is another example; I think you're familiar with what Nightmare's done there; similarly, tracking monster/pvp kills long-term and driving access to features/content based on that.

and professions levels: using player variables to track their fishing progress for example.


Aside from database-wide events that result in me having to utilize a back-up, I don't want to have to spend any operational time troubleshooting/fixing individual players' cooking level that somehow disappeared, or bestiaries that either were freely capped out for some new player or removed from players who did the work.


These might sound like a silly concern, but the reason behind my questioning is due to what I experienced after logging into Nightmare after a patch; every NPC in the game was added to my bestiary, where previously I only had NPC's I had killed. Fortunately my progress within each NPC was accurate, but i'm also not sure if their bestiary drives off the standard variable/event systems.

Link to comment
Share on other sites

  • 0

You're definitely right, the bestiary would be poorly extensible. Even thinking of how to reduce it down to categories such as how many beasts, demons, etc. were killed would really be way more work then the value add from events I'd drive off of those variables.


I do still like the idea of using the variables for the class specializations; I only have 5 classes with two sub-classes for each, and not every spell would be "upgraded", just ones that are associated with that sub-class. 
Professions feels reasonable too still; 5 professions that (in my head) i'd just need an exp and a level variable for each. 


It sounds like the problem with these applications aren't the integrity of variables though, which is good news! I'll just be mindful where I use them.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...