Monday, June 03, 2013

Gridiron Solitaire #58: Survived!

I feel like I was stranded on a mountain after a plane trip and had to eat human flesh to survive, but I made it back to civilization.

I'm alive.

I though it would take about five hours. It took a month. The drive canvas now works for all plays from scrimmage (excluding kicks), though, and it looks spiffy. There are over a dozen player poses, down markers, first down markers, goal line pylons, and goal posts.

I'm still hating myself for how long it took to get this right, but when the self-loathing eventually ends, I'll be glad I saw it through.

One of my best beta testers sent me an interesting query about time last week.

Here's how time currently works in the game. For the CPU on offense, there's a defined time run-off for each play type, and in the last 3 minutes of the half or game, the run-offs are much smaller (simulating how many plays get run in the last 2 minutes of a game). For the Human player on offense, there's no long run-off at the start of the play, but with each play of cards, time runs off the clock.

Also, running plays take more time off the clock than passing plays, whether it's by defined run-off or by card plays.

The problem with all that (and it works reasonably well, so I don't think it's a big problem) is that it creates a minimum length of time required for the Human player to score that's potentially quite a bit more than the time it takes for the CPU to score. This is exacerbated in the last 3 minutes.

Plus, conceptually it's a little wonky. In real football, an 8 play, 90 yard drive should take much more time than a single 90 yard play, but in GS, when the Human player is on offense, the difference is quite small.

It was pointed out, quite rightly, that this seemed inaccurate.

This is the last substantial subsystem in the game that I'm willing to change, but I think managing time more accurately is entirely worthwhile. So if the basic system for Human run plays, for example, is this:
-- 5 second runoff at start of play
-- 30 seconds for each card play (which gains 4 yards)

Then an 8 play, 90 yard drive would take 12:10 off the clock (excluding the <3 11:30.="" 90="" a="" at="" end="" game="" half="" minute="" of="" on="" p="" period="" play="" run="" single="" take="" time="" would="" yard="">
So the new time system would look something like this:
--70 second runoff at start of play
--3 seconds for each card play (which still gains 4 yards)

So an 8 play, 90 yard drive would now take 10:29, while a 90 yard run on a single play would take only 2:19.

The amount of time still isn't necessarily accurate (it won't be, because I make some adjustments to keep the total game length at 15-20 minutes), but the ratio is way, way better.

It's going to be tough to balance this, because I can't affect game length, but I think it's doable.

A bigger issue is that I'll have to rewrite the CPU AI, which is going to be brutal. I've rewritten it twice already, and it's downright nasty now, so to have to rebuild based on the new time scale is going to be painful. I'm not starting from scratch--it won't be nearly that bad--but it won't be pleasant.

It will enable GS to have an ebb and flow more like football, though, which is the point. 

Site Meter