INTEL: Soldiers needed in Andenne!

Its very hard for me to stay focused on anything non-trivial while we’re doing intermissions and resets and such. As a result, I often use the time to try and do research or work on something trivial.

Since intermissions can sometimes exasperate the question of “where’s the fight”, I decided to knock up a little LUA script to try and answer the question. Every 15 minutes or so it checks out the map for fights with good numbers of infantry and little to no armor where the infantry could use reinforcement on one side or the other.

It’s not intended for campaigns, only for intermissions – which are really more about carnage than cappage – and my in-game experience has been of much more balanced fights.

I’m curious how any of you who’ve been playing (regular players or those trying the weekend-long free trial)  have found it?

27 Comments

That lua script shows some signs of being thrown together[1]: eg you check for current threat exceeding maxThreat both inside ewsCheck_calculateThreat() and outside it, and you’re comparing a value “inf” in the last line of ewsCheck_calculateThreat() which I don’t see defined anywhere – I’m guessing a previous version?

BTW I’m sure this is all “Your specialist subject is the bleeding obvious” and I know how much that annoys me, but I wouldn’t be the smartarse we all know and love if I hadn’t pointed the above out. :)

[1] So does the post: dislike seeing what? :)

Well,

kfs1 wrote:
I decided to knock up a little LUA script to try and answer the question

But actually, its mostly just that I renamed the variables to make more sense.

And checking maxThreat in both places makes sense. You could write the outer check as “if threat ~= 0” but I think that would obfuscate the purpose and it would mean you have to rewrite the outer code if you changed the inner code.

“where’s the fight”

How many times has this question been asked in the last 6 years?

Could you actually keyword search the chat log?!

Trout

I don’t know LUA, so this is pseudo. But anyways… Why not something like this instead?


-- Script to run on clicking the "QuickAction GO" button in the UI.
--
-- Quick Action UI:
-- Spawn ( ) Allied (o) Axis to (o) Attack ( ) Defend with [Medium Tank] From ( ) Depot (o) FB ( ) AB. Look for Top [3] most populated objectives. >
--
-- player - player to quick spawn to action
-- forSide - side to spawn to
-- objType - ATO for Attack Obj, DFO for Defense Obj
-- eqClass - equipment class (higher level class)
-- topN - best match for N most populated objectives
-- spawnType - DP for Depot, FB or AB
----------------------------------------------------------------------
-- Entry point
function quickAction(player, forSide, objType, eqClass, topN, spawnType)

if isInputValid(forSide, objType, eqClass, topN, spawnType) then
local spawnFacility = nil
local equipmentInstance = nil

-- Get N most populated objectives, N depends on how deep the player wants to dig for matching parameters
local topN_Objectives() = getTopN_Objectives(forSide, objType, topN)

-- Loop most populated objectives
for obj in topN_Objectives() do
-- Get spawn instances of given type for given objective (loop all parent brigades of obj and their available spawn instances and return those matching type)
local spawns() = getSpawnInstances(obj, spawnType) -- for example, all (spawn) depots for this attack obj

for spi in spawns() do
-- Get/reserve equipment instance of given equipment class from given spawn facility instance
local eqi = getEquipmentInstance(spi, eqClass)

-- eqi is nil if requested instance was not found available, need to loop to next spawn facility
if eqi ~= nil then
spawnFacility = spi
equipmentInstance = eqi
break -- found match, we're done here
end
end
end

-- equipmentInstance stays initialized as nil if no suitable quick action was found
if equipmentInstance ~= nil then
-- Let's spawn, mission is autocreated if needed
spawn(player, spawnFacility, equipmentInstance)
else
return -- return "Quick Action with given parameters was not available - Please try again"
end
else
return -- input validation failed
end

end

function getTopN_Objectives(forSide, objType, topN)
-- Get top N most populated attack or defense objectives for given side
-- TODO insert code
end

function getSpawnInstances(obj, spawnType)
-- Get list of spawn facilities from all objective's parent brigades that match wanted spawnType
-- DP is always depot in the obj target CP
-- TODO insert code
end

function getEquipmentInstance(spi, eqClass)
-- Get instance of equipment of given class from the given brigade TOE available in given spawn facility
-- If a player requests for a medium tank, he may, for example, get P38t or Pz3F depending on availability
-- Restricting player choice to classes instead of instances makes it easier for both devs and players - I guess...
-- TODO insert code
end

function spawn(player, spawnFacility, equipmentInstance)
-- Spawn player to the world from given spawn facility with given equipment
-- TODO insert code
end

function isInputValid(forSide, objType, eqClass, topN)

-- Check that 'forSide' makes sense
if forSide ~= ALLIED and forSide ~= AXIS then
warn("quickAction(forSide, objType, eqClass, topN, spawnType) does not recognize side " .. forSide)
return false
end

-- Check that 'objType' makes sense
if objType ~= ATO and objType ~= DFO then
warn("quickAction(forSide, objType, eqClass, topN, spawnType) does not recognize objective " .. objType)
return false
end

-- Check that 'eqClass' makes sense
if
eqClass ~= INF_RIFLE
and eqClass ~= INF_SMG
and eqClass ~= INF_LMG
and eqClass ~= INF_ATG

and eqClass ~= AFV_LIGHT
and eqClass ~= AFV_MEDIUM
and eqClass ~= AFV_HEAVY
and eqClass ~= AFV_ASSAULTGUN
and eqClass ~= AFV_TANKDESTROYER
and eqClass ~= AFV_RECON

and eqClass ~= AIR_FIGHTER
and eqClass ~= AIR_FIGHTERBOMBER
and eqClass ~= AIR_LIGHTBOMBER
and eqClass ~= AIR_MEDIUMBOMBER
and eqClass ~= AIR_HEAVYBOMBER
and eqClass ~= AIR_DIVEBOMBER
then
warn("quickAction(forSide, objType, eqClass, topN, spawnType) does not recognize equipment class " .. eqClass)
return false
end

-- Check that 'topN' makes sense
if topN 0 " .. topN)
return false
end

-- Check that 'spawnType' makes sense
if spawnType ~= DP and spawnType ~= FB and spawnType ~= AB then
warn("quickAction(forSide, objType, eqClass, topN, spawnType) does not recognize spawn type " .. spawnType)
return false
end

return true

end

Don’t take this the wrong way, Yallu, but your snippet equates to the code equivalent of “what about something like this” – I’d guess it’s less than one tenth of a percent ( > 0.1% ) of the code needed to implement something like that, possibly even far less.

But its also far too complex to run on the server, which is where the Lua script runs. The problem on the client is the absence of the information neccessary to make such a decision, or the bandwidth to provide it.

I’ve already described elsewhere how I think we should solve the quick action issue – which is to reformat and organize the information being presented so that good selections are made for the user, and information is ordered based on those same selection-quality criteria.

A one-click button to spawn you someplace interesting is going to mislead new customers into thinking this is a very shoebox like game – they will be even more divorced from the scale and scope of the game and will have no incentive to look deeper.

“A one-click button to spawn you someplace interesting is going to mislead new customers into thinking this is a very shoebox like game (…)”

Doesn’t that amount to “it doesn’t matter whether you like realism-gameplay or shooter-gameplay, we’re only going to offer you a realism-gameplay interface”?

I’d think aggregate delivered customer satisfaction would be greater if each time a customer enters the game, you ask them if they want the quick-action interface or the realism interface. You’d deliberately use those “lively” descriptors to pump the customer’s curiosity as to the merits of the other choice.

Presumably noobs will all start with the quick-action interface, and thereby will most consistently experience the greatest-population, most exciting battle experiences the game has to offer. As customers become more experienced, some of them will gravitate to the realism interface, and always make that selection. Others will stick with the quick-action interface. Thereby each group will experience the same game in a way that maximizes its satisfaction.

Doesn’t that amount to “it doesn’t matter whether you like realism-gameplay or shooter-gameplay, we’re only going to offer you a realism-gameplay interface”?
Well if they don’t like realism-gameplay, how long do you think they’ll stick around? That’s BE’s primary selling point, after all – other games are far prettier and subscription free that can handle the shooter crowd.

The interface should be a realism one, but with an option to have someone else handle it – for example, the “Join Squad” bit, or a .ALLIED / .AXIS link-to-mission. It does remove some of the thought for the one player, yes, but it doesn’t remove the feeling – you realize that there was some selection in there and still have some of that “part of a greater whole” thing that is this game’s primary selling point.
Even if slightly inconvenient, there really shouldn’t ever be a “Quick Mission” button, at least without an accompanying message by a real person. If AI ever takes over where players spawn, then the game might lose one of the biggest pillars holding it up – the fact that players are the game, both on the ground and on the map.

WWIIOL has a number of customers who are quite happy to be here, but prefer gameplay that focuses on kills and combat action. They simply don’t care much about unit operations, or strategic plans, or campaign outcomes. AFAIK, the Rats are quite happy to have them on board. And, certainly there are those customers who care about the complex strategic game, but sometimes have half an hour between getting home from work and whatever family responsibility will occupy their evening, and would like to skip the complexities and jump into a quick firefight.

Those customers, among others, would benefit from a Quick Action function…and by delivering more satisfaction to customers like them, the Rats would benefit, too.

Good idea mate. How about adding the brigade to the “cp1.name” bit? When you get a chance….. :)

I agree with Jwilly. Furthermore, it may not be possible to have a single interface (unless it is customizable) for both types of players.

Guys, don’t relate “realism”, to a type of interface – these are apples and oranges.

The current UI is simply a bloody mess and has nothing to do with “realistic” or “non-realistic” gameplay. You cant confuse a more challenging battle type, or gameplay situation with a complicated UI.

Trout

The current UI is the worst game UI in the world – except for the previous one. :)

I just don’t believe that a “quick action” button or compact dialog is helpful. You introduce a whole new set of problems caused by players spawning in and thinking “Huh?”

Better to have “Quick” tabs for each UI section that provides quick access to the vital selections, organizes itself around that concept, but still keeps the user semi-intouch with the deeper elements of gameplay without cramming it down their throats.

It should be like learning to level up in an MMO – you start out by following the prompts, and later on you start to learn to improve the defaults or make your own choices.

We actually have a sketch of a new UI flow which centers around “what is my squad doing?” and the concept that perhaps everyone will start out in a squad with a sort of dummy squad for people who aren’t in a squad (you can always detune the squad channel).

Then, instead of having to pick brigade/mission/etc, you can use the slowly improving squad tab functionality to say “I want to join these guys”. Because BE is like a lot of social spaces – people want to be where other people are, even if they don’t want to be with those other people.
For the average joe, the user experience should be:
Log in -> Select Side -> Join one of the missions my squad is on.

Tabs along the top of the UI, giving nominal UI flow of


[ Side ] [ Squad ] [ Brigade ] [ Mission ] [ Equipment ]
X---->----X---->----------->----------->------+->spawn->

The squad tab would list, say, 3 “Battles” that my squad is participating in (AOs), 3 “Fights” (non-AO with EWS targets) and “Activities” (others).

Say “Antwerp…[+]” is listed as a battle. By selecting it and proceeding, I go straight to “Equipment” – my brigade and mission selected for me. The [+] indicates there’s more than one choice, and if I click it, it expands those for me in some mini-list view – showing me the brigades my squad is on, perhaps listed as


Antwerp
+– 1st Guards…[+]
+– 60 Wing
+– Royal Navy

If I click 60 wing, it takes me to equipment. If I click “+” next to 1st guards it takes me to a list of the more-than-one missions 1st guards has as an option.

In short – don’t present me with detail I haven’t asked for.

When you shortcut to a mission, I think there should be a splash screen (with an option to “don’t show me this”) which says:


1st Guards Brigade
Capture: Antwerp
Leader: kfs1
Running: 1hr 20
Closing: 15 min
Enemy Presence: Light
Life Expectancy: !30 seconds!
Completion: 90%
Current Orders: SPAWN CAMPED, DO NOT SPAWN!
Mission Notes: Blah
[ Proceed ]

Or for a Firebase


1st Guards Brigade
DESTROY: Antwerp-Schilde FB
Leader: kfs1
Running: 30 min
Enemy Presence: Heavy
Life Expectancy: 5 minutes
Completion: 0%
Current Orders: Need sappers!
Mission Notes: Blah
[ Proceed ]

Won’t be able to do that until 1.27 – 1.26 doesn’t actually know which brigade is attacking/defending a place yet because AOs are tied to CPs not brigades ;)

Kfsone said:

“I just don’t believe that a “quick action” button or compact dialog is helpful. You introduce a whole new set of problems caused by players spawning in and thinking “Huh?””

Why would they say Huh? Player requested medium tank near the enemy in a populated area and he got it. What’s there to Huh? He just wanted quick action with his preferred tool and he got it. He didn’t have to go scan all the more populated brigades to see if one of them still had the medium tank he wanted left.

Do you want some time to think about it, Yallu?

Think?

reminds me of……

User(to Analyst): I want to automate this process.

Analyst: How to you currently perform this task?

User: I just want it automated, can you do that?

Yallu…

You’re assuming a level of comprehension of the gameworld by the player spawning in. You have that level of comprehension because you’ve been broken in on the current game pre-existing game systems. You’re also assuming I’m referring specifically to your design. But you also actually make my point for me.

You have one particular set of expectations of what “near” means. You’re also assuming that spawning to defend with a tank near a town with enemy in might equate to a meaningful or enjoyable gaming experience because you were operating in a vacuum.

Turns out, there was only one defense objective posted by some hopeful at a town that is close to a resupply route – close enough to get EWS but not actually in jeopoardy. So our wannabe-tanker drove around for an hour and a half and saw nothing.

I’ve already talked to this particular topic several times on the forums and lately on this blog; you’ll have to look for my discussions with JWilly and Trout.

KFS,

I basically agree with your idea and you now have my permission to begin working on it.

However,

This comment,
“Log in -> Select Side -> Join one of the missions my squad is on.”

Concerns me a bit. I’ve been in a few squads before, and there were a great number of times when my squad was not doing anything I was interested in. The reason why people map hop is that they cannot find variety within their brigade or squad. So unless you code things so that all squads always have the right variety of missions availiable (and how do you define that?) people will have to make an effort (as they do now) to go mission surfing.

If CRS could appreciate that not everyone wants to be in a squad, nor do many people who are in squads want to play with them all the time, then perhaps a new UI will make it very easy for people to go the “no-squad” route.

Mean’t to add to my last comment:
A “quick action” up-front system gives the players a high road and a low road. I can either make an off the cuff, uninformed decision which will <i>probably</i> not result in a new/rookie player having a fun experience, and is therefore worthless to the most significant target audience, or I have to go through the UI.
What I’m in favor of is a rework of the UI which provides a middle road that is usable by both player groups.

BTW, Yallu, you complained ont he forums “where are the ‘I see what you’re getting at but maybe we can do it this way” responses. Are you not able to see them unless they pet your ego?

Again, Trout, its about better information presentation. What I have in mind is more like one of those web-portals like the Google or Yahoo pages where you have little boxes with headline summarys.

Taking a squad mission allows you to bypass the other tabs – but I still listed them as being there:

kfs1 wrote:
[ Side ] [ Squad ] [ Brigade ] [ Mission ] [ Equipment ]
X—->—-X—->———–>———–>——+->spawn->

The whole thing would be organized around getting information ordered and prioritized and presented in a guided fashion rather than in a pre-determined order.

Fundamentally that was what was wrong with the old map-based UI – the information was kinda sorta there to make a selection as to where to spawn, the ordering was just spatial and therefore sucked.

The current UI makes the same mistake in that information is “organized” by hard-coded defaults – the orbat is organized by brigade – but the name of the brigade has practically nothing to do with why you would choose it.

I think you just painted a very clear picture of using a Google widget style of interface. Maybe then linking the widgets to the map UI (just another widget) to visually display the info selected.

That would be interesting.

SHHH – Don’t use the W word!!!!! If Rickb or Ramp get drift of me using that word again, there’ll be fisticuffs. Gotta avoid describing these as that!
;)

It would be a killer front end. Drag, drop, arrange the way you want to view it. Have your buddy list. Click on a buddy and the map pans to his/her location listing a link with the mission their on. Click your on the mission, select your weapon and your in.

Have an HC mission list where official HC related / Brigades missions. Click on them watch the map pan over to their location. Click, select your in.

You’re taking the analogy too far and then tossing the baby out with the bathwater, and I’m too lazy to draw a mockup.

I guess so, I’ve only had 2 hours sleep in the past 48 hours. So my thought patterns are not the most lucid at the moment. :)

KFS,

As I’ve said before, I like your ideas around a new UI. In fact, it would allow you to TRACK and ANALYZE people’s preferences thus giving CRS a gold mine of customer information.

You could then use this preference data to design a default UI for newbs so that you dont have to make an uninformed guess as to what the “instant action” button would do.

Bottom line is that the current UI is a ball and chain on this game and I cannot fathom why it is not a top priority item at CRS.

I still resent haveing to put so much work into finding good battles. The entertainment is there without question nearly 24/7, but its appaling how hidden it can be.

Trout

You can never make a truly “informed” guess about instant action unless you clamp down on everything that isn’t “shoeboxy” in our game.

This is, I suspect, one of those things where I just don’t get why you don’t get it. It’s blaringly obvious to me that “instant action” will never work in WWIIOL. It might work in Version 2.0 with instances and etc.

For me, “Instant Action” is something you add to appease 4×4 gamers but in WWIIOL its never going to exceed 30-40% success rate, and that is unacceptable to the defined target audience.

That’s why you have to build it into the UI and make it the default, natural flow. You’re going to get the same 30-40% success rate, but the user doesn’t have to go to a totally different UI to get transparency on where they are going.

Leave a Reply

Name and email address are required. Your email address will not be published.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

You may use these HTML tags and attributes:

<a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <pre> <q cite=""> <s> <strike> <strong> 

%d bloggers like this: