This is excellent fun. I really like the import/export. Sometimes it’s easier to edit the exported json then re-import it.
So, I had hopes on the HTML export. But it didn’t work properly. Here’s my game,
{
"title": "Attack of the Moose",
"author": "Kipper",
"nodesData": [
{
"id": 1,
"title": "Start",
"text": "Ranger Joe, a humorous and resourceful park ranger, has a rogue moose on his hands. The sprawling National Park he protects is in chaos, and it's up to him to restore peace. Will he outwit the clever moose or fall to distraction by other critters? The journey awaits.",
"prompt": "the moose is loose",
"position": {
"x": 2230,
"y": 26
},
"parentIds": [
6,
7,
11,
13
],
"childrenIds": [
2,
3
],
"choicesText": [
{
"id": 2,
"choiceText": "Go looking"
},
{
"id": 2,
"choiceText": "Get help"
}
],
"imagePrompt": "moose excaping",
"imageURL": ""
},
{
"id": 2,
"title": "Trail",
"text": "Joe sets out on the trail, armed with his wits and a tranquilizer gun. He meets a crossroads: should he follow the moose's tracks or investigate a strange noise coming from the bushes?",
"prompt": "",
"position": {
"x": 2072.6666870117188,
"y": 177
},
"parentIds": [
1
],
"childrenIds": [
6,
7
],
"choicesText": [
{
"id": 6,
"choiceText": "Follow Tracks"
},
{
"id": 7,
"choiceText": "Investigate"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 3,
"title": "Experts",
"text": "Ranger Joe grabs his hat, and goes to find help. Time to call in the experts.",
"prompt": "",
"position": {
"x": 2450.6666259765625,
"y": 189.66668701171875
},
"parentIds": [
1,
8
],
"childrenIds": [
4,
5
],
"choicesText": [
{
"id": 4,
"choiceText": "Talk to Flint"
},
{
"id": 5,
"choiceText": "Talk to Sam"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 4,
"title": "Flint",
"text": "Joe finds Flint, an old, grizzled ranger known for his moose tracking skills. Flint's a grumpy old codger, but maybe you can persuade him.",
"prompt": "",
"position": {
"x": 2389.6666259765625,
"y": 348.66668701171875
},
"parentIds": [
3
],
"childrenIds": [
9,
5
],
"choicesText": [
{
"id": 9,
"choiceText": "Persuade Flint"
},
{
"id": 5,
"choiceText": "Try Sam"
}
],
"imagePrompt": "Grizzled old ranger\n",
"imageURL": ""
},
{
"id": 5,
"title": "Sam",
"text": "Joe approaches Sam, the local vet, known for her moose expertise. Sam says she'd love to help, but first she has to feed some puppies. And can she have $200. After all, she is a vet!",
"prompt": "",
"position": {
"x": 2530.6666259765625,
"y": 349.66668701171875
},
"parentIds": [
3,
4,
4
],
"childrenIds": [
8
],
"choicesText": [
{
"id": 8,
"choiceText": "No money"
}
],
"imagePrompt": "portrait of attractive female vet, good with animals",
"imageURL": ""
},
{
"id": 6,
"title": "Untitled",
"text": "Following the tracks, Joe stumbles upon a newly wrecked village. Unfortuately the now homeless villager aren't impressed. Angrily the blame Joe. They chop him into bits. Sorry, you lose.",
"prompt": "",
"position": {
"x": 2010.6666870117188,
"y": 338
},
"parentIds": [
2
],
"childrenIds": [
1
],
"choicesText": [
{
"id": 1,
"choiceText": "Start"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 7,
"title": "Untitled (2)",
"text": "Joe steps into the bushes and is eaten by a Lion. Too bad You've lost.",
"prompt": "",
"position": {
"x": 2152.6666870117188,
"y": 337
},
"parentIds": [
2
],
"childrenIds": [
1
],
"choicesText": [
{
"id": 1,
"choiceText": "Start"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 8,
"title": "Untitled (3)",
"text": "Unfortunately you don't have any money. Maybe later.",
"prompt": "",
"position": {
"x": 2590.6666259765625,
"y": 521.6666870117188
},
"parentIds": [
5
],
"childrenIds": [
3
],
"choicesText": [
{
"id": 3,
"choiceText": "Think again"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 9,
"title": "Untitled (4)",
"text": "After a lot of talk and several whiskeys, Flint agrees to help. But on one condition; he gets to wear the antlers.",
"prompt": "",
"position": {
"x": 2332.6666870117188,
"y": 511
},
"parentIds": [
4
],
"childrenIds": [
10,
11
],
"choicesText": [
{
"id": 10,
"choiceText": "Agree"
},
{
"id": 11,
"choiceText": "No deal"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 10,
"title": "Untitled (5)",
"text": "Joe and Flint set off into the forest. Flint find some tracks and you both follow deep into the undergrowth.",
"prompt": "",
"position": {
"x": 2270,
"y": 670
},
"parentIds": [
9
],
"childrenIds": [
12
],
"choicesText": [
{
"id": 12,
"choiceText": "Keep going"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 11,
"title": "Untitled (6)",
"text": "Flint shoots you with his moose rifle. Ostensibly for drinking his whiskey and being a timewaster. You're dead.",
"prompt": "",
"position": {
"x": 2412.6666870117188,
"y": 671
},
"parentIds": [
9
],
"childrenIds": [
1
],
"choicesText": [
{
"id": 1,
"choiceText": "Start"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 12,
"title": "Untitled (7)",
"text": "After what seems like hours, you realise it has been hours! Maybe Flint is lost? You argue with Flint. He's cantankerous but insists he knows what he's doing.",
"prompt": "",
"position": {
"x": 2210,
"y": 830
},
"parentIds": [
10
],
"childrenIds": [
13,
14
],
"choicesText": [
{
"id": 13,
"choiceText": "Take the lead"
},
{
"id": 14,
"choiceText": "Trust Flint"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 13,
"title": "Untitled (8)",
"text": "You tell Flint, you've had enough and he's following you from now on.\nUnforuntately, you round the next corner and fall off a cliff.\nYou're dead.",
"prompt": "",
"position": {
"x": 2150,
"y": 989
},
"parentIds": [
12
],
"childrenIds": [
1
],
"choicesText": [
{
"id": 1,
"choiceText": "Start"
}
],
"imagePrompt": "",
"imageURL": ""
},
{
"id": 14,
"title": "Untitled (9)",
"text": "Reluctantly, you trust Flint. He leads you further into the forest. But then, to your astonishment, you encounter a clearing in which the moose is quietly standing.\nWell done you've found the moose.",
"prompt": "",
"position": {
"x": 2290,
"y": 989
},
"parentIds": [
12
],
"childrenIds": [],
"choicesText": [],
"imagePrompt": "",
"imageURL": ""
}
],
"storyImages": [
{
"nodeId": 1,
"base64Data": "https://test-ai-writing.s3.ap-southeast-2.amazonaws.com/images/1708469432169_gzfuhr89.png"
},
{
"nodeId": 4,
"base64Data": "https://test-ai-writing.s3.ap-southeast-2.amazonaws.com/images/1708469820400_6pixv1yy.png"
},
{
"nodeId": 5,
"base64Data": "https://test-ai-writing.s3.ap-southeast-2.amazonaws.com/images/1708469946246_f66x6fbp.png"
}
],
"styleData": {
"titleFont": "Fredoka",
"titleFontSize": 22,
"titleFontColor": "#ffffff",
"textFont": "Fredoka",
"textFontSize": 17,
"textFontColor": "#ffffff",
"backgroundColor": "#333740",
"isFullWidth": false
}
}
It plays when imported, but after export some of the choices go to the wrong node.
Good stuff tho’.