Matrix Games Forums

Forums  Register  Login  Photo Gallery  Member List  Search  Calendars  FAQ 

My Profile  Inbox  Address Book  My Subscription  My Forums  Log Out

RE: Sneak Peeks, Coming Attractions, Works-In-Progress

 
View related threads: (in this forum | in all forums)

Logged in as: Guest
Users viewing this topic: none
  Printable Version
All Forums >> [Coming Soon] >> Campaign Series: Vietnam >> RE: Sneak Peeks, Coming Attractions, Works-In-Progress Page: <<   < prev  1 2 3 [4]
Login
Message << Older Topic   Newer Topic >>
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/1/2019 12:36:32 PM   
bootlegger267


Posts: 874
Joined: 2/27/2013
Status: offline
Looking really nice!

(in reply to Jason Petho)
Post #: 91
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/1/2019 2:20:18 PM   
Jason Petho


Posts: 13423
Joined: 6/22/2004
From: Terrace, BC, Canada
Status: offline
Thank you, bootlegger!

_____________________________


(in reply to bootlegger267)
Post #: 92
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/4/2019 3:32:25 PM   
Jason Petho


Posts: 13423
Joined: 6/22/2004
From: Terrace, BC, Canada
Status: offline
Campaign Series Vietnam: ALPHA Graphics: SCENARIO DESIGN
New scenario:

High Price at the Market - Battle of Gia Binh
2 July, 1967
[Gia Binh, Quang Tri Province, South Vietnam]: [SIDE A][HIS][CSL]: Since late 1966, Marines had been fighting the People's Army of North Vietnam in the area around Con Thien (translated as "Hill of Angels"). Prior to May 1st, 1967, the hill was defended by ARVN troops, later being taken over by the U.S. 9th Marines. The Marines along the DMZ began construction of the strongpoint obstacle system south of the border in the spring and fall of 1967 in compliance with orders from MACV and Washington. The system, called the "McNamara Line" by the Marines, proved to be a major burden to the 3rd Marine Division. Security of the troops building the line, coupled with the demands on Marine units to fill sandbags, creosote bunker timbers, install wire, and other associated tasks, severely restricted the division's combat activities. The Marines' combined-arms fire power from strong points would then confront the anticipated PAVN attacks. Smaller patrols and infiltration groups would face the challenge of the extensive obstacle system. The PAVN, however, chose to attack before the system became too strong. The PAVN decided to concentrate on the Marine strong point at Con Thien, located 22 kilometres inland and three kilometres south of the DMZ. This outpost was crucial to Marine efforts in the area, as it occupied the northwest corner of the strong point obstacle system, which enclosed an area known as "Leatherneck Square." Con Thien also overlooked one of the principal enemy routes into South Vietnam. The capture of the outpost would open the way for a major enemy invasion of Quang Tri Province by 35,000 PAVN troops massed north of the DMZ, a victory of immense propaganda value. The first offensive aimed at Con Thien, the largest in terms of troops committed, occurred in July. For the first time the PAVN employed extensive artillery to support its infantry, but the Marine counterattack, Operation Buffalo, beat them back with excessive casualties Operation Buffalo began on July 2nd utilizing the 1st Battalion, 9th Marines in and around Con Thien. Companies A and B operated north and northeast of the strongpoint near a former market place on Route 561, while Company D and the battalion command group remained within the outpost perimeter. On the morning of 2 July, Alpha and Bravo Companies, 1st Battalion, 9th Marines made their way up north on Highway 561 and secured a crossroad as their first objective. As they advanced further north between Gia Binh and An Xa, near a marketplace, they made contact with advance elements of two battalions of the PAVN 90th Regiment when sniper fire began to break out, enemy fire intensified as efforts were made by the 3rd Platoon to suppress it. Tri-directional ambushes caught B/1st/9th in a quagmire of fire. The battle that followed is where the 1st/9th Marines would acquire their nickname, "The Walking Dead". [ALL][CSEE, Variable Objectives][1.00]





Attachment (1)

_____________________________


