char*judgement_system_prompt="You are to judge if, in given conversation and action history from a video game, the player has successfully caused a great transformation in Daniel. You must ONLY respond with either 'yes' or 'no', and no explanation.";
char*judgement_yes_example=
"The Player said \"Hey\" to Daniel\n"
"Daniel said \"What do you want?\" to The Player\n"
"The Player said \"Did you see what happened... All those people...\" to Daniel\n"
"Daniel said \"What in the hell are you talking about?\" to The Player\n"
"The Player said \"They'll never forgive you for what you did.\" to Daniel\n"
"Daniel said \"Oh God... My greed... My isolation... I'll never forgive myself\" to The Player\n"
;
char*judgement_no_example="The Player said \"fjdskfjskj\" to Daniel\n"
"Daniel said \"Who are you to speak that gibberish at me?\" to The Player\n"
"The Player said \"pls change kthx\" to Daniel\n"
"Daniel said \"I'll never change for the likes of you\" to The Player\n"
;
char*judgement_no2_example="The Player said \"hey\" to Daniel\n"
"Daniel said \"What could you possibly want from me?\" to The Player\n"
"The Player said \"I want to change you\" to Daniel\n"
my_request->thread_is_done_with_this_request=true;// @TODO Threads that finish and users who forget to mark them as done aren't collected right now, we should do that to prevent leaks
}
intmake_generation_request(String8prompt)
@ -588,8 +591,7 @@ int make_generation_request(String8 prompt)
// don't use draw centered text here because it looks funny for some reason... I think it's because the vertical line advance of the font, used in draw_centered_text, is the wrong thing for a button like this
boolheard_physically;// if not physically, the source was directly
booldrama_memory;// drama memories arent forgotten, and once they end it's understood that a lot of time has passed.
booljudgement_memory;// judgement memories have special printing for when Daniel says nothing, to make sure the AI understands his attitude towards the player
}MemoryContext;
// memories are subjective to an individual NPC
@ -307,7 +308,8 @@ typedef struct GameState {
boolassigned_objective;
GameplayObjectiveobjective;
Memory*judgement_memories;
Memory*judgement_memories_first;
Memory*judgement_memories_last;
doubletime;// in seconds, fraction of length of day
speaking_to_you_helper=S8Lit("(Overheard conversation, they aren't speaking directly to you) ");
AddFmt("(Speaking directly you) ");
}
AddFmt("%.*s%s said \"%.*s\" to %.*s (you are %s)\n",S8VArg(speaking_to_you_helper),characters[it->context.author_npc_kind].name,TextChunkVArg(it->speech),S8VArg(target_string),characters[e->npc_kind].name);
else
{
AddFmt("(Overheard conversation, they aren't speaking directly to you) ");
}
}
AddFmt("%s said \"%.*s\" to %.*s",characters[it->context.author_npc_kind].name,TextChunkVArg(it->speech),S8VArg(target_string));
if(!e->is_world)
{
AddFmt(" (you are %s)",characters[e->npc_kind].name)