<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ChatGPT AI: Guess a Historical Figure (Difficulty: 3)]]></title><description><![CDATA[<h2><a class="anchor-offset" name="introduction"></a>Introduction</h2>
<p dir="auto"> <br />
In the <a href="https://www.forum.creaticode.com/topic/940/chatgpt-ai-an-improved-chat-app-difficulty-3" target="_blank" rel="noopener noreferrer nofollow ugc">previous tutorial</a>, you learned how to build a simple chat app with ChatGPT. In this tutorial, we will build a learning game called “Who Am I?”. We will make ChatGPT pretend it is a historical figure, and have the user guess who that person is:</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/3c119ffe-5f88-4982-abae-14a6abcea36f.png" alt="b186b8ba-4f69-4a0a-a5ac-5956fc421670-image.png" class=" img-responsive img-markdown" width="493" height="399" /></p>
<p dir="auto"> <br />
You will find that <strong>there is almost no code change, and most of the work is in rewriting the prompt</strong>. This may change how you think about “coding”. A new skill is needed if you want to build fun projects using ChatGPT: writing great prompts to get ChatGPT to do precisely what you want. In a way, <strong><span style="color:#f50505">you just need a new prompt to build a new app</span></strong>!</p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-1-create-a-starting-project"></a>Step 1 - Create a Starting Project</h2>
<p dir="auto"> <br />
We will use the project from the <a href="https://www.forum.creaticode.com/topic/940/chatgpt-ai-an-improved-chat-app-difficulty-3" target="_blank" rel="noopener noreferrer nofollow ugc">previous tutorial</a> as the starting point. If you don’t have it, you can follow that tutorial to build one, or remix the following project:</p>
<p dir="auto"><a href="http://play.creaticode.com/projects/1d57389810eb8ce8b178c684" target="_blank" rel="noopener noreferrer nofollow ugc">play.creaticode.com/projects/1d57389810eb8ce8b178c684</a></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-2-clean-up"></a>Step 2 - Clean Up</h2>
<p dir="auto"> <br />
Before we add a new prompt to the project, let’s clean it up:</p>
<ol>
<li>Remove the prompt in the system request. We will work on this later.</li>
<li>Change the name of ChatGPT from “Einstein” to “AI” or some other name you like.</li>
</ol>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/49aa0e9b-3599-422d-9e5b-5be309539868.png" alt="9714d5b3-f615-44d1-88c8-2f90372f7735-image.png" class=" img-responsive img-markdown" width="1074" height="805" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-3-first-part-of-the-prompt-describe-the-scenario"></a>Step 3 - First Part of the Prompt: Describe the Scenario</h2>
<p dir="auto"> <br />
The entire project will involve writing a new prompt, which can be completed in a few steps.</p>
<p dir="auto">For the first step, it is essential to describe the scenario so that ChatGPT knows its role and what it is expected to do.</p>
<p dir="auto">For our game, we can describe it like this:</p>
<pre><code class="language-html">You are a 5th-grade history teacher, and the user is a 5th-grade student. You need to test how well the student knows about historical figures by playing a game.
</code></pre>
<p dir="auto">Feel free to adjust the student’s grade level or the role of the chatbot. You need to type or copy the description into the request box of the system request block. Note that when the request is long, it will automatically be folded into multiple lines.</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/c5587af3-3787-4ab3-b558-44c83e1a061e.png" alt="c85e15a5-dc70-4e92-ba3a-3f7f5639f532-image.png" class=" img-responsive img-markdown" width="1057" height="202" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-4-second-part-of-the-prompt-describe-the-game-rules"></a>Step 4 - Second part of the Prompt: Describe the Game Rules</h2>
<p dir="auto"> <br />
With the scenario described above, ChatGPT knows it needs to test a student’s historical knowledge through a game. However, it still doesn’t know the exact rules of the game. We need to give it clear rules on what it should and should not do, such as:</p>
<pre><code class="language-html">In this game, you pretend to be a historical figure, but you do not tell the student who you are pretending to be. The student has to guess who you are by asking you questions.
</code></pre>
<p dir="auto">Again, put this into the request input box. Note that you can hold down the SHIFT key and then press the ENTER key, which will start a new line in the request input.</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/afdcc542-68cc-406b-bbf3-f5a3704cad98.png" alt="3237ca1e-502e-4e5f-8b2f-063b386859d0-image.png" class=" img-responsive img-markdown" width="1054" height="319" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-5-part-3-of-the-prompt-what-to-do-next"></a>Step 5 - Part 3 of the Prompt: What to Do Next</h2>
<p dir="auto"> <br />
Now our chatbot is ready to play the game. However, we still need to tell it what to do to get the game started. For example, we can make it wait for the user to start asking the first question:</p>
<pre><code class="language-html">Now wait for the student's question, then answer the question as if you were that historical figure.
</code></pre>
<p dir="auto">Again, add it to the request input box:</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/9156a1f6-8a06-42df-bd9a-3382b8b7b777.png" alt="a4227ffa-5c25-4687-821d-01b66b7d92fa-image.png" class=" img-responsive img-markdown" width="1040" height="343" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-6-instruct-the-user"></a>Step 6 - Instruct the User</h2>
<p dir="auto"> <br />
Now our chatbot is ready, we still need to explain to the user how to play the game. We will apply a small trick here: we can tell the user to start asking questions with a new chat message like the one below, as if the historical figure is talking to the user directly:</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/0f4cab87-829a-4987-a04e-c09c8e695df2.png" alt="a40929a9-c7c0-41cc-b913-475fdac55113-image.png" class=" img-responsive img-markdown" width="1054" height="239" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-7-test-our-game"></a>Step 7 - Test Our Game</h2>
<p dir="auto"> <br />
Now we have completed the changes. It’s very important to test it thoroughly. You need to think about what users would do to break your game.</p>
<p dir="auto">For example, we should test whether the chatbot adheres to the game rules.</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/1415ead4-e7fe-4a70-8514-0598af2b2559.png" alt="5a96b96e-5c0a-4ff2-93f5-653474228cfc-image.png" class=" img-responsive img-markdown" width="948" height="677" /></p>
<p dir="auto"> </p>
<p dir="auto">Next, we should test if the chatbot can guide the user properly:</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/60a795d2-8b09-4391-a506-e04a2b6aba59.png" alt="f588abae-4253-4fca-9629-a9fdf4234585-image.png" class=" img-responsive img-markdown" width="1211" height="810" /></p>
<p dir="auto"> <br />
Lastly, test if our chatbot knows when to end the game. Note that even if we have a typo (“Jeferson” instead of “Jefferson”), ChatGPT can still correctly guess what we meant:</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/3c119ffe-5f88-4982-abae-14a6abcea36f.png" alt="b186b8ba-4f69-4a0a-a5ac-5956fc421670-image.png" class=" img-responsive img-markdown" width="493" height="399" /></p>
<p dir="auto"> <br />
If you encounter any issues during the test, consider how to refine the prompt to prevent them. For example, if you do not want ChatGPT to discuss anything besides the game, you can add this to the prompt:</p>
<pre><code class="language-html">Do not respond to any topic unrelated to this game.
</code></pre>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="step-8-fix-the-first-name-issue"></a>Step 8 - Fix the “First Name” Issue</h2>
<p dir="auto"> <br />
One possible “hack” you may find is that when the user asks, “What’s your first name?”, our AI will give out the answer right away:</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/6c43c1c2-40ae-4be1-8291-904f83406284.png" alt="663aed90-b933-4a3d-837a-603f760f5913-image.png" class=" img-responsive img-markdown" width="525" height="321" /></p>
<p dir="auto"> <br />
To fix this issue, we need to add some additional rules to our prompt. For example, we can append this sentence:</p>
<pre><code class="language-html">Do not give out your first name or last name in any format.
</code></pre>
<p dir="auto">Now if you try to ask for the first name, you will get an answer like this:</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/1d0a617e-865c-4ade-a7e7-7b61fd6415d5.png" alt="557de689-e6ee-4aa5-b6e2-ee8a4cc9dfbb-image.png" class=" img-responsive img-markdown" width="526" height="339" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="further-enhancements"></a>Further Enhancements</h2>
<p dir="auto"> <br />
Besides historical figures, you can modify the prompt to test the user on other topics. Here are some fun examples:</p>
<ul>
<li>Guess a planet in our solar system</li>
<li>Guess an invention or inventor</li>
<li>Guess an animal or a plant</li>
<li>Guess a literary character</li>
<li>Guess a country or a place on Earth</li>
<li>Guess a chemical element</li>
<li>Guess a word or a number</li>
</ul>
<p dir="auto"> <br />
You should also continue to find other ways to improve the prompt and make the game more robust against trick questions.</p>
<p dir="auto">A more challenging task is to <strong>make the historical figure more random</strong>. Currently, ChatGPT is likely to pick the few famous presidents, making the game extremely easy to play. One way to do this is to generate a random condition on the historical figure: you can write code to pick a random time period (from a list of time periods) and a random country (from a list of countries), then add both of them as additional requirements on the historical figure. For example, suppose the random time period is “A.D. 1400 to A.D. 1500”, and the random country is “China”, then insert this sentence into the prompt: This historical figure you choose must be born between A.D. 1400 and A.D. 1500 in China.</p>
]]></description><link>https://forum.creaticode.com/topic/942/chatgpt-ai-guess-a-historical-figure-difficulty-3</link><generator>RSS for Node</generator><lastBuildDate>Sat, 14 Mar 2026 09:03:37 GMT</lastBuildDate><atom:link href="https://forum.creaticode.com/topic/942.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Mar 2023 18:36:08 GMT</pubDate><ttl>60</ttl></channel></rss>