Revisit 12 - SVN, Infantry, and Weapons

Web log of development issues.

Revisit 12 - SVN, Infantry, and Weapons

Postby adamsderk » Mon Aug 03, 2009 5:18 pm

Greetings,

The first big change has been to implement SVN to 1. enable sharing code and art with developers/contributors and 2. to have snapshots to fall back on when things go horribly wrong :) I am hoping that I can speed development by having others take on certain parts, whether it be core object code or adding new models. You will need a license to play in the engine, but none is necessary for scripting or art.

The other big topic is my new object; infantry. Starting at the bottom gives me the opportunity to set the smallest scale and work up through the game. Now there are already two damage scales in the game; normal and capital. Capital is 10 time the size of normal. Since infantry weapon damage is given in hundredths, I figured it would make sense to add an "infantry scale" which it 1/10 normal scale. Since I don't want to deal with decimals in the code, I will use infantry scale as the base scale. That means each point of Mech armor is 10 infantry points. So a ballistic rifle will do 3 points of damage (infantry damages will be rounded to the tenths place and then multiplied by 10).

The main reason for this is to be able to have a single infantry man fire their single weapon, but there is another more captivating reason. The smallest level of damage I could do before was 1 point. So a Mech machine gun would fire two bullets in 10 seconds; not exactly a machine gun. With the new scale, a Mech machine gun will do 20 damage in ten seconds. So if I make each bullet do 1 point of damage (or 0.1 damage on the normal scale), I can have 20 bullets in ten seconds or one bullet every half second; much better. When you start scaling this for other ballistic weapons, the AC20 will fire 100 bullets in 10 seconds or 10 every second. :twisted:

This brings me to a general difference between ballistic weapons and energy weapons. I would like ballistic weapons to fire when you press the trigger and stop when you release, while energy weapons have a "recharge" time. This would mean that energy weapons would apply their damage in short bursts and be concentrated on the target, while ballistic ones would do small amounts of damage with each hit, but allow the player to control more where it would hit the target; i.e. sweep to your desired location. This will give a little boost to selecting ballistic over energy to offset the risk of ammo explosion and running out of ammo.

For those wondering about the CoD and its effect, the CoD is still in. For a conventional ballistic weapon, the offset for each firing would be randomly determined, but holding down the trigger would cause a stream of bullets in the same line. When cluster weapons and ammunition are added, they will work more like a shotgun with each bullet getting a random offset filling in the CoD.

Jumping back to the infantry, having a platoon of infantry in the model just didn't work for me. So I'm going to go to a single person model. However, that would make problems in how the CoD works since they would be so much smaller. Remember infantry only have a +1 to hit modifier compared to everything else. To offset it, I am going to give the infantry a 5m x 5m x 2m bounding box. This will make them the same "size" as a Mech or vehicle, but make them shorter and a little harder to hit. Along with the change in damage scale, each Mech weapon will damage infantry, it is just a matter of how much (as opposed to the previous version that randomly selected if an infantry died or not).

It is coming together nicely.

Thanks.
Image
adamsderk
Site Admin
 
Posts: 1404
Joined: Tue Apr 19, 2005 11:52 pm
Location: Western Washington

Postby fennec » Tue Aug 04, 2009 7:37 pm

That sounds really interesting. Having direct control over the firing of guns is an innovative step. I have some thoughts.

From a gameplay standpoint, a purely random CoD is a big fun-killer, especially in the extremes that the Battletech miss rates call for. Have you given any though to augmenting it with some interactive skill-based system?

For example, other games have CoD, but a visible reticle that you can attempt to compensate for (like ArmA) . CoD often changes with context, like current movement, turning, increases with rapid fire, etc.

Or possibly, just lower the damage of the weapons to arbitrarily allow greater accuracy. The fixed firing angle for ballistics and sweeping is kind of neat, but is there really a logical reason why a gun would behave like that?


Second, maybe a reload time for the autocannons would be useful from a gameplay standpoint. The player needs weapon downtime to use another, different weapon, or to manuever their mech. Some reasons for this might be a reloadable cartridge system, or cooldown periods.
fennec
 
Posts: 31
Joined: Sun Jan 28, 2007 9:57 pm

