What Frustrates You the Most?
Hey guys!
I used to code systems and sell them; it turned out to be unsustainable.
I used to make my system available and support it for free - that also turned out to be unsustainable, and ultimately resulted in my quitting the game for a little while.
I may not be around forever, but while I'm here I do want to contribute as much as possible. The whole point for me of coding the above was to make combat easier to enter and more enjoyable - unfortunately, it mainly allowed people to bypass the most fulfilling part of IRE combat, which is building and testing your own code and theory. There are moments where you want to pull the hair out of your head and shout and scream, but when you GET SOMETHING TO WORK it's an absolute high. I'm sure there's a lot of you that know what I'm talking about.
So, in service of that, what I want to know is:
What frustrates you about building a system? You've wanted to start PK in Aetolia, but there's a learning curve that you haven't been able to summit yet. What is it? Is it curing? Offense? Tables? Not knowing where to start? Starting, but getting stopped by the first handful of bugs that crop up that aren't solved easily? Unable to get clear or effective answers from other people about code?
I want to know!
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
0
Comments
Edited to add: @Serrice, what part of building modules is giving you trouble?
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
Templar at least has alternative routes - for Sentinel, unless you're a genius coder or someone who has a coding friend good luck trying to become even halfway useful in any form of combat. You'll be stuck spamming strike heartbreaker for 10% damage + stun and one herb aff at 2.32s. It's actually fairly frustrating when you know that 90% of your guild is going to be locked out because they can't code.
As for a more general frustration - modular and flexible QEB integration is a ridiculous chore. On a client side queue, I could have one alias: 'q ', and it would store the action on a queue and then I could just expandAlias when I got balance back. Try that with QEB and LOLNO. In addition, you need to take into account onbal automatic actions that you might've been taking: hidden aff checks, active cures, etc., and make sure they don't get eaten by QEB.
Just so I'm clear: your answer to the question is the initial barrier as far as coding target affliction tracking and QEB handling for actions?
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
Could you be more specific about the serverside QEB management?
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
Edited to tag: @Aishia
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
With a client-side queue implementation, I have a total of one table (the queue), one alias (add something to queue), and one script (pop from queue on bal and expandAlias the saved command).
This implementation is futureproof. I can use 'q ' and it will perform. I can thus build new aliases, new parts of my system, without any special handling.
This is not the case with QEB.
Consider automated venom selection in an offense. Before, I can just do 'q attack_alias' and when I got balance it would evaluate and send the proper command. Ofc, I'd be taking latency penalties, but it's very easy to write and integrate and do.
Let's say I want to convert to QEB. Now, I have to constantly reevaluate my opponent's status every time it changes (ask @Keroc how that affects server overhead), and requeue commands accordingly. Not only that, but if I decide that I really need to do something else in between (like queue up a tentacle tat, or some other action), I need to take into consideration whether or not that should be interrupting the QEB I already have in place, whether or not future automated QEBs will override it, etc. More realistically, every single action that I could plausibly would then need to be wrapped in an alias and a function, to make sure it runs seemlessly and without issue if I wanted to be able to just arbitrarily queue any command and have it execute on bal.
There's other concerns -- what about active lock breakers and moves? You need to take into account that your automatic qebs or some other qeb you make might interfere with that, and we all know a delay or even a few seconds using your active can kill you.
So for a QEB implementation that is functionally similar to the client-side queue implementation above, you need/want: balance tracking, QEB tracking, something to plug into your aff tracker to raise status change events, curing changes, execute action wrapper scripts, etc.
It's a lot of work!
Barrier 1: The code in itself, being the learning of another language, its alphabet and vocabulary. This goes from aliases and the stupid send("Things of doing" ..Something[23523525] "persimmon" w/e) to figuring out where to start with other stuff.
Barrier 2: Prioritizing information - what is needed, how do I work with things, and how do I get it to do what I want. This requires overcoming Barrier 1 and additionally having an understanding of how the language prioritizes and how to translate what is in your head into executable action.
Example: Figuring out how to just convert my movement aliases over from CMUD has been more of a headache than I feel it should be, both with my own struggles as well as figuring out what I need to do. Trager and Trikal have really helped me out, but some of this unicorns just doesn't make sense, especially coming from a more user-friendly (at least I feel) minimal experience.
In CMUD I can have 'pylon' as an alias, and the content is 'path find pylon;path go %1'. This would have me either walk to the pylon if I only enter 'pylon', or dash to it if I do 'pylon dash'. It is like, 4x more complicated to do this in Mudlet, and so far I cannot completely replicate it.
Barrier 3: Personal affliction knowledge. This includes curing priorities and understanding what things need to be attended to in what order and what things keep you from curing other things. This covers understanding how things stack together both in terms of your own curing, but when applying them to an opponent.
Barrier 4: Class skill knowledge. This is both in terms of defense and offense, each skill, how it's used, how to make them all work together.
Barrier 5: Every other class's knowledge - how to adapt for what you are facing, and who you are fighting alongside.
PK is a combination of all of this. I'm struggling figuring out how to put together an on-off basher or fisher, let alone anything that requires me to track more than whether or not I have balance or what even is GMCP and how do I use it, or how do I get this stupid chat window to actually follow clans.
The hardest part for me is automating parts of the offense for a class like Teradrim. With a class like Bloodborn, it's very easy to automate dwhispering off of a table, venoms off of a table, and to alter affs based on enemy status.
Figuring out the actual logic for writing the offensive script is the hard part for me, at least for Teradrim.
I really miss the old days when you could get by with just highlights, aliases, and a handful of triggers for the offense. Things literally move too quickly for that these days.
I will not be toptier but I do fine with this setup as long as I pay attention to things and take the time to add things as they are needed.
@Ashmer
My big issue is building an offensive to recognise what class I am in. I have tried to use stuff from gmcp. For example this stuff:
Status = { unread_msgs = "0", guild = "Sciomancers", class = "Praenomen", or whatever class<---capturing this section when I change to Shapeshifter spec = "Rituos", <----- as above
Once captured I need it to go in my script and do.... for example:
This for me is the bit that I do not and can not grasp!! Which has restricted my ability to use my other two classes.
Abhorash says, "Ve'kahi has proved that even bastards can earn their place."
If you simply use the QEB queue for attacking, these other commands will never get to fire - so what you need to do is have a central QEB handler for everything and hook all the other subsystems (parry, syringe management, etc) to it, so that it correctly knows whether to send "qeb kick bob" or "qeb parry torso;kick bob" or "qeb parry torso;flick syringes;kick box". Plus you need some timers to update your qeb-command whenever the target cures something, and these need to handle all this correctly, too. Without the coding knowledge to do this correctly, it has the potential to turn into quite a convoluted nightmare.
@Riluo, PM me? That's easy to fix and I don't want to turn this thread's focus away from the question by putting actual code and stuff in here.
@Veovis I can get that. I remember those days. I can also really get the difficulty with automating limb stuff. One thing I started playing with this year was actually dismantling a lot of automation and running everything on switches. It's funny how the auto combat is moving back to semi-manual, outside of QEB handling.
@Areka That sounds like something I've heard from a lot of people when it comes to this. It sounds like Barriers 1-3 are probably the least pleasant ones, while at least barriers 4 and 5 would be fun studies and learning experiences?
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
Can we keep this going for another day or two? Who else is out there? What else are you frustrated/stopped/delayed by when it comes to entry into PK and coding? Not enough competition? Someone being an absolute jerk with you? See the original post for more prompts.
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
Basically I feel it's like @Serrice said. You need to be able to code so complex it's ridiculous. It's probably also why I don't bother playing much anymore outside of RP. I can go play Destiny, where PvP is based on two things mostly: My ping, and my skill/reflexes/etc. You can't really automate something like that unless you're lag-switching or have a Viking controller - and in either case, you've basically already lost, because you're willing to go that cheap/cheat that much in order to 'win'.
Which is where I've been. Even at its most frustrating, pvping in the Crucible is a thousand times less frustrating than trying to pvp in Aetolia.
I remember, involve me and I
learn.
-Benjamin Franklin
Personally, I would simply love some quality of life modules that I could install and independently turn on and off.
- Web calling/chat window/an example of how to add new streams of data.
- The aff-tracking stuff with an example of how to add new afflictions and change priorities
- A bashing module with an example of how to add a new attack if you gain a new class, or modify it, or switch to a different version (using Sacrifice versus not, DSK instead of DSW, etc).
- Other sorts of data viewports and how to adjust where/how they are (deathsight, vitals, a place to save notes)
- Something for auto-shackling eld and those kinds of super useful things
- A basic template for a basic conditions-specified attack, at least in terms of a framework that I could then go "ok, I want to do maces and trauma, I can begin building around this" - give me the wireform.
Super basic table work would be great (which I think I will need if I'm to try to convert my shop stocker from CMUD to Mudlet, or this ylem counter).
A cheat-sheet would also be really helpful. Reading through all of the resources has been really confusing for me so far, in terms of Mudlet stuff, when really what I need to start out is a 'See Spot Run' instead of paragraphs.
One thing I've been experiencing in scrapping my offensive code and re-building a lot (and in coding since I came back) is that a lot of what I learned at the beginning was too complex and I needed to go back to basics.
Also, there's some simple etiquette you can have with yourself about it that makes the process, while yes, requiring real work, a simple building block process.
This is something where I think the solution is in the problem itself. For example, one thing I'm concerned with is there being no "low tier" in Aetolian PK. There aren't matchups where both players don't have tri-trans skills or don't have full curing systems necessarily. There's a mid tier, to be sure, and there's DEFINITELY a high-upper tier.
However, if people started building simple offenses that, while they're not fine-tuned to the point of say, Lim's or Ezalor's (does he even play anymore?) or mine, are passable. If more than one person does that, suddenly there's a low tier and it can build from there.
I love solutions in the problems.
Y'all have given me some really great ideas.
What else? Let's keep this going for at least another day.
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
the way she tells me I'm hers and she is mine
open hand or closed fist would be fine
blood as rare and sweet as cherry wine
I remember, involve me and I
learn.
-Benjamin Franklin