Spaces:
Runtime error
Runtime error
| import { Alert, Link, List, ListItem, ListItemText, Paper, Typography } from "@mui/material"; | |
| import { DividerBox, SectionBox, OutlinedBox } from "@/components/base/boxes"; | |
| import { systemMessage } from "@/constants"; | |
| export default function UnderTheHood() { | |
| return ( | |
| <> | |
| <DividerBox /> | |
| <SectionBox> | |
| <Typography component="h3" variant="h2"> | |
| Under the Hood | |
| </Typography> | |
| </SectionBox> | |
| <Paper> | |
| <List> | |
| <ListItem> | |
| <ListItemText> | |
| Build on top of{" "} | |
| <Link | |
| href="https://huggingface.co/spaces/failfast/nextjs-hf-spaces" | |
| target="_blank" | |
| rel="noopener" | |
| > | |
| nextjs-hf-spaces | |
| </Link>{" "} | |
| with NextJS + TypeScript +{" "} | |
| <Link | |
| href="https://github.com/openai/openai-node" | |
| target="_blank" | |
| rel="noopener" | |
| > | |
| openai-node | |
| </Link> | |
| . The full source code can be found on{" "} | |
| <Link | |
| href="https://github.com/failfa-st/2D-GameCreator" | |
| target="_blank" | |
| rel="noopener" | |
| > | |
| failfa-st/2D-GameCreator. | |
| </Link> | |
| </ListItemText> | |
| </ListItem> | |
| <ListItem> | |
| <ListItemText>Games are stored in localStorage.</ListItemText> | |
| </ListItem> | |
| <ListItem> | |
| <ListItemText> | |
| We use a very strong <b>system message</b> to make sure that the AI | |
| behaves like a 2D Game Developer, where <b>"TEMPLATE"</b>{" "} | |
| refers to the code of the selected game in the{" "} | |
| <OutlinedBox>Games</OutlinedBox> list, intitally this is the{" "} | |
| <b>Base Game</b>: | |
| </ListItemText> | |
| </ListItem> | |
| <ListItem> | |
| <ListItemText> | |
| <code> | |
| <pre>{systemMessage}</pre> | |
| </code> | |
| </ListItemText> | |
| </ListItem> | |
| <ListItem> | |
| <ListItemText> | |
| The <b>user message</b> follows another template, to make sure that the | |
| selected <OutlinedBox>Command</OutlinedBox> is included and that the AI | |
| always returns the full source code, as this is easier to process | |
| instead of just parts of the code. The prompt is the message that you | |
| entered into the <OutlinedBox>prompt</OutlinedBox> field: | |
| </ListItemText> | |
| </ListItem> | |
| <ListItem> | |
| <ListItemText> | |
| <code> | |
| <pre> | |
| {`"$\{command\}": $\{prompt\}. Return the full source code of the game. | |
| TEMPLATE:`} | |
| </pre> | |
| </code> | |
| </ListItemText> | |
| </ListItem> | |
| </List> | |
| </Paper> | |
| </> | |
| ); | |
| } | |