Postby SandMan » Tue Aug 04, 2009 9:27 pm

Derk,

Wow, this sounds fantastic! AutoCannons that are actually automatic-cannons will be fun to play with, even if it takes some fine-tuning to get things the way they ought to be. In any case, I'd like to help if I can, even if real life always seems to be busier than I expect it to be.
For Davion!
ImageImage
SandMan
 
Posts: 172
Joined: Mon Jan 07, 2008 4:48 pm

Postby adamsderk » Wed Aug 05, 2009 3:40 am

fennec,

The purpose of the CoD is not to make you miss (I might even shrink it some more this time around), but to remove pin-point accuracy and represent the "location roll". At my core I feel that a "skill-based" system defeats the purpose of have player intrinsic skill play out in the game. I have always disliked the fact that people with money or time will always play better than the opposite. Granted time in the cockpit will make one better, but they shouldn't be rewarded with an even greater disparity from less experienced players.

The logical reason for the CoD is that no mater how good the weapon or system controlling it, there will be environmental as well as user disparities that will throw off the accuracy.

I agree that having a ballistic system that fires continuously will break the rule of being able to fire all your weapons in a 10 second period, I believe it will be close, especially if energy weapons are instant hit, to switch between the systems. And what is more fun than throwing a constant stream of high-velocity metal at an opponent :)

Sandman,

Real life always comes first (like the time off I'm about to take for the birth of my fourth (and last) child). Having the SVN system should make it easier to connect when time allows as no one is dependent on the others t continue working.

Thanks.
Image
adamsderk
Site Admin
 
Posts: 1404
Joined: Tue Apr 19, 2005 11:52 pm
Location: Western Washington

Postby fennec » Wed Aug 05, 2009 4:33 am

Well, currently the CoD does make you miss, more often than not, at longer ranges. It's also heavily biased against close-range weapons. Even if the CoD were shrunk it would still leave the short-range weapons unusable.

If the goal is to take away precision location targeting, I'd think realistic dispersion would be adequate. Eg. an M2 at 500 meters might scatter in a circle of 8 meters diameter, which is more than large enough to span locations.

If the goal really is to level the playing field by randomizing hitting and locations, this CoD system does technically work. I'm just not sure if the player will appreciate it. If the scatter was motivated by something, like movement speed, or if crouching or proneness would reduce it, the player may understand.
fennec
 
Posts: 31
Joined: Sun Jan 28, 2007 9:57 pm

Postby Ben » Wed Aug 05, 2009 9:59 pm

Well, movement speed does affect the CoD, currently. As per the rules, stopping will have it at it's smallest, walking makes it a little bigger, and running makes it the largest. I've always kind of liked it. The best thing to do is aim at the center of mass of the target, kind of like a regular fire arm. If you want to target a limb, you can, but at a greater chance of missing all together.

As for the infantry, have you played around with using multiple independent objects, Derk? Have one have the objects be the actual player, then create the other members of the platoon as AI characters who follow the player around (probably some kind of flocking algorithm would work). Whenever the player shot at something, all the remaining characters would shoot as well.

This would work for Battlearmor as well, and Protomechs could be similar. The independent moving of protos would be tough. Perhaps allow the player to jump between the various units in a Proto point. Or maybe that, plus controlling them with the lance commands? But still have them 'follow the leader' and shoot whenever the player does. The player would always have to be the last one in the unit to die. But it could probably be rigged to work like that.

Oh, and congrats on the baby! Four?!? You're a brave man, I quit at three and I still have my hands full...
Ben
 
Posts: 169
Joined: Sat Apr 23, 2005 10:42 pm
Location: New Zealand

Postby adamsderk » Thu Aug 06, 2009 4:26 pm

fennec,

That is why I'm thinking of shrinking it. Currently +1 to-hit modifier is 5m. That means an AC2 at medium range (500m) has a 10 meter spread, close to what you described, but of course shorter ranged weapons (like an MG) would have that spread at shorter ranges (60m). That will always be the case because of the range differences in the rules. I am thinking of having the CoD change to a 5 meter spread at +0 to-hit increasing to 10 meter spread at +6 to-hit. Compared to now, +0 is 0m spread and +6 is 30m spread. The new levels should reduce the bias at short ranges, keep the player wanting to get closer to hit, and reduce pinpoint accuracy at short ranges (or with long range weapons at short range). But remember, what the player gets, the AI does as well, so they will hit much more than they do now.

A point of clarification, movement and speed are not calculated in player CoD. The game models them already, i.e. it is harder to hit a target if you are moving (especially perpendicular to it). The AI however, do calculate it because they are perfect every frame.

Ben,

Flocking... interesting concept. Since I am making each unit/object type independently, it will be possible to drop in an "updated" object without causing changes to the rest of the object types. So, that is a nice way of saying, I'm not going to do it this time around, but it would be something that could be tried by myself later or someone else. :)

The units in CBT are grouped to have a balance of damage and survivability. I'm going to try to keep that while having a single controlled object. It was Protos that really pushed me in this direction. Three protos are a single field-able unit, but play as three separate objects. There is no way I'm going to have the player split themselves in three directions while playing real-time. So, I'm going to have one unit that is three times as strong to balance it with a Mech. That lead to an infantry unit being a single soldier that is 28 times stronger to balance it with a Mech.

Thanks.

We were afraid of having an "odd-man-out" with only three which is why we opted for four. But either way, it is a lot of work. :)
Image
adamsderk
Site Admin
 
Posts: 1404
Joined: Tue Apr 19, 2005 11:52 pm
Location: Western Washington

Postby Ben » Thu Aug 06, 2009 11:10 pm

Oh, I did have another question about how you were doing infantry damage. If it's one character, is it going to shoot one projectile? Or will it shoot a number of projectiles based on how many folks are left in the platoon?

On a related note, Derk, you talk about infantry damage as given in hundredths. I'm assuming you're talking about the infantry construction rules weapons numbers. Is each soldier effectively going to fire it's own weapon instead of adding up the total number of soldiers and rounding it off to whole points like done in the board game?
Ben
 
Posts: 169
Joined: Sat Apr 23, 2005 10:42 pm
Location: New Zealand

Postby adamsderk » Thu Aug 06, 2009 11:34 pm

Ben,

I have to play with the infantry in the game before I'm going to say for certain, but the current idea is to modify the fire rate based on the number of infantry remaining. I.e. the higher your health, the faster you fire.

Here is how the math went.
CBT: Energy rifle does .28 damage.
CBT: 28 soldier platoon has 28 life points.
CBT: 28 soldier platoon does 7.84 damage rounded up to 8 in 10 seconds.
BTS: Energy rifle does 3 damage.
BTS: 28 soldier platoon has 280 life points.
BTS: 28 soldier platoon does 84 points of damage (higher from rounding) in 10 seconds.
BTS: 28 soldier platoon fires 28 times in 10 seconds.
BTS: 14 soldier platoon (damaged) fires 14 times in 10 seconds.
BTS: 1 soldier platoon (almost dead) fires once in 10 seconds.

I think this is going to be better than firing 28 3 damage shots once every 10 seconds.

And remember each point of Mech armor is now 10 points, so it takes getting hit four times by this infantry group to lose one point of armor. Infantry will also have to be hit four times by this infantry group to lose one soldier.

Thanks.
Image
adamsderk
Site Admin
 
Posts: 1404
Joined: Tue Apr 19, 2005 11:52 pm
Location: Western Washington

Postby Ben » Wed Aug 19, 2009 10:14 pm

Just to bug you one more time :wink:

Are you setup to add new SVN accounts yet?

Thanks.
Ben
 
Posts: 169
Joined: Sat Apr 23, 2005 10:42 pm
Location: New Zealand

Postby adamsderk » Thu Aug 20, 2009 5:00 am

Ben,

Still trying. I seem to have access to the SVN again, but I haven't resumed communications with my provider (free so I can't complain much :) ). Once it is up, I'm going to do a roll call with some key people (mostly coders) to see about splitting up the work.

Thanks.
Image
adamsderk
Site Admin
 
Posts: 1404
Joined: Tue Apr 19, 2005 11:52 pm
Location: Western Washington


Return to Development Blog

Who is online

Users browsing this forum: No registered users and 3 guests

cron