(in reply to Jason Petho)
Post #: 93
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/5/2019 4:44:21 PM   
Jason Petho


Posts: 13423
Joined: 6/22/2004
From: Terrace, BC, Canada
Status: offline
Campaign Series Vietnam: ALPHA Graphics: SCENARIO DESIGN
New scenario:

Into the DMZ - Operation Hickory
18 May, 1967
[Con Thien, Quang Tri Province, South Vietnam]: [SIDE A][HIS][CSL]: Following the May 8th attack on Con Thien, recognizing that the People's Army of Vietnam (PAVN) were using the DMZ as a sanctuary for attacks into I Corps, Washington lifted the prohibition on US forces entering the DMZ and MACV authorized the III Marine Amphibious Force (III MAF) to conduct combat operations into the southern half of the Demilitarized Zone. During the period 13-16 May, while clearing Route 561 from Cam Lo to Con Thien, the 1st Battalion, 9th Marines made heavy contact with a large PAVN force in well prepared positions just south of Con Thien. The PAVN subsequently withdrew into the DMZ. Following this action, III MAF developed a plan for a series of combined operations to sweep and clear the southern DMZ that involved the 3rd Marine Division and elements of the 1st ARVN Division. Operation HICKORY would see a Marine blocking force combat assaulted along the Ben Hai River while two battalions would advance north from Con Thien to meet it. Operation LAM SON 54 would advance along Route 1 to the DMZ and then turn south. As these two operations were under way, Operation BEAU CHARGER would have the Marine Special Landing Force Bravo combat assault into the area northwest of Gio Linh and under Operation BELT TIGHT the Special Landing Force Alpha would conduct an amphibious assault on the beaches northeast of Gio Linh south of the Ben Hai River. On the morning of May 18th, the U.S. 2nd Battalion, 26th Marines and the U.S. 2nd Battalion, 9th Marines, supported by tanks and Ontos, advanced north from Con Thien to press any PAVN against a blocking force from the 3rd Battalion, 4th Marines landed by helicopters on the B?n H?i River. At 10:00, 2nd/26th Marines made contact with 2 PAVN Battalions in bunkers and trenches. To the east, the ARVN Parachute battalions sweeping south from the DMZ on the western side of Route 1 were fairing no better. The PAVN were well dug in with the elements of the 31st and 812th Regiments and were willing to fight. [ALL][CSEE, Variable Objectives][NOTE: This scenario only covers the actions that happened west of Route 1][1.00]




Attachment (1)

_____________________________


(in reply to Jason Petho)
Post #: 94
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/5/2019 5:25:08 PM   
Jason Petho


Posts: 13423
Joined: 6/22/2004
From: Terrace, BC, Canada
Status: offline
Here are the 1967 scenarios




Attachment (1)

_____________________________


(in reply to Jason Petho)
Post #: 95
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/11/2019 5:46:33 PM   
Jason Petho


Posts: 13423
Joined: 6/22/2004
From: Terrace, BC, Canada
Status: offline
Campaign Series Vietnam: ALPHA Graphics: Mapping.

I've been spending the last week working on the III Corps Master map that will be included in the game and will be the map I have been creating the III Corps scenarios from. The area to the southwest of Saigon has been the primary focus as of late, but it is quite tedious with the plethora of canals. Here is a shot of Duc Hoa, which was attack during Tet 1968.




Attachment (1)

_____________________________


(in reply to Jason Petho)
Post #: 96
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/20/2019 8:45:34 PM   
Jason Petho


Posts: 13423
Joined: 6/22/2004
From: Terrace, BC, Canada
Status: offline
Campaign Series Vietnam: ALPHA Graphics: SCENARIO DESIGN
New scenario:

The Sun Or the Moon - Battle of Ban Me Thuot

