This thread is for any suggestions for speeding up turn based combat similar to Jagged Alliance 2 and Silent Storm.
By doing this, I believe JA2/Silent Storm like combat will be able to put into Wasteland 2 if it has been significantly sped up. I imagine a 70-80% increase in speed will be enough.
Here is a list important factors that determine combat speed in a turn based games like JA2/Silent Storm. Followed by specific suggestions for each factor. Feel free to include your own suggestions.
In a turn based system, combat speed is made up of the following.
Speed of combat choices by the player.
Real life physical keyboard and mouse manipulation speed.
Visual eye tracking speed.
Combat data assimilation speed.
Enemy A.I speed and their turn speed.
Friendly A.I speed.
Computer character movement speed.
Looting speed. (something almost always part of combat)
Pre and post inventory management (something almost always part of combat)
Speed of combat choices by the player
Having less combat choices to make - GUI presenting you with only the combat choices you can make, not the ones you can't. Options available being crossed out or not seen at all for example.
Increase interest in combat choices – On the visceral level like death and gore effects. On the intellectual level like tactical successes. And on the emotional level like fearful defence or vengeful attacks.
A.I aided predictive selection and actions-
The A.I would preselect an enemy or player character, based on the location of your screen, the location of your cursor, enemy character threat levels (proximity, weapons being used, health of your own character) and previous scroll direction on the map. This A.I should also always be working in real time and respond dynamically to user keyboard and mouse input. A.I should select party characters and a action to be performed. Requiring you only to execute a choice already selected. This is a form of A.I control of ones character but only to a limited suggestive sense to help you make combat decisions faster.
Camera focus A.I – Not every character action is worthy of moving the camera to show us their action. And perhaps 'pop up screens' can be used to show minor actions instead.
Speed up A.I processing speed– Enough said.
Dedicate percentage of cpu to A.I in real time – That way when one starts or ends ones turn, A.I computations would have taken advantage of any downtime in cpu use and be instant. The game should be locked at 30 fps, any leftover processing power should be used for the A.I.
Rely on preset A.I behaviour to various stimuli, like a gunshot for example. (most people crouch, others run in a random direction, others go prone etcetera)
A 'Battle command screen' – In combat, a screen should be available that shows you the line of sights of all your enemies, their possible weapons and health and so on. This screen would offer a more strategic view of the battle space. As well as faster access to combat information than the normal combat screen.
Real life physical keyboard and mouse manipulation speed.
Keyboard use – Pressing a key or a combination of keys or two keys at the same time is faster than moving a mouse to click on something. On this topic I would like to bring up the Frogpad. It's a one handed keyboard that allows one to type at a fairly fast rate with little training time. This one handed typing keyboard gives one access to over 40 commands as you can type numbers and symbols too. I would like to recreate that as much as possible in Wasteland 2's keyboard use. Intuitive keyboard use will increase combat speed as people will be able to implement their combat choices faster. To do this keyboard use must be strongly encouraged. I think being able to control a characters movement via the aswd keys similar to an FPS is the best approach as the majority of gamers are familiar with that keyboard layout. (or it's partner on the left hand side of the keyboard with the numberpad).
Muscle memory is important to typing speed, or in our case the speed of using keyboard commands. For optimum muscle memory a keyboard mapping should strive to have ones fingers move as little as possible. As seen in touch typing. Almost always the maximum distance a finger moves is one key in any direction. This is efficient in distance crossed and consequently speed. The less a finger has to move to reach a key, the easier it is to create a muscle memory for it.
Ones fingers resting on the default keyboard controls in an FPS gives us a lot of options. Our pinky has access to multiple toggle keys, aswd layout intuitively controls movement in 2D and 3D space. Whether of a character or a flying camera or selecting something on screen. The Q and E keys can intuitively be used for counter-clockwise and clockwise rotation respectively. A combination of up-left can move diagonally upwards to the left. The jump/spacebar key to go up, the control/crouch key to go down. These advanced and intuitive movement controls can easily be applied to a characters movement in combat. The control key pressed once will have him crouch, pressed twice go prone. The spacebar key pressed once will have him get up to a crouched position from prone, pressed twice to a standing position from prone. To climb over an object, a direction and jump key combo would be used, just like in an FPS.
This intuitiveness of the controls is imperative in a twitch based arcade style FPS game. But this responsiveness and speed should also be applied to all aspects of any type of game. Struggling with controls is not fun. In an RPG it's especially important the more complex it's combat system. Because combat is not the focus of this RPG, minigames should be used to reinforce and help to learn the keyboard layout.There could be a lockpicking minigame where the pick is 'jiggled' (moved around very fast) in the lock with keyboard keys and not the mouse. A barter minigame where you haggle prices. Trap setting and deactivation minigame. A simple side scroller mini-game cause their fun.
Mouse use – The equivalent muscle memory to keystrokes is mouse gestures. Used in the opera browser for a while now and very intuitive. That mouse gestures have infrequently been used in games is puzzling. But they should be used and implemented hopefully in some minigames to instill into muscle memory. After that comes radial menus, which use some of the intuitiveness of mouse gestures, but rely primarily on visual feedback.
Mouse cursor speed and acceleration – Ones mouse speed and acceleration in a game should be identical to the settings on your OS. That way the muscle memory you already have can be used in the game, without issues.
Visual eye tracking speed.
The best way to increase visual eye tracking speed is through predictability, and distinct aural and visual cues. Windows, buttons and information should be located in a fixed position as much as possible. This instills muscle memory in ones eyes. In addition when a new window opens there should be a distinct visual and aural cue that this window is a specific window, different from the rest. That way ones brain and eyes can immediately start digesting the information on the screen instead of reorientating themselves in the GUI interface or our own personal headspace.
Anything that is looked at in a predictable sequence should have as little space separating them as possible, that would increase information assimilation speed. And reduce unnecessary eye movement which increases eye fatigue.
In a similar fashion, things looked at in a predictable sequence or that are related in some informational/conceptual/intellectual/emotional manner should be distinct but also similar. Their similarity should visually be represented. This value of this, is that abrupt or illogical contrasts or contradictions aren't seen visually or felt in any manner. Texture, colour and geometry should be similar to a colour palette. A danger to look out for though would be to not recognise the symbolic meanings of colour and geometric shapes. One should avoid symbolic clashes. And as advertises work with and guide the movement of an eye on a print page advertisement. So developers should do the same with GUI design and game mechanics.
Movement should be minimal – Ones physical focus is limited to one small area. So this area should be not have other visual information competing with it. This also stands in the aural, emotional and intellectual level. One has a limited focus on all three, so one shouldn't bombard the player for their attention, total immersion of the senses is possible, but only through a coordinated seduction not one of brute force, that's just white noise.
Big buttons are good – because the player can use the periphery of their vision to make an action.. They don't need to focus their total attention to the actual task of pressing a button. Their attention should be focused on making combat choices, and if the GUI is designed properly they will come to anticipate the appearance of a screen, and begin to operate at such a fast speed, their dexterity with the mouse will be their primary limiting factor. Clicking small buttons fast is hard. Ideally all buttons should be able to be activated easily using only ones peripheral vision.
Combat data assimilation speed.
This is how fast the player processes combat information. The quality of the GUI interface visually and it's integration with aural cues is of prime importance. And the principles of GUI design are well documented.
Combat data assimilation speed is increased the more senses are used. For example. If a player is shot at they will both see and hear the gunshot, they will both see and hear the effects of the bullet. Those are two senses, another two would be ones intellectual sense and ones emotional sense. The aural or visual cue can incorporate an emotional cue, a hit, near miss or clear miss have different emotional responses. A hit would be something like 'aargh!', a near miss 'ahh!' and a near miss '*enhale air, tense jaw*' noise. All of these noises are not only aural cues, but also communicate emotion. Intellectually sensing something is more complex than just an emotion, it's sensing an idea. And that too should be communicated to help assimilate combat data. A intellectual communication to the above example would be 'I am not in a good position', 'This guys good', 'I think I know this guy'. Another sense that can be accessed is ones physical sense of orientation. The sound of ones own movement, can inform one of a particular action or event. The sound of heavy gasping, clothes rustling, stumbling and scraping, indicates explosive movement. When one combines all these approaches, a lot of information can be communicated aurally, that will reinforce the information accessed visually, creating the fastest assimilation of data possible.
Enemy A.I speed and their turn speed.
A.i speed optimisation is one thing. I'll try think of unorthodox ways of doing the same.
Surrender, hiding and running away – All should be possible for the enemy A.I. Apart from the increased immersion due to more realistic npc behaviour. These features will also remove enemy A.I characters from combat, and consequently one won't have to make as many combat decisions.
Other enemy actions which may not speed up their turn or A.I much but which would make it appear to go faster for the player is taunting and negotiating. And enemy can taunt the player, instead of shooting or moving a lot. And attempting to negotiate will be similar. (if there is a morale system this could even be used to affect morale, use up less ammunition that way)
All the above choices add role playing action amidst combat, which makes it less repetitive and predictable. Making combat appear to run faster.
Friendly A.I speed.
Friendly A.I is when you allow the computer A.I decide your characters actions and movement for you. It should be a quickly accessed option when the action you want to do is easy enough for the A.I to handle, not requiring you to do everything by hand. An example would be shooting someone or walking to a location. The more sophisticated the A.I the smarter it's actions and the more comfortable the player is in leaving it up for the computer to decide. This will speed up combat. Another nice thing about this feature is it will open up the game to actions one previously thought not possible. But to fix any disagreement you might have with an A.I action, A.I actions should be reversible, and should be shown to the player ahead of the turn. In that way you know exactly what your getting.
Computer character movement speed.
Character movement speed in the game should be able to be sped up to save time. One speed setting for both friendly and enemy character movement is not ideal, so speed setting should be user regulated. A player should be able to fast forward character movement speed at any time. Also for the sake of speed and convenience a player should be able to fast reverse character movement.
Looting speed. (something almost always part of combat)
There should be a box when one searches a body like in Silent Storm. Party characters should auto loot bodies for you and present you with what they found. Items and inventory should be simplified to at least Silent Storm level, but preferably Fallout. Looting should still be a rewarding experience so the pickup of a new weapon or item should have pop up screen where a picture of it is presented along with a detailed text description. This would breakup the process of looting making it appear to pass faster too. There should be a A.I looting system, so looting of items you want more than others is automated. A.I highlighting of loot items according to ones loot A.I settings on scarcity/need/desire should also be a feature.
Pre and post inventory management (something almost always part of combat)
Guns should be auto reloaded and equipped automatically when engaging in combat. If you run out of ammo for a weapon, the next most similar weapon would be automatically equipped. A character when not equipped with a weapon should pull out their preferred weapon type. Inventory items should be stacked and have a little number telling you how much you have. There should be a button that tells you the weight and percentage allocation of weight taken up by various items in your inventory, and also show you the weight load of all your party members, and a collation of all their inventories. That way you have all the information at your fingertips for rapid inventory management. The inventory screen mouse and keyboard controls should be identical to those in Windows file manager. Control click, shift click and click and drag to select multiple items, should be possible. Three clicks would select it and similar items in the inventory. Left clicking an item would enable you to drop it, use it or examine it. A context menu. Even better would be a radial menu that allowed you to transfer any number of items to any member in your party. For the sake of convenience, you should be able to transfer items from one character to another irrespective of how far they are from each other. (Outside combat)