(Actually, I think the original Ultima already had laser guns. So my game will be Ultima with...more laser guns.)
The first Ultima had a simple interface (having to use keyboard shortcuts for everything notwithstanding). You bump into a monster to attack it. I want to maintain the simplicity of the first Ultima in my own game when handling gun combat. There may be effects like range and cover, but the game itself will likely have you just clicking on monsters until they're dead. No menus. No separate combat mode. No "action points." Nothing as elaborate as Jagged Alliance or the original Fallout.
Guns are deadlier than the swords and axes you typically see in games. The sci-fi guns in my game world would be deadlier than that. I don't want to make my game intrinsically harder than other games though. This eventually leads me to thinking about the somewhat thorny issue of hit points.
Every so often people like to complain about how weird hit points are, or how their pet game system has this better model for combat and wounds. It's true that one can't survive getting shot or stabbed several times as most games seem to depict. Hit points are often interpreted as the physical health of a character. This is reinforced in real-time action games where you see a character getting shot or stabbed, only to lose some magical hit points.
Action games don't always have hit points. The vast majority of arcade games kill you as soon as you touch a bullet, spike, or ghost. In the Playstation fighting game Bushido Blade you defeated your opponent as soon as you struck their head or torso. Your ability to survive in those games depends on your ability to physically evade and block attacks. This is realistic for both both real life and in fiction. Batman has to do backflips and tricks with his batarangs to survive gunfire.
A turn-based game doesn't let you manually move your character out of harm's way. Sometimes they do, like the Mario RPGs, but in most turn-based games your character's ability to evade and block attacks is abstracted and simulated.
The only model for evading/blocking attacks in turn-based games I've ever seen is the random "to-hit" check. One or more stats are taken, one or more random numbers are cranked out, and these are taken together to decide that either the attack did something or the attack did nothing. There are a variety of fancy systems to describe what happens when an attack does something beyond the usual hit point mechanic. But when it comes to avoiding an attack, every system boils down to rolling some dice while crossing your fingers.
If successful attacks are realistically deadly, this kind of random check for evasion is gambling.
This is fine in a pen-and-paper RPG where the game master can let you role-play yourself out of a dire situation, or at least fudge some dice rolls. This is fine in a game that's focused on storytelling where random and arbitrary events are part of the experience. This is fine in a game like X-COM where all your fighting is done by semi-anonymous, semi-disposable hirelings. This is not fine in a game with irreplaceable characters, an emphasis on tactical combat, and a win state that you are expected to reach with good strategy and foresight. Reloading from saves is not a valid game action.
For all their descriptive faults, hit points are good gameplay wise since they don't allow such uncontrollable character deaths. Your characters can die if you send them against enemies too big for them, or if you don't pull them back from a losing battle, but you'll never have a character die because the dice had a mood swing.
Hit points were meant to be fully abstract. They weren't really "health points." Characters getting "hit" and losing hit points could mean they deflected the blow, or the blow only made a scratch. Only the attack that brings a character's hit points to zero could be described as the one where the character gets stabbed in the face and finally dies. I assume in pen-and-paper games the game master was supposed to make up a description for an attack.
This segues with the common practise of hit points increasing (or inflating, to put it negatively) as a character develops. The character is getting more skilled and is getting the experience to engage in bigger and bigger battles. It's not like character is developing iron skin or something like that.
Only Dungeons and Dragons fans ever believed in this description of hit points though. And even Dungeons and Dragons doesn't sell hit points as well as I think it should. Losing hit points arguably encompasses events like evading and blocking, yet you still have to roll dice to check if an attack depletes any hit points or not. Hit points are used in deciding what happens after your character falls off a cliff for some reason. Drinking potions does...something...that replenishes your character's hit points.
My ideas for my game's combat system have been revolving around making a "better" version of hit points, since the alternatives I've seen that truly get away from hit points are ultimately too random for the level of strategy I want to allow. My ideas can be summarized as:
- Don't call the hit points hit points. Call them "stamina" and do things like represent them with yellow diamonds instead of red hearts. Get the semantics nailed down.
- Don't allow potions and medkits that directly replenish your hit points to exist, or limit them such that they're a power-up rather than something your character chugs every five turns during a boss battle. Hit points only represent your fighting ability; they don't care about the bandages you need or don't need. Instead have hit points regenerate automatically. Some people complain about regenerating hit points in modern games but here it's justified.
- Don't have to-hit or miss checks for attacks. Hit points already cover that, so all attacks automatically hit and do damage (whatever "hit" and "damage" means). Instead, your character's ability to dodge, block, whatever is represented by reducing the final damage an attack does, similar to how armour works in most games. This also means you'll never have to suffer through a never-ending string of attack misses.
- Let terrain have a direct impact on the damage characters take. A character standing behind a crate takes less damage due to cover. A character standing on the edge of a cliff takes more damage due to having to expend the effort of not getting knocked over.
- Have random critical attacks that represent a character truly getting hit by the attack, to add drama if nothing else. On top of the bonus hit point damage, the character receives a wound which directly penalizes the character's stats. These wounds are the things that potions and medkits heal. Armour could be the method of reducing the chance and severity of critical attacks, which can distinguish it from a character's evasion/block ability that's just used to reduce hit point loss.
- Wide-area attacks like explosions are where my current hit point model starts to break down. With these attacks the character's escape and survival can only be rationalized if the character is seen to physically move across the game map away from the explosion. My best solution is to make characters do just that. When caught in an explosion a character is forced to move to the closest space outside the explosion's radius. The character has to expend hit points representing the effort of escape, more hit points expended the further the character has to move. If the character runs out of hit points before reaching the explosion's edge the character is fried. Or at least receives a wound.
- Rather than have hit points that go down after an attack, have "stress points" that go up. Any attack requires a certain amount of stress in the target to be lethal. The target amount depends on the stats and equipment of the attacker and the defender. This may make it harder to tell how "alive" your character is since you have to compare your character's stress points against the combat potential of every enemy in sight, rather than simply observing how close to zero your character's hit points are. I think it's a neat twist nonetheless though since stress points wouldn't need a specific maximum value like hit points do.