Tuesday 26 December 2017

Earl's Musings: Sexy AI

Yes hello! I'm not dead! I'm sorry I never post updates, my life is just...kinda busy and structureless. Also I just...don't think about porn games so much these days. I'm sure that'll change again sooner or later. Also, Merry Christmas everyone! Hope you had good holidays! Now, on to the actual rambling.

I've programmed approximately two AI so far. That's technically a lie, I've done one, and then two AI to half completion, but the math adds up to making two AI so I'm gonna stick with that claim. In that limited experience, I've come to the conclusion that programming AI fucking sucks, and if I ever go back to making AI for that other game which is currently on the shelf, elaborate scripting is the way to go. The big hurdle isn't making AI that makes decisions, I've done that with every AI I've made. It's making AI that makes decisions with a purpose. That makes decisions with a clear goal of winning and doesn't miss obvious traps because it's a dumb machine that can't think like a human and thus can't foresee an obvious trap. But let's say you can do all that. You can make AI that doesn't make dumb mistakes, that tries to win, but isn't so brilliantly optimized that players can beat it. Maybe not consistently, maybe it's only a 50/50, but they can, in fact, win, and not just by getting lucky. Now you run into a new problem.

Just winning, in a porn game, isn't very sexy. This wasn't something I'd ever really considered before, but reading  r/Healsluts, someone posted about how bad they are at Age of Empires. The point was that the AI didn't just beat them, it also humiliated them in the process. Obviously, this was not the intention when programming them. More likely they're simply not programmed to consider if enemies technically should own places when moving in to take resources, and don't have the highest priority in killing all your stuff. HOWEVER, it raised an interesting idea to me. The idea of AI that actually does try to humiliate the player.

To use Shield High as an example, if you've got two or more damage bars maxed out, and almost no fatigue, while they're still going strong and haven't even taken significant amounts of pain, why shouldn't the AI toy with you a bit? Why wouldn't it drive the point home that you're it's bitch right now? I mean, given that the AI is for a rival girl at Shield High, it stands to reason she'd want to rub it in.

It also opens up an avenue for other types of porn games. In fact, the nature of AI opens up whole other genres, as suddenly the content of the gameplay doesn't have to be sex-related at all. You could make an RTS game that has no sex mechanics, but have a narrative focus where the AI not just beating you, but openly disrespecting you in-game makes sense, and plays into the porn element of it. Obviously, I'm not about to do such a thing. I really do need to finish Shield High and my new project before I dash off to more porn games, however it's something I might be thinking about for the future. Y'know, if I ever do finish anything.

Or someone else could take this and make something of it. Both work. Just tell me if you do.

Pudding Earl

2 comments:

  1. As an academic with experience of AI, I've got to say that the problem you describe isn't hard at all - or at least not from a classic AI perspective, when applied to your example of Shield High.

    Basically, you have an understanding of AI as trying to maximise its chance of winning based on its understanding of the current situation. However, here what you want to do is add a secondary goal: when the chance of winning is sufficiently high, perform additional actions (in this case, to "humiliate" the player) provided they don't substantially decrease the chance of winning (how much the AI is prepared to risk its goal of winning in order to humiliate the player can be parameterised as a "personality" trait, or to give the player extra openings). There's probably a third goal in there as well which is that the AI shouldn't take too long, otherwise the player will get bored.

    But fundamentally, it's not hard. You're just going from a single-objective model to a model with multiple conditional objectives. Sure, it means you've got to add additional ways for your AI to score its actions with respect to the additional objectives, which may be a lot of work, but it shouldn't be too hard unless you get really elaborate with the scoring.

    Narrative AI? That's probably a bit harder, but you may be overthinking it. The game RimWorld claims it has "intelligent AI driven storytellers", but if you dig into it you'll basically find randomly selected tables and some scaling factors. AI can mean a lot of different things.

    ReplyDelete
    Replies
    1. Oh no, I don't think the Shield High example is difficult by any stretch. In fact, as I wrote it I could see how I'd go about doing it. I also appreciate that I vastly overstate the difficulty of AI programming as I'm entirely self taught and have a tendency to commit war crimes more so than do actual coding.

      Really I think the difficulty within Shield High would be making it so that the point of the humiliation is clear, and doesn't just seem like the AI being dumb. I have a couple ideas for that, which I'll get to if I ever program it.

      Honestly, any time I say "X is difficult/hard" just mentally add in "for me and my lack of training and stubborn refusal to get it" and it makes a lot more sense.

      Delete