Jump to content
CTI player IF

Intruducing RTS-Style Interaction Design in TZK CTI Mission 4.0.6.33

Recommended Posts

Hello everyone, in this video, I will introduce the RTS style interaction design in my TZK CTI mission, version 4.0.6.33. Old TZK players may recall that TZK enhanced the CRCTI commanding system by extending setting items and introducing a "concurrent order design" that could send orders to a specific unit or type to interrupt their group order and execute concurrent orders. However, this design was non-intuitive and inconvenient.

To address this issue, we have referred to the interaction design of RTS games, where units can be selected easily by their position, type, or "group," defined by the player manually and activated by a hotkey. OFP uses a group to manage units, and AI units with a dead leader won't react to any script command until the leader respawns. Traditional CTI applies this as a natural classification of units. It would be useful if the commander could select units by their type or position, but concurrent order could only act on those units belonging to one group. In other words, group, type, and position should be at the same level, but in concurrent order design, the group concept takes priority.

The current RTS style interaction design solves this problem by imitating real RTS games. If a unit is ordered by the RTS system, it will obtain a "RTS status" and ignore the group order and execute the RTS order. A unit with "RTS status" will never react to group orders. He'll stop if the order is finished and waiting for the next RTS order, unless the commander explicitly cancels his RTS status. This is similar in RTS games. If a grouped unit is selected by a hotkey and then ordered, he will follow the group unit, but the player can still select the unit and give him new orders. Since traditional OFP uses group order system for commanding, TZK allows units to return to group order if the RTS status is cleared.

In the video, we see that clicking on the map twice can determine a rectangle. OFP does not support dragging operations in the map, but we can use clicking. This rectangle is for selection. On the rectangle determined, all units in this rectangle will be marked as "selected." To select units, we press Alt to switch to this clicking mode and click twice.

If we select some units, press Alt and Shift, and click on the map, the clicked position will be marked by a flashing marker, and a dialog will appear. This dialog is the core interface in TZK RTS interaction. On the left are "RTS order" buttons. The "Move" button will order units to move to the marker, which is the simplest and most important function in RTS. The "Board" button will order units to move to the marker first, then search for transports and board. When clicked, a submenu will appear for the commander to select the transport type. This submenu is a multiple-choice and sorted descending by priority. Artillery can be much easier to command by RTS order now. There are two buttons: "shoot area" and "move and shoot." The former will ask units to fire in place, and the latter will order units to move to the marker first, then shoot. When clicked, a submenu will appear. The first column determines the types reacting to the order, the second column determines the types using the big angle, and the third column determines the initial speed. With these two orders, it will be very convenient to control artillery. For example, let's define a server art area. Now let's select some art units and order them. As we can see, the selected units are executing art orders now. Howitzers are assigned using a big angle while other types aren't.

On the bottom are "RTS trigger" buttons. These buttons will activate immediate behaviors while orders will last long. By now, there are disband, eject, disenmark, and switch transport status. In the future, other immediate behaviors will be added here as well, such as switch tank sabot/heat and turn on/off plane afterburner.

On the bottom-left are "type" buttons. These buttons allow you to select specific types in selected units. This area's buttons will refresh if you selected a type or clicked on "return."

On the bottom-right are "dialog" buttons. These buttons allow you to switch to other dialogs. There are many new dialogs in the current RTS style interactions: RTS, Area, Point, WayPoint. Different dialogs will appear by default in different cases. If we select some units, the default dialog is RTS. If we draw an area without any selected units, the default dialog is Area. In other cases, the default dialog is Waypoint by now. The commander can switch to other dialogs via these buttons. If we select some units, the RTS dialog is available. If we draw an area, the Area dialog is available. Point and Waypoint dialog is always available since the dialog is activated by map click, and the clicked position thus always exists.

So, that was a simple introduction to the RTS dialog. Let's take a closer look at how the Area dialog works. The easiest way to call the Area dialog is to draw an area without selecting any units. In such cases, pressing Alt and Shift and clicking on the map will bring up the Area dialog. The direction of the drawn area can be adjusted using the slider, and you can input the direction value directly as well. This area can be assigned as a server or player art area. Furthermore, two points can uniquely determine a segment, and in the current design, this diagonal is managed in the Area dialog. We can use this segment to order an engineer vehicle, including MHQ, to build obstructions. For instance, let's buy an engineer vehicle and draw a line on the map. Now, call the Area dialog and click on the obstruction button, select the tank trap type, and confirm. The scripts will travel the segment, check whether the current position is close enough to any engineer vehicle, and build the obstruction if all conditions are met. If no engineer vehicles are nearby, the script will skip the current position and continue traveling.

The Waypoint dialog is the same as the old one. As for the Point dialog, it can quickly wall off the MHQ, build base defense MGs, and build structures. This dialog is quite simple and does not have any unique features compared to the Waypoint dialog. Perhaps combining these two dialogs into one would be a better choice.

This RTS interaction design only requires the 2.01 Arma Resistance engine. The critical script commands used are publicExec, NetworkID, and UnitById. One of the [4RTech] developers once said that these commands are unstable, but practice has proved their stability. With these commands, each client can broadcast locally selected units to the server. In the Cold War Assault engine, we don't have a good method to broadcast many units in a short time. Broadcasting position information may be an alternative.

In summary, the RTS style interaction design in TZK CTI mission version 4.0.6.33 improves upon the non-intuitive and inconvenient concurrent order design by introducing the concept of RTS status and imitating the interaction design of RTS games. The core interface includes "RTS order," "RTS trigger," "type," and "dialog" buttons, enabling the commander to easily select and command units in various situations. The selection can be done by position, type, or group, and the RTS order allows for movement, boarding, and artillery commands. The RTS trigger allows for immediate behaviors, and the type and dialog buttons provide additional customization options. Overall, this design enhances the gameplay experience and makes commanding units in TZK CTI mission more efficient and intuitive.

That's all for the introduction. I will continue to develop the RTS interaction and the entire TZK project. Players can expect more in the future.

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×