Monday, August 22, 2011
- Your group is physically isolated, possibly on a global scale.
- Your group's location is dangerous and/or inhospitable.
- Due to location, characters or circumstances, calling in the authorities and letting them deal with the situation is either impossible or a very difficult and/or unappealing option.
- Your group are academics or intellectuals, possibly with some blue collar muscle attached.
- Feats of academic skill are 60 - 70 % of defeating the enemy, the rest is brutal violence.
- Even the most practical skills have their limits ("Any way we can fix it?" "It's gone, McCready").
- Vital clues may lie beyond a language barrier, and for want of this nail everyone's lives may be lost.
- Your group may start to die, and once the dying starts it becomes less and less likely that the dying will stop.
- There was another group of people like you out here, but something terrible happened to them.
- Thankfully the Previous Poor Bastards (PPB) were copious, some might say obsessive note-takers, diarists and photographers, although some of their evidence may be for one reason or another outside your powers of interpretation.
- PPB research is always intriguing : "Seems like they were spending a lot of time at a little place northeast of their camp about five or six miles." If you ever hear anything like this, run.
- Your enemy, although possibly out of place, is vastly more intelligent than you.
- Your enemy leaves crime scenes and horror in its wake, narrative tableaux of desperate struggle followed by savage death.
- One of your early encounters with your enemy may be in the form of a corpse like no corpse you have ever seen before.
- The bodies and attitudes of discovered murder victims may be unintelligble at first, as though the crime were committed by a madman . . but this may not be the case.
- Your enemy can spread, like a virus, and corrupt even those closest to you.
- Your enemy, if somehow allowed access to and power over a sizeable human population, could spread quickly enought to engulf the Earth in short order.
- Compared to you, your enemy is very, very old.
THE GOOD NEWS
- Your enemy may be ultimately immune to physical harm, but in the cases of your enemy's incarnations and manifestations, things like fire and shotguns can be key to turning an unmanageable situation into a mangeable one.
- Fire is a language that everyone understands.
- When in doubt, burn the place to the ground.
- There can come a time when killing any (or every) other member of the party is the sensible, sane thing to do. ("What if we're wrong about him?" "Then we're wrong.")
- This is usually accompanied by the realization that one should probably kill oneself as well, followed by the brilliant realization that one actually needn't because "I know I'm not one of them!"
- Only knowledge of the odds allows for true heroism: "we're not getting out of here alive . . but neither is that thing."
- Dynamite is a language everyone understands.
It would be tough to keep any experienced players from wising up to the dog long before it got to spend time alone with anyone. That's the only thing that bugged me, even for 1982, wouldn't there have been enough general awareness, especially among scientists, of infectious diseases to where if you saw some Norwegians out on the ice frantically trying to shoot a dog with a sniper rifle, you might at least entertain the idea "escaped lab animal" before giving the dog the run of the place . . ultimately it doesn't matter, due to what happened in the kennel, if it couldn't have got to any humans quickly it would have gone for the other dogs, but that's assuming they captured the thing rather than going with the other option of considering the obvious frantic intentions of their fellow scientists who were burning helicopter fuel many miles from home in order to shoot the dog already.
Inspired by this video:
Sunday, August 21, 2011
I'm sitting here looking at this thing and wondering if I'm really going to take Solar Trucker apart and put it back together again using Chipmunk physics instead of Box2D. For some reason I was unable to get a proper handle on adding and removing objects to / from the screen in Box2D, I was constantly crashing the thing. I switched over to Chipmunk and hit upon a method that I think will give me all the behaviors I need, in a way that I find more intuitive. I recognize this might not be the best way to choose technologies, but look, one of the problems with using a very new SDK (MOAI in this case) is that while you may have documentation, you don't yet have this massive pool of amateur developers and their tales of workarounds, abandoned projects, successes, pet peeves, etc. that you would get by working in something like Flash or even Unity. Thus I end up spending way more time tinkering around in test beds like this one than I do actually working on the game, but supposedly this how you get good, so I don't really have a problem with it.
So I'm 90% ready to make the jump, but switching physics engine midstream is kind of like trying to replace the transmission of a moving car. It makes a lot more sense to me to just rebuild the game around the Chipmunk implementation I have for this demo. At least I know it works, and how long could that possibly take, right?
Monday, August 8, 2011
I should take a minute to post about what's been going on, as stuff is indeed going on. I was on my way to a family reunion a few weeks ago, killing time at the airport and started thinking about how I would use the MOAI system to create the classic player rotation movement of Asteroids. Well, one thing led to another and here we have a screen from Solar Trucker. I'm getting fairly close to having the gameplay basics solid, but there are still some real problems with my rotation and "thrust" code.
For the thrust I am keeping the player at center screen and moving a starfield behind him, and that's the new second-iteration choice, I originally had the player floating off one end of the screen to appear at the other. I'm grappling with Box2D, which is one of a few physics systems MOAI implements natively. Moving objects with Box2D gives the movement a very smooth, kind of weighted quality that I like, but I haven't been able to get the amount of speed I want out of the code, regardless of how I tweak the mass of objects. It's a big library and I'm sure the solution is in there somewhere. I've been simultaneously messing around with moving things just by animating their "props" around with the native movement functions, and under that model it's easy to get that starfield flying by, but the handling is god-awful and really, why not use Box2D when it's right there at hand?
One of the most difficult parts is going to be knowing where to stop. Every day I think of another cool feature, but the most important thing right now is to get the very basics working and presentable. My homegrown rotation matrix works surprisingly well most of the time, but I just know I transposed a couple of digits somewhere, the player's bullets will occasionally float off sideways.