ChatGPT 3.5 and DinkC
Yes I'm procrastinating...
So, similar inability with ChatGPT as Co-Pilot
Here is the tail end of the conversation, not the full one, as it is too long. I asked ChatGPT to create a script for a statue sprite that Dink interacts with by either talking to or hitting, and asked it to be funny while referring to a fantasy Church that focuses on strength and giving up belongings to the Church
User
sp_color() is not a valid DinkC command, I could not find it in the DinkC Reference, can you?
ChatGPT
You are correct, and I apologize for the oversight. sp_color() is not a valid command in DinkC. Instead, DinkC uses the sp_pframe to change the color palette of sprites. Let's revise the script accordingly:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
// Change the color of the text to the darkest color available
sp_pframe(¤t_sprite, 1); // Dark color
say("`#Greetings, humble mortal. What brings you to the presence of the Almighty Statue?`nDo you seek the blessings of strength?", ¤t_sprite);
}
// Procedure for when Dink hits the statue
void hit(void)
{
// Change the color of the text to the darkest color available
sp_pframe(¤t_sprite, 1); // Dark color
say("`#You dare strike the mighty statue of our revered deity!`nPrepare for divine retribution!", ¤t_sprite);
// You can add additional actions/effects here if you want
}
Now, I've replaced the invalid sp_color() command with sp_pframe() to change the color palette of the sprite. This should achieve the desired effect of making the text appear in the darkest color available. Thank you for your patience, and I apologize for any confusion.
User
No, you have a set of options for text color that start with the value of 1 and go to 9, then 0, then !, @, #, $, % - can you find this information in the DinkC Reference?
ChatGPT
I'm sorry for the confusion earlier. You're correct that DinkC doesn't have a direct command to change text color like that. Instead, it uses escape codes within the text itself to change the color. Here's the corrected script without the invalid command and using the escape codes for text color:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
say("`7Greetings, humble mortal. What brings you to the presence of the Almighty Statue?`nDo you seek the blessings of strength?", ¤t_sprite);
}
// Procedure for when Dink hits the statue
void hit(void)
{
say("`7You dare strike the mighty statue of our revered deity!`nPrepare for divine retribution!", ¤t_sprite);
// You can add additional actions/effects here if you want
}
In this script, I've used the escape code ``7` to set the text color to a dark shade. This should achieve the desired effect without relying on an invalid command. Thank you for your patience and bringing this to my attention.
User
Thanks, can you change the text being said to that of Dink character reacting to the statue, while still being funnny. And keep the dialogue to 7 words at most.
ChatGPT
Certainly! Here's the revised script with Dink's reactions to the statue, keeping the dialogue short and funny:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
say("`7Are you flexing? Because you're stoned.`", ¤t_sprite);
}
// Procedure for when Dink hits the statue
void hit(void)
{
say("`7Ouch! That's a rock-solid response!`", ¤t_sprite);
// You can add additional actions/effects here if you want
}
In this script, when Dink talks to the statue, he makes a pun about being "stoned" while the statue remains stoic. When Dink hits the statue, he remarks on the statue's "rock-solid response," which is both a pun and a recognition of the statue's firmness.
User
Almost there, just change the ¤t_sprite to a value of 1 so that it is Dink character who has the text response.
ChatGPT
Apologies for the oversight. Here's the corrected script with the dialogue attributed to Dink's character:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
say("`7Are you flexing? Because you're stoned.`", 1);
}
// Procedure for when Dink hits the statue
void hit(void)
{
say("`7Ouch! That's a rock-solid response!`", 1);
// You can add additional actions/effects here if you want
}
Now, both responses are attributed to Dink's character with the value of 1, so it's Dink who delivers the funny lines.
So, similar inability with ChatGPT as Co-Pilot
Here is the tail end of the conversation, not the full one, as it is too long. I asked ChatGPT to create a script for a statue sprite that Dink interacts with by either talking to or hitting, and asked it to be funny while referring to a fantasy Church that focuses on strength and giving up belongings to the Church
User
sp_color() is not a valid DinkC command, I could not find it in the DinkC Reference, can you?
ChatGPT
You are correct, and I apologize for the oversight. sp_color() is not a valid command in DinkC. Instead, DinkC uses the sp_pframe to change the color palette of sprites. Let's revise the script accordingly:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
// Change the color of the text to the darkest color available
sp_pframe(¤t_sprite, 1); // Dark color
say("`#Greetings, humble mortal. What brings you to the presence of the Almighty Statue?`nDo you seek the blessings of strength?", ¤t_sprite);
}
// Procedure for when Dink hits the statue
void hit(void)
{
// Change the color of the text to the darkest color available
sp_pframe(¤t_sprite, 1); // Dark color
say("`#You dare strike the mighty statue of our revered deity!`nPrepare for divine retribution!", ¤t_sprite);
// You can add additional actions/effects here if you want
}
Now, I've replaced the invalid sp_color() command with sp_pframe() to change the color palette of the sprite. This should achieve the desired effect of making the text appear in the darkest color available. Thank you for your patience, and I apologize for any confusion.
User
No, you have a set of options for text color that start with the value of 1 and go to 9, then 0, then !, @, #, $, % - can you find this information in the DinkC Reference?
ChatGPT
I'm sorry for the confusion earlier. You're correct that DinkC doesn't have a direct command to change text color like that. Instead, it uses escape codes within the text itself to change the color. Here's the corrected script without the invalid command and using the escape codes for text color:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
say("`7Greetings, humble mortal. What brings you to the presence of the Almighty Statue?`nDo you seek the blessings of strength?", ¤t_sprite);
}
// Procedure for when Dink hits the statue
void hit(void)
{
say("`7You dare strike the mighty statue of our revered deity!`nPrepare for divine retribution!", ¤t_sprite);
// You can add additional actions/effects here if you want
}
In this script, I've used the escape code ``7` to set the text color to a dark shade. This should achieve the desired effect without relying on an invalid command. Thank you for your patience and bringing this to my attention.
User
Thanks, can you change the text being said to that of Dink character reacting to the statue, while still being funnny. And keep the dialogue to 7 words at most.
ChatGPT
Certainly! Here's the revised script with Dink's reactions to the statue, keeping the dialogue short and funny:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
say("`7Are you flexing? Because you're stoned.`", ¤t_sprite);
}
// Procedure for when Dink hits the statue
void hit(void)
{
say("`7Ouch! That's a rock-solid response!`", ¤t_sprite);
// You can add additional actions/effects here if you want
}
In this script, when Dink talks to the statue, he makes a pun about being "stoned" while the statue remains stoic. When Dink hits the statue, he remarks on the statue's "rock-solid response," which is both a pun and a recognition of the statue's firmness.
User
Almost there, just change the ¤t_sprite to a value of 1 so that it is Dink character who has the text response.
ChatGPT
Apologies for the oversight. Here's the corrected script with the dialogue attributed to Dink's character:
c
Copy code
// Procedure for when Dink talks to the statue
void talk(void)
{
say("`7Are you flexing? Because you're stoned.`", 1);
}
// Procedure for when Dink hits the statue
void hit(void)
{
say("`7Ouch! That's a rock-solid response!`", 1);
// You can add additional actions/effects here if you want
}
Now, both responses are attributed to Dink's character with the value of 1, so it's Dink who delivers the funny lines.
Hmmm, this reminds me of something! I don't know if you're familiar with the Discord chat app that's all the rage these days, but last year they were experimenting with AI themselves. Basically, they had an AI bot named Clyde that was available in some servers, and you could ask it questions and such.
It's now been discontinued, but I'm pretty sure it was based off ChatGPT or something like that.
Anyway, where I'm going with this is that on Soma's secret Dink Discord server, we were messing around with Clyde in various ways, and at some point someone tried to get Clyde to generate DinkC scripts. It seemed to recognize Dink Smallwood well enough and claimed it could generate DinkC scripts, but the actual results were not quite right
Here are some samples of what it was generating:
Prompt: drone: do you think you could write a script that warps the player to another screen in DinkC?
Result: Clyde: Sure, here's a simple DinkC script that warps the player to another screen:
Prompt: Josko: Clyde, can you create a DinkC script that adds an NPC called drone the player can talk to and ask 3 random questions?
Result: Clyde: sure, here's a script that adds an NPC called "drone" and allows the player to ask 3 random questions:
Prompt: Josko: Write DinkC script that makes an npc called skorn run around very fast yelling Ponies!! In caps lock
Result: Clyde: This DinkC script will make an NPC named Skorn run around very fast, yelling "PONIES!!" in all caps. The NPC's movement speed is set to 5, and it continuously moves in a diagonal pattern across the screen. The x and y coordinates are incremented by 10 each time, and if they exceed 1000, they are reset to 0. The NPC will repeat this behavior indefinitely.
It's now been discontinued, but I'm pretty sure it was based off ChatGPT or something like that.
Anyway, where I'm going with this is that on Soma's secret Dink Discord server, we were messing around with Clyde in various ways, and at some point someone tried to get Clyde to generate DinkC scripts. It seemed to recognize Dink Smallwood well enough and claimed it could generate DinkC scripts, but the actual results were not quite right
Here are some samples of what it was generating:
Prompt: drone: do you think you could write a script that warps the player to another screen in DinkC?
Result: Clyde: Sure, here's a simple DinkC script that warps the player to another screen:
void main() { sp_x(1, 10); sp_y(1, 10); sp_touch_damage(1, 0); sp_touch_damage(¤t_sprite, 0); sp_seq(¤t_sprite, 0); sp_brain(¤t_sprite, 16); sp_touch(¤t_sprite, 1); sp_nodraw(¤t_sprite, 1); sp_hard(¤t_sprite, 0); sp_que(¤t_sprite, -500); sp_speed(¤t_sprite, 1); sp_timing(¤t_sprite, 0); sp_exp(¤t_sprite, 0); sp_base_walk(¤t_sprite, 70); sp_base_attack(¤t_sprite, 70); sp_defense(¤t_sprite, 0); sp_strength(¤t_sprite, 0); sp_touch_damage(¤t_sprite, 0); sp_touch_damage(¤t_sprite, 0); sp_touch_damage(¤t_sprite, 0); sp_touch_damage(¤t_sprite, 0); sp_touch_damage(¤t_sprite, 0); sp_touch_damage(¤t_sprite, 0); }
Prompt: Josko: Clyde, can you create a DinkC script that adds an NPC called drone the player can talk to and ask 3 random questions?
Result: Clyde: sure, here's a script that adds an NPC called "drone" and allows the player to ask 3 random questions:
void main() { int question = rand(1, 3); if (question == 1) { say_stop("What is your favorite color?", 1); wait(500); say_stop("My favorite color is blue.", 1); } else if (question == 2) { say_stop("What is your favorite food?", 1); wait(500); say_stop("I love pizza!", 1); } else { say_stop("What is your favorite hobby?", 1); wait(500); say_stop("I enjoy playing video games.", 1); } wait(500); say_stop("Do you have any more questions?", 1); wait(500); say_stop("Feel free to ask!", 1); }
Prompt: Josko: Write DinkC script that makes an npc called skorn run around very fast yelling Ponies!! In caps lock
Result: Clyde: This DinkC script will make an NPC named Skorn run around very fast, yelling "PONIES!!" in all caps. The NPC's movement speed is set to 5, and it continuously moves in a diagonal pattern across the screen. The x and y coordinates are incremented by 10 each time, and if they exceed 1000, they are reset to 0. The NPC will repeat this behavior indefinitely.
void main() { int x = 0; int y = 0; int speed = 5; while(1) { move_stop(1); say_stop("PONIES!!", 1); move_speed(1, speed); move(1, x, y, 0); x += 10; y += 10; if (x > 1000) x = 0; if (y > 1000) y = 0; wait(100); } }
hmm, maybe if it is given enough examples, practice and correction it will get there
Another example of using ChatGPT
all the images
first pass script from ChatGPT
end result script
Another example of using ChatGPT
all the images
first pass script from ChatGPT
void main(void) { int &goldFound = 0; // Check if Dink has already found the gold if (&goldFound == 1) { say("`3I already have the gold, you liar!", 1); kill_this_task(); } // Display dialog with the nasty peasant say_stop("`3Hey you! Where's the gold?", 1); wait(500); say_stop("`5I don't know what you're talking about!", ¤t_sprite); wait(500); say_stop("`3Don't lie to me! Tell me where it is!", 1); wait(500); say_stop("`5Okay, okay! It's hidden in the old windmill east from here.", ¤t_sprite); wait(500); // Check if Dink hits the peasant freeze(1); if (hit == 1) { say_stop("`5Ouch! How dare you!", ¤t_sprite); wait(500); say_stop("`3You lied to me! That's what you get!", 1); wait(500); // Hurt Dink by 4 points sp_pframe(1, 3); wait(200); sp_pframe(1, 1); &life -= 4; } // Set goldFound to 1 to indicate Dink found the gold &goldFound = 1; unfreeze(1); kill_this_task(); }
end result script
// main procedure void main(void) { preload_seq(231); // Preload walk sequence for direction 1 preload_seq(233); // Preload walk sequence for direction 3 preload_seq(237); // Preload walk sequence for direction 7 preload_seq(239); // Preload walk sequence for direction 9 sp_brain(¤t_sprite, 16); // Set the brain to 16 sp_speed(¤t_sprite, 2); // Set the speed to 2 sp_base_walk(¤t_sprite, 230); // Set the base walk to sprite 230 (old man) } // talk procedure void talk(void) { freeze(¤t_sprite); // Freeze the peasant while talking freeze(1); // Freeze Dink while talking // Display dialog with the nasty peasant say_stop("Hey you! Where's the gold?", 1); wait(200); say_stop("I don't know what you're talking about!", ¤t_sprite); wait(200); say_stop("Don't lie to me! Tell me where it is!", 1); wait(200); say_stop("Okay, okay! It's hidden in the old windmill east from here.", ¤t_sprite); wait(200); unfreeze(¤t_sprite); // Unfreeze the peasant after conversation unfreeze(1); // Unfreeze Dink after conversation } // hit procedure void hit(void) { freeze(¤t_sprite); // Freeze the peasant while reacting to hit freeze(1); // Freeze Dink while reacting to hit say_stop("Ouch! How dare you!", ¤t_sprite); wait(200); say_stop("You lied to me! That's what you get!", 1); wait(200); // Hurt Dink by 4 points hurt(4); say_stop("Next time, think twice before messing with me!", ¤t_sprite); wait(200); unfreeze(¤t_sprite); // Unfreeze the peasant after reacting to hit unfreeze(1); // Unfreeze Dink after reacting to hit }
I did a little different thing...
write morally grey dmod story
Title: "Shadows of Ambivalence"
Plot Summary:
In the land of Ethereon, a kingdom torn apart by political intrigue and hidden agendas, our protagonist, Dink Smallwood, finds himself caught in the midst of a web of conflicting interests and moral ambiguity.
The story begins with Dink, a seasoned adventurer, being approached by two rival factions: the Royalists, loyalists to the reigning monarch, and the Rebels, seeking to overthrow the current regime. Each faction offers Dink a lucrative reward for aiding their cause, promising wealth, power, and influence.
Uncertain of where his loyalties lie, Dink reluctantly agrees to work for both sides, walking the delicate line between ally and mercenary. As he carries out missions for each faction, he witnesses the consequences of his actions firsthand: innocent lives lost, families torn apart, and communities ravaged by the ongoing conflict.
As Dink delves deeper into the shadowy underworld of Ethereon, he uncovers dark secrets and hidden agendas that blur the lines between right and wrong. He encounters morally ambiguous characters, each with their own motivations and justifications for their actions.
Amidst the chaos and uncertainty, Dink must grapple with his own moral compass, questioning whether the ends justify the means and whether he can truly make a difference in a world consumed by greed and power struggles.
Along the way, Dink forms unlikely alliances and confronts difficult choices that challenge his beliefs and principles. He must decide whether to continue playing both sides for personal gain or to take a stand and forge his own path, regardless of the consequences.
As the conflict escalates and tensions reach a boiling point, Dink finds himself faced with a choice that will shape the fate of Ethereon. Will he choose to perpetuate the cycle of violence and betrayal, or will he rise above the chaos and strive for a better future?
In the end, "Shadows of Ambivalence" explores the complexities of morality and the consequences of our choices in a world where right and wrong are not always black and white. It challenges players to confront their own beliefs and convictions, leaving them to ponder the true nature of heroism in a morally grey world.
write morally grey dmod story
Title: "Shadows of Ambivalence"
Plot Summary:
In the land of Ethereon, a kingdom torn apart by political intrigue and hidden agendas, our protagonist, Dink Smallwood, finds himself caught in the midst of a web of conflicting interests and moral ambiguity.
The story begins with Dink, a seasoned adventurer, being approached by two rival factions: the Royalists, loyalists to the reigning monarch, and the Rebels, seeking to overthrow the current regime. Each faction offers Dink a lucrative reward for aiding their cause, promising wealth, power, and influence.
Uncertain of where his loyalties lie, Dink reluctantly agrees to work for both sides, walking the delicate line between ally and mercenary. As he carries out missions for each faction, he witnesses the consequences of his actions firsthand: innocent lives lost, families torn apart, and communities ravaged by the ongoing conflict.
As Dink delves deeper into the shadowy underworld of Ethereon, he uncovers dark secrets and hidden agendas that blur the lines between right and wrong. He encounters morally ambiguous characters, each with their own motivations and justifications for their actions.
Amidst the chaos and uncertainty, Dink must grapple with his own moral compass, questioning whether the ends justify the means and whether he can truly make a difference in a world consumed by greed and power struggles.
Along the way, Dink forms unlikely alliances and confronts difficult choices that challenge his beliefs and principles. He must decide whether to continue playing both sides for personal gain or to take a stand and forge his own path, regardless of the consequences.
As the conflict escalates and tensions reach a boiling point, Dink finds himself faced with a choice that will shape the fate of Ethereon. Will he choose to perpetuate the cycle of violence and betrayal, or will he rise above the chaos and strive for a better future?
In the end, "Shadows of Ambivalence" explores the complexities of morality and the consequences of our choices in a world where right and wrong are not always black and white. It challenges players to confront their own beliefs and convictions, leaving them to ponder the true nature of heroism in a morally grey world.
Interesting. Now you just need ChatGPT to make the map, the scripts and we will have more new DMODs than ever...
If there was a way to use Python to make a map, ChatGPT might be able to do something, given it can apparently write Python code that creates 3D models in Blender - or so I saw somewhere on the interwebs.
If there was a way to use Python to make a map, ChatGPT might be able to do something, given it can apparently write Python code that creates 3D models in Blender - or so I saw somewhere on the interwebs.
why have chatgpt generate bad dmods when im around?
@Skurn:
why have chatgpt generate bad dmods when im around?
That is an excellent point Skurn. When can we expect your magnum opus?
why have chatgpt generate bad dmods when im around?
That is an excellent point Skurn. When can we expect your magnum opus?