30 January, 1968
[Ban Me Thuot, Darlac Province, Vietnam]: [Side A][HIS][CSL]: During the Year of the Monkey, the celebration of the new lunar year was celebrated between January 27th and February 3rd , 1968. It was during this Tet Holiday truce that the General Offensive and Uprising by Peoples Army of North Vietnam and Viet Cong troops would conduct a massive coordinated attack on various district capitals and military installations throughout South Vietnam. While the offensive was intended to start at midnight on January 31st, a disconnect between the usage of the lunar and solar calendars between some units meant that some cities and installations were attacked one day early. One of those cities was Ban Me Thuot in the southern Central Highlands, defended by elements of the ARVN 45th Infantry Regiment and the ARVN 8th Cavalry Squadron. The only U.S. unit in the area was the 155th Assault Helicopter Company. As officials had not received any intelligence about an attack during the Tet holiday, the battalions operating in the field were left there and units in the city were granted leave to two-thirds of their strength. Beginning at 0130 on January 30th, battalions from the 33rd PAVN Regiment and the 301st Viet Cong Local Force Battalion assaulted Ban Me Thuot from the south, with their primary targets being the 23rd Division Headquarters, the ARVN artillery base to the west of the city, the National Police Station and the radio station on the south end of town. First to arrive on the scene was elements of the 8th Cavalry Squadron, as it raced back and forth in an attempt to break up the PAVN attacks and keeping them off balance until reinforcements could arrive. Seemingly well armed and supplied, the PAVN forces would fight for four days before being finally routed and retreat to the hills. [ALL][CSEE and Variable Objectives][1.00]




Attachment (1)

_____________________________


(in reply to bootlegger267)
Post #: 97
RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 11/27/2019 12:04:37 PM   
berto


Posts: 18530
Joined: 3/13/2002
From: metro Chicago, Illinois, USA
Status: offline

Some recent (private) Dev Team Forum posts:

quote:

ORIGINAL: berto

I am currently working on this problem:




C.1000 would be



_C1000_30 = {30} -- [P] [28,38] VC Commander 2



That is, I am working on the problem where the LAI has a strong tendency to send leaders forward out ahead of the combat units, thereby putting the leaders first in the line of opfire. And/or, after all units have moved, the faster moving leaders are out front, by themselves, making them juicy standalone targets for the next side's direct fire phase.

To avoid this problem, I have been forced to write special SAI orders keeping leaders in the rear, which basically takes them out of the fight altogether. Unacceptable. The LAI should be smart enough not to expose leaders in these ways.

(Oh, and I have implemented a bunch of new CSEE functions. I will announce/release them in due course.)

quote:

ORIGINAL: berto

Okay, listen up. This is pretty important.

quote:

ORIGINAL: berto

That is, I am working on the problem where the LAI has a strong tendency to send leaders forward out ahead of the combat units, thereby putting the leaders first in the line of opfire. And/or, after all units have moved, the faster moving leaders are out front, by themselves, making them juicy standalone targets for the next side's direct fire phase.

I have implemented a new AI phase (highlighted):



// AI phases.
enum AIPhaseValue {XAIPrepFire, XAIActivity,
XAIMove, XAISecondaryMove,
XAIOffFire, XAIAssault,
XAIMechMove,
XAIAir, XAIIndFire};



The idea is to have combatant units move first, in the XAIMove phase; then support elements move second, in the XAISecondaryMove phase.

In aimove.cpp, I have implemented this:




  • We determine if the current unit is a so-called "secondary".
  • If the unit is not a secondary -- i.e., is a forward combatant -- and if it is now the XAIMove phase, then check to see if movement is triggered.
  • Or if the unit is a secondary -- e.g., a leader, or HQ, or transport, or civilian -- and if it is now the XAISecondaryMove phase (immediately follows the XAIMove phase), for this secondary class of units, check to see if their movement is triggered.

    I have tried this out, and what do you know? It works!

    For both the LAI and the SAI, we will no longer see leaders or HQs or trucks etc. leading the movement or attack, getting out in front of the combatant units and thereby drawing enemy opfire. No, instead the combatant units will lead, with the secondary support units following.

    A pretty major AI improvement, IMHO.

    Question: Beyond the listed unit categories, can you suggest any additions? Would we for example want indirect fire units (yes!) to follow rather than lead? How about ... ?

    I still haven't solved the problem of: Leaders move second, following the advanced infantry elements; but because the leaders can move faster, even though they move second, at the end of all movement they still end up out ahead of the units they are commanding. Yes, because they move second, they don't tend to draw opfire; the first moving combatant units draw the opfire. But in the next side phase, they are sitting ducks when the enemy direct fires, because they are out ahead.

    I still need to solve that problem. But it's a big win to have the combatant units generally move first, and the support elements move generally second. No more trucks leading a charge!

  • quote:

    ORIGINAL: berto

    Still more changes:




    Note all the highlighted counter flags. Counters (units) in any of those states should not be leading attacks/movements. They should be secondary follow-ups only.

    That just about exhausts the secondary (attacker/mover) checks I can think of.

    I am pumped about these changes, about this new capability to order attacks/movements in this way, because these are fundamental improvements in the LAI. Remember that even with the SAI, that still depends on the underlying LAI to micromanage the hex-to-hex movements etc. Any way I can figure out how to improve the LAI -- it makes me happy.

    quote:

    ORIGINAL: berto

    quote:

    ORIGINAL: berto

    I am making very good progress at improving the leader ops LAI. Not quite there yet.

    It's there. Leaders generally

  • follow the combat troops, don't get out ahead of them
  • don't draw opfire; the forward combat troops do
  • safely advance to the front lines, there to enhance combat units' morale and attack strengths

    Before, leaders were easy kills and/or were entirely out of the fight. Now, they are much safer, are actively engaged and important to the fight, critical even.

    In combination with the new XAIMoveSecondary phase (and following), these are major LAI/SAI enhancements. There is still much to do; and the latest implementations may not be perfect (there will always be oddball situations that the code won't handle well); but the LAI/SAI are now much better than they were a week or two ago. Well worth the time and effort devoted to improving them.

    Back to regular scripting ...


  • _____________________________


    (in reply to Jason Petho)
    Post #: 98
    RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 12/1/2019 8:49:22 PM   
    berto


    Posts: 18530
    Joined: 3/13/2002
    From: metro Chicago, Illinois, USA
    Status: offline

    Another several recent (private) Dev Team Forum posts:

    quote:

    ORIGINAL: berto

    A common refrain:

    quote:

    ORIGINAL: berto

    This is another of those times when I smack my forehead and say: "Why didn't I think of this before?"

    The specialty CSEE functions: when you need them, you need them.

    A slew of new CSEE functions.

    Akin to owned(), for objectives; and occupied(), for non objective hexes; we now also have

    function not_owned (objectives, side)
    function not_occupied (hcs, side)

    Wait a minute. We already have owned(), right? How is

    not_owned(objectives, side) [underscore]

    not equivalent to

    not owned(objectives, side) [space]

    ?

    It's because, quoting from the function description (in LUA_FUNCTIONS_REFERENCE.txt) for owned():

    quote:

    For the given objectives list, returns whether every objective in the list is owned by the given side (ground units only).

    What if we want to determine if

    quote:

    For the given objectives list, returns whether every objective in the list is not owned by the given side (ground units only).

    We can't use

    not owned(objectives, side) [space]

    because in addition to that meaning "every objective is not owned", it can also mean "some of the objectives are not owned".

    Verstehen?

    Similarly, if we want to determine if every non-objective hex is not occupied, we cannot use

    not occupied() [space]

    We need to use

    not_occupied() [underscore]

    Again, I hope you understand the distinction.

    More functions.

    We already have

    in_box (trackids, hc_upleft, hc_lowright, verified_only)
    within (trackids, hc, extent, verified_only)

    to determine if the given trackids are inside the given hex box, or within a (circular) range of hexes. But what about arbitrary, irregular, non-box and non-circular hex lists? For that, we now have

    in_area (trackids, hcs, verified_only)

    For example, if KONTUM has been defined (in init_constants()) as a list of hexes, we can now have, for example

    in_area (_2ND_COY, KONTUM, true)

    Akin to units_in_box (), units_in_box_count(), units_within(), and units_within_count(), we now also have

    units_in_area (hcs, side, verified_only)
    units_in_area_count (hcs, side, verified_only)

    to apply to arbitary, irregular, non-box and non-circular hex lists (such as the exampled KONTUM).

    Oh, are you guessing we now also have not_ versions of these functions? You are right! We now also have

    function not_in_area (trackids, hcs, verified_only)
    function not_in_box (trackids, hc_upleft, hc_lowright, verified_only)

    (Where is not_withn()? We already have that in beyond(), which is now just a synonym for not_within().)

    So what? Well, for example we can now do things like

    units_in_area(hexes_fortification(KONTUM), ARVN_SIDE)

    to get a list of all ARVN units in fortified hexes in KONTUM.

    How about

    units_in_area (difference(hexes_all(), KONTUM), ARVN_SIDE)

    to get a list of all ARVN units outside of KONTUM.

    And so on and so forth. There is amazing power and potential in these combinations!

    Almost without exception, each new scenario presents new challenges, and inspirations for new CSEE functions. There's almost no stopping them!

    quote:

    ORIGINAL: berto

    So what inspired implementation of the new in_area() family of functions is this:




    In Jason's battle plan for this scenario -- VN_651114_Chu_Pong_Massif, day one of the famous (subject of the Mel Gibson film, "We Were Soldiers [Once, and Young]") battle from the 7th AirCav's 1965 Ia Drang Valley Campaign -- in that battle plan, there is this:

    quote:

    When the recon unit (320) at 33,36 sees that the Americans are in the Landing Zone (they have a clear view to the entire landing zone):

    C1/D9 (82) is released on the following turn.
    [etc.]

    A problem here is that "the entire Landing Zone" is an irregularly shaped area, is not a box or circular extent. Hence the need for in_area().

    Actually, units_in_area_count(), as in



    LZ_AREA = difference(OBJECTIVES, OBJECTIVES[1])

    ...

    function on_next_turn (turn)

    ...

    if units_in_area_count(LZ_AREA, US_SIDE, false) > 0 then
    US_IN_LZ_AREA_TURN = US_IN_LZ_AREA_TURN or turn
    end

    ...

    end

    ...

    [then later on the appropriate set_release_turn (id, turn) function calls to effect the actual unit release(s)]



    ('false' for units_in_area_count()'s third function parameter, verified_only, because the elevations prevent the NVA recon unit at hex 33,36 from having a LOS to hex 38,33.)

    When you need a new CSEE function, you need it. This was a situation presenting one of those needs.

    quote:

    ORIGINAL: berto

    If it's not clear, for the area family of functions, the area need not be contiguous; the hexes can be disconnected and scattered. This makes possible, for example

    in_area (HELOS, hexes_landing_zone (hexes_all ()))

    to check if all helicopter units are at Landing Zone hexes (where HELOS is a custom org list of trackids).

    Here is another good example

    units_in_area (join (hexes_terrain (hexes_all (), CITYHEX), hexes_terrain (hexes_all (), SUBURBHEX)), ARVN_SIDE)

    to determine a list of all ARVN units in City or Suburb hexes.

    The possibilities are almost endless.


    < Message edited by berto -- 12/2/2019 1:09:42 AM >


    _____________________________


    (in reply to berto)
    Post #: 99
    RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 12/1/2019 11:05:19 PM   
    Big Ivan


    Posts: 1146
    Joined: 6/9/2008
    From: Mansfield, OH
    Status: offline
    OMG berto, very nice, very nice indeed!!

    _____________________________

    Blitz call sign Big Ivan.

    (in reply to berto)
    Post #: 100
    RE: Sneak Peeks, Coming Attractions, Works-In-Progress - 12/7/2019 5:00:40 PM   
    berto


    Posts: 18530
    Joined: 3/13/2002
    From: metro Chicago, Illinois, USA
    Status: offline

    Another recent (private) Dev Team Forum post:

    quote:

    ORIGINAL: berto

    With every new scenario, almost without fail, there are new scripting challenges, and opportunities. The last scenario of the Ia Drang Valley trilogy, VN_651117_LZ_Albany, was no exception.

    In that scenario:



    Led by three US recon units (turquoise circle), the 2nd/7th AirCav is to advance up the path on the way to LZ Albany.

    This reminded me: I hadn't implemented the CSEE reconnoiter() function yet! (From the LUA_FUNCTIONS_REFERENCE.txt: "NOTE: Not yet implemented.")

    Better, with today's release:

    quote:

    Implemented a couple new SAI movement commands: move_recon(), move_roam().


    With the appropriate move_recon() command, for example



    -- _2ND_7TH_AIRMOBILE_INF_BTN_65_M16_B_AIRMOBILE_1 recon
    do local units = join({_1_RECONNAISSANCE_5, _2_RECONNAISSANCE_48, _3_RECONNAISSANCE_49})
    move_recon(units, OBJECTIVES[1], NODIR, 4)
    -- no further defend orders, expendable, just keep moving around LZ Albany
    end



    the ordered units will

  • save APs for later recon
  • do the indicated movement
  • do the recon operation [note: not with certainty; no guarantee of successful recon]

    For example, from an actual playtest game:



    You will see where the US recon units (turquoise circles) have successfully recon'ed, successfully unconcealed and spotted, NVA units nearby (magenta circles). Note from the green movement arrows that the US are still moving, indicating that in fact a (successful) recon has taken place.

    This is new. This recon capability has never been available to either the LAI or SAI before.

    It is also better, I think, to integrate the recon fuction with movement in the move_recon() function than to fuss with a separate reconnoiter() function. If you want recon in place, without movement, you can if you wish do



    move_recon(trackid, counter_hex(trackid))



    which is effectively identical in effect to



    reconnoiter(trackid)



    In this scenario, but more so in the earlier scripted VN_620328_Thanh_Tan_Island scenario, it also poses the question: What about wandering movement?

    Unlike most of WWII, and the Middle East conflicts, the Vietnam War was a guerilla war, where formal geographic objectives were unimportant, where the purpose was to search and destroy the hidden enemy. And sometimes to find out his supply caches.

    With the earlier move_rush() and move_norush(), we can direct units to move from point A to point B. But as the LAI handles it, the movement is by the fastest route possible, in a straight line if possible.

    What if we don't want that single-minded directedness? What if we want the units to wander about along the way? That is where the new move_roam() CSEE function factors in. In test use:



    In the screenshot, the three recon platoons begin at the map's south edge, and are directed to move_roam() up more or less along the path from hex 8,30 all the way up to hex 8,0. In the screenshot, about four or five turns into the test scenario, you can see where the units have scattered away from the path, more or less. What you don't see here is the unit roaming as they move northward. (With Chris' help, I may soon prepare another video of the move_roam() function in action.)

    Just know that now we have a SAI method to have units "patrol" in a meandering fashion. This will be a huge win for scripting search and destroy missions in future.

    (move_recon() is still a work-in-progress(). I still need to tweak the effect of the dir & radius function inputs.)

    It deserves to be repeated: The Vietnam War is not the same type of conflict as WWII etc. With every subtle nuance we can add to the game play, and to the CSEE and SAI scripting, we bring the Vietnam conflict better to life.


  • _____________________________


    (in reply to berto)
    Post #: 101
    Page:   <<   < prev  1 2 3 [4]
    All Forums >> [Coming Soon] >> Campaign Series: Vietnam >> RE: Sneak Peeks, Coming Attractions, Works-In-Progress Page: <<   < prev  1 2 3 [4]
    Jump to:





    New Messages No New Messages
    Hot Topic w/ New Messages Hot Topic w/o New Messages
    Locked w/ New Messages Locked w/o New Messages
     Post New Thread
     Reply to Message
     Post New Poll
     Submit Vote
     Delete My Own Post
     Delete My Own Thread
     Rate Posts


    Forum Software © ASPPlayground.NET Advanced Edition 2.4.5 ANSI

    0.156