Suggestion: Battle Details (in General)


ScrObot December 10 2010 11:30 PM EST

For such a math-rooted game I think a lot of the calculations that aren't "secret" are way too hidden and hard to calculate out (although possible). The recent post about Leadership values not showing up anywhere reminded me of this idea. For each "action" that does damage (and also misses) have a little pop up that you could hover over that would detail what calculations went into it: AC reduction, leadership values, the final CTH, etc.

The mockup has random values but you get the idea. Obviously what was included would need to be carefully considered, and different fields would be relevant for different damage types and weapons. It should also be an option that was turned off by default to conserve bandwidth (maybe even supporter-only?). But all the values must exist in the processing of a fight anyway so it theoretically shouldn't add much, if any, overhead to battle processing.

Discuss!

AdminQBnovice [Cult of the Valaraukar] December 10 2010 11:32 PM EST

very cool idea, and I like the mockup

DoS December 10 2010 11:35 PM EST

I very much enjoy this idea. And the mockup is very nice indeed. When I play new games, I enjoy seeing complex stuff like this, so maybe potential new players would as well. It would need to be integrated into the new tutorial as well. :)

Messbrutal December 10 2010 11:37 PM EST

This would be an amazing thing to have, I wonder how hard to program this would be.

Xenogard [Chaotic Serenity] December 10 2010 11:41 PM EST

It gets my stamp of approval, I really love things like this as I'm the type of player that likes to see all the hidden stats and being able to see the actual calculations for a game like this would be nice.

BadFish December 10 2010 11:43 PM EST

Would this make a noticeable difference in the time it takes to fight? If not, I like it a lot.

ScrObot December 10 2010 11:47 PM EST

As discussed in chat, this could be related to a limited perk or something. Lots of different ways to implement that but I don't want to devolve into that discussion here.

So one rebuttal to "it takes 0.15 seconds longer to fight!" would be to make it very limited in some fashion so it wasn't being spammed and slowing things down in normal circumstances.

Pwned December 10 2010 11:48 PM EST

wow thats a great idea!

Pwned December 10 2010 11:52 PM EST

So one rebuttal to "it takes 0.15 seconds longer to fight!" would be to make it very limited in some fashion so it wasn't being spammed and slowing things down in normal circumstances.

no you wouldn't even notice the difference as the code is already executed normally and the "hover over" will just display what already happened.

Pwned December 10 2010 11:54 PM EST

But then again you would need to make a storage for each individual hit

DoS December 10 2010 11:58 PM EST

I don't know if this would be possible, but maybe when you hover over it is when the numbers get crunched and such.

ScrObot December 11 2010 12:03 AM EST

I would assume the battles happen once and are never saved, so it would have to be done with everything else and couldn't be calculated on-demand. But I'm also pretty sure that every single one of the values that we would want to show has to exist during the battle processing, we just need to add them to the output.

Getting too technical for a moment, but the values could easily be saved out into JavaScript objects, and the actual HTML display be created by a JavaScript function, which would save bandwidth as well.

Areodjarekput December 11 2010 12:09 AM EST

Add a fourth option to the play-by-play options, Off, On Non-Win, Short, and Full/Detailed. When I'm just burning BA, I'd leave my play-by-play off, and I'd have these additional details off as well, so it wouldn't affect the time it took to fight (I think). But when I needed information, or had time to really examine what's going on, I would like the ability to have this information easily available to me.

Zenai [Cult of the Valaraukar] December 11 2010 2:38 AM EST

Add this as the Post Battle Inspect Feature (On/Off Option Of Course) Honestly I have heard mention of this before but having a mockup definitely puts it into perspective.

Tyriel [123456789] December 11 2010 6:43 AM EST

Me likey a lot!

AdminNightStrike December 11 2010 10:13 AM EST

no you wouldn't even notice the difference as the code is already executed normally and the "hover over" will just display what already happened.

I love how so many people on CB know how the code works... :)

I especially find it humorous at how many posts there are from people stating the difficultly level of feature implementations.


That aside, this is a GREAT idea. My biggest concern is that right now, we aren't processing fights fast enough. I made some improvements there already, but the reality is that some of the fight suspensions are due to the fight not finishing before a user thinks it should. I'd be leery of adding more fighting overhead before figuring out how to streamline it more.

The biggest bottleneck at the moment is one that has been around for ages -- familiar spawns. Right now, we spawn the familiar on the fight page. This means that every time you click Fight, CB figures out everything about everything for that new pseudo-minion. That means lengthy calculations like Evasion, Unarmed Combat, etc. The logical solution would be to keep the familiar around all the time, but that's not easy to do.

So.... while I love this idea, I don't think now is the right time.

Admindudemus [jabberwocky] December 11 2010 10:24 AM EST

what about showing calculations for more static things. mouseovers showing calculations on stats on the train, equp and post battle stats page might go a long way to clarifying how things work for new users.

Admindudemus [jabberwocky] December 11 2010 10:28 AM EST

even something as simple as showing the formula for calculations, such as we see on shakes & fidget when you mouseover evasion, defense, damage, hit points & crit chance.

Pwned December 11 2010 10:52 AM EST

I love how so many people on CB know how the code works... :)

All programming languages follow the same concepts, its mostly learning the keywords.

Pwned December 11 2010 10:57 AM EST

There are some slight differences in a couple languages but pretty much everything is the same except C++ because you can do pretty much anything in that. Its the wild west.

Admindudemus [jabberwocky] December 11 2010 11:04 AM EST

i think the point was that knowing how it could possibly be coded and knowing how it is coded can be two vastly different things. especially in real world situations where code has been added to over time to add new features.

AdminNightStrike December 11 2010 11:26 AM EST

There are some slight differences in a couple languages but pretty much everything is the same except C++ because you can do pretty much anything in that.

Wow.... just.... wow.............

Pwned December 11 2010 11:27 AM EST

Thats a good point Dude because thats one of the most talked about subjects in programming.

They're really leaning towards commenting and documenting your code nowadays. I've heard stories of people getting fired because they didnt document their code but it makes sense.

Soooooo........ I'll go comment in my code now :( thanks for reminding me.

Pwned December 11 2010 11:29 AM EST

Wow.... just.... wow.............

TY

Pwned December 11 2010 11:30 AM EST

If i'm wrong please advise.

AdminTitan [The Sky Forge] December 11 2010 5:15 PM EST

Well first off tcl doesn't really have the ability to program O-O style, it does, but it's tricky and from what I've gathered from NS most of CB isn't and I don't think a site wide re-factoring is happening any time soon. Plus there are plenty of minor difference between languages that can really hang you up, not really make something impossible, just more difficult. For example, pointers in C++ versus java, memory management versus garbage collecting.

Lord Bob December 11 2010 5:28 PM EST

If this were to happen it would be the best thing ever. Not just on CB. Ever.

On the issue of languages, I'm still baffled by the fact that this game isn't written in Python.

AdminNightStrike December 11 2010 5:40 PM EST

Jon has often remarked that if we were to rewrite CB today, it'd be in Python.

At the time he created it, though, OpenACS was a really good platform to start with. That platform requires TCL + AolServer. Remember that this was about a decade ago. As it stands, there are pieces of python present, but obviously not the bulk of it.

You can for the most part implement most ideas in any language, but some are better than others. For instance, if CB were a typical LAMP application (Linux, apache, mysql, php), it'd fall flat on its face or require a server cluster. That said, its current tcl implementation started several versions of the language ago during a time when AolServer was still maintained, and OpenACS had just forked from ACS. Things are very different now. The basic idea of how you build a web application has been completely revolutionized by the likes of google and friends. Web 2.0 was still Web 1.0 back then, and now HTML 5 is just about mainstream.

To assume anything about the way CB is built and the paradigms at play in the implementation is not only foolhardy, but it makes suggestion threads go stupidly off track.

QBBast [Hidden Agenda] December 11 2010 5:43 PM EST


Channeling?

adsill December 11 2010 5:52 PM EST

You guys don't have macros going where you can input the level of a familiar into a function and get the pertinent characteristic?
This thread is closed to new posts. However, you are welcome to reference it from a new thread; link this with the html <a href="/bboard/q-and-a-fetch-msg.tcl?msg_id=0038al">Suggestion: Battle Details</a>