Create 10000 scenery object with descriptions

So, how do we generate 10000 scenery objects with description?

Example:
Broken Stone Archway
Forgotten Woods Shrine
Ancient Ruin Pillars

So, the scenery object will be a three word phrase,
the first word is called a prefix
the second word is called a descriptor
the third word is called a noun

By understanding the terms for these words, we will know how
to ask the bot to generate our list of 20 items

So, we need 25 prefix x 20 descriptor x 20 noun = 10000 scenery objects

  1. Create a hiddenroom that players cant access,
    in it, create an object called "randomsceneryobject"
  2. Create a function named generatescenery
  3. At game object, switch to scripts tab and call function "generatescenery" at column "script when entering a room:"

Go back to "generatescenery" function and type the following code

if (game.pov.parent.visited=false) {
  CloneObjectAndMove (randomsceneryobject, game.pov.parent)
}

Create a room1 at south of room, and link them together,
playtest the game, you can see that both rooms have randomsceneryobject,
but the important thing is even if you visited the same room multiple times,
there is still only one randomscenery object


Now we will upgrade the generatescenery function and give them random names

if (game.pov.parent.visited=false) {
  randomsceneryobject.alias1 = PickOneString ("Ancient; Broken; Crumbling; Weathered; Forgotten; Mossy; Ruined; Haunted; Deserted; Abandoned; Sacred; Hidden; Enchanted; Silent; Worn; Shattered; Overgrown; Mystic; Dusty; Sunken; Frozen; Burnt; Cracked; Withered; Rusted")
  randomsceneryobject.alias2 = PickOneString ("Stone; Iron; Wooden; Marble; Shadowed; Golden; Silver; Ashen; Thorny; Hollow; Oak; Ivy-Covered; Bone-Laden; Muddy; Crystal; Thorn-Ridden; Leafy; Waterlogged; Forgotten; Misty")
  randomsceneryobject.alias3 = PickOneString ("Bridge; Shrine; Well; Archway; Altar; Pillar; Path; Gate; Wall; Tree; Garden; Tower; Market; Forge; Throne; Statue; Cave; Fountain; Grave; Stairway")
  randomsceneryobject.alias = randomsceneryobject.alias1+" "+randomsceneryobject.alias2+ " "+randomsceneryobject.alias3
  CloneObjectAndMove (randomsceneryobject, game.pov.parent)
}

Playtest the game, now we have random scenery object generator,
but wait... that's not it, the hardest part is actually the description,
it took me very long to figure it out, if you are interested in the extra challenge, here you go


Upgrade the generatescenery function again, giving them descriptions that makes sense

if (game.pov.parent.visited=false) {
  randomsceneryobject.alias1 = PickOneString ("Ancient; Broken; Crumbling; Weathered; Forgotten; Mossy; Ruined; Haunted; Deserted; Abandoned; Sacred; Hidden; Enchanted; Silent; Worn; Shattered; Overgrown; Mystic; Dusty; Sunken; Frozen; Burnt; Cracked; Withered; Rusted")
  rng = GetRandomInt(1,20)
  if (rng = 1) {
    randomsceneryobject.alias2 = "Stone"
    randomsceneryobject.look2 = "Rough and weathered, the stone shows signs of age, etched with small cracks and covered in faint lichen."
  }
  if (rng = 2) {
    randomsceneryobject.alias2 = "Iron"
    randomsceneryobject.look2 = "Dark and rust-specked, the iron is cold to the touch, its surface marked by years of exposure to wind and rain."
  }
  if (rng = 3) {
    randomsceneryobject.alias2 = "Wooden"
    randomsceneryobject.look2 = "Rough-hewn and splintered, the wood has an earthy scent, carrying the stories of trees long gone."
  }
  if (rng = 4) {
    randomsceneryobject.alias2 = "Marble"
    randomsceneryobject.look2 = "Smooth and cool, the marble is faintly veined, with a pale color that seems to glow softly in the dim light."
  }
  if (rng = 5) {
    randomsceneryobject.alias2 = "Shadowed"
    randomsceneryobject.look2 = "Cloaked in soft darkness, the area is touched by fleeting shadows that dance with the wind."
  }
  if (rng = 6) {
    randomsceneryobject.alias2 = "Golden"
    randomsceneryobject.look2 = "Gleaming faintly even in low light, the golden surface is well-polished and hints at former wealth and glory."
  }
  if (rng = 7) {
    randomsceneryobject.alias2 = "Silver"
    randomsceneryobject.look2 = "Smooth and gleaming, the silver has an otherworldly luster, reflecting light in soft, shimmering hues."
  }
  if (rng = 8) {
    randomsceneryobject.alias2 = "Ashen"
    randomsceneryobject.look2 = "Coated in a fine layer of gray ash, the surface smells faintly of burnt wood, carrying a memory of fire."
  }
  if (rng = 9) {
    randomsceneryobject.alias2 = "Thorny"
    randomsceneryobject.look2 = "Sharp and unyielding, the thorns bristle outward, warning off anyone who dares come too close."
  }
  if (rng = 10) {
    randomsceneryobject.alias2 = "Hollow"
    randomsceneryobject.look2 = "With an empty echo, the hollow space stretches ahead, its walls cold and damp."
  }
  if (rng = 11) {
    randomsceneryobject.alias2 = "Oak"
    randomsceneryobject.look2 = "Strong and firm, the oak wood is dark and rich, with a surface polished smooth by many hands over time."
  }
  if (rng = 12) {
    randomsceneryobject.alias2 = "Ivy-Covered"
    randomsceneryobject.look2 = "Twisting green vines crawl up the surface, their leaves adding a lush but unruly touch."
  }
  if (rng = 13) {
    randomsceneryobject.alias2 = "Bone-Laden"
    randomsceneryobject.look2 = "Strewn with scattered bones, the area feels eerie and silent, as if even animals avoid it."
  }
  if (rng = 14) {
    randomsceneryobject.alias2 = "Muddy"
    randomsceneryobject.look2 = "Wet and sticky, the mud clings to boots, leaving deep imprints that seem to absorb any sound."
  }
  if (rng = 15) {
    randomsceneryobject.alias2 = "Crystal"
    randomsceneryobject.look2 = "Clear and flawless, the crystal catches light in a subtle rainbow shimmer, mesmerizing to the eye."
  }
  if (rng = 16) {
    randomsceneryobject.alias2 = "Thorn-Ridden"
    randomsceneryobject.look2 = "Thickly packed with sharp thorns, the area seems almost impassable without risking scratches and cuts."
  }
  if (rng = 17) {
    randomsceneryobject.alias2 = "Leafy"
    randomsceneryobject.look2 = "Covered in dense foliage, the leaves form a thick canopy that filters sunlight into soft green hues."
  }
  if (rng = 18) {
    randomsceneryobject.alias2 = "Waterlogged"
    randomsceneryobject.look2 = "Damp and spongy, the ground squelches with each step, pools of water gathering in low spots."
  }
  if (rng = 19) {
    randomsceneryobject.alias2 = "Forgotten"
    randomsceneryobject.look2 = "Dust-covered and untouched, this place has an air of neglect, as though it hasn’t seen life in years."
  }
  if (rng = 20) {
    randomsceneryobject.alias2 = "Misty"
    randomsceneryobject.look2 = "A thin veil of mist drifts through, blurring edges and casting everything in a cool, ghostly light."
  }
  rng = GetRandomInt(1,20)
  if (rng = 1) {
    randomsceneryobject.alias3 = "Bridge"
    randomsceneryobject.look3 = "A simple crossing over a narrow stream, its wooden boards creak underfoot, softened by years of use."
  }
  if (rng = 2) {
    randomsceneryobject.alias3 = "Shrine"
    randomsceneryobject.look3 = "An old stone alcove nestled beneath trees, scattered with candles, tokens, and signs of recent offerings."
  }
  if (rng = 3) {
    randomsceneryobject.alias3 = "Well"
    randomsceneryobject.look3 = "A small stone circle with a wooden roof, the well’s depths disappear into shadow, its water rumored to be cool and pure."
  }
  if (rng = 4) {
    randomsceneryobject.alias3 = "Archway"
    randomsceneryobject.look3 = "An arched stone structure draped in vines, it marks the entrance to something older, perhaps even sacred."
  }
  if (rng = 5) {
    randomsceneryobject.alias3 = "Altar"
    randomsceneryobject.look3 = "A plain stone slab, marked by candle wax and faint etchings, it holds an aura of reverence."
  }
  if (rng = 6) {
    randomsceneryobject.alias3 = "Pillar"
    randomsceneryobject.look3 = "Tall and solemn, the pillar stands solitary in a clearing, its surface engraved with worn symbols."
  }
  if (rng = 7) {
    randomsceneryobject.alias3 = "Path"
    randomsceneryobject.look3 = "A narrow, winding trail marked by soft earth and crushed leaves, hinting at footsteps long past."
  }
  if (rng = 8) {
    randomsceneryobject.alias3 = "Gate"
    randomsceneryobject.look3 = "A tall iron structure flanked by stone posts, its hinges groan when pushed, giving a sense of something sealed away."
  }
  if (rng = 9) {
    randomsceneryobject.alias3 = "Wall"
    randomsceneryobject.look3 = "Thick and imposing, the wall’s stones fit snugly, though small plants have found their way through its cracks."
  }
  if (rng = 10) {
    randomsceneryobject.alias3 = "Tree"
    randomsceneryobject.look3 = "Towering with gnarled branches and a thick trunk, the tree seems ancient, a silent guardian over the land."
  }
  if (rng = 11) {
    randomsceneryobject.alias3 = "Garden"
    randomsceneryobject.look3 = "Overgrown yet still lovely, the garden is filled with fragrant herbs and wildflowers, a blend of order and chaos."
  }
  if (rng = 12) {
    randomsceneryobject.alias3 = "Tower"
    randomsceneryobject.look3 = "Rising above the landscape, the tower’s windows are dark, and its stones cold and worn by wind."
  }
  if (rng = 13) {
    randomsceneryobject.alias3 = "Market"
    randomsceneryobject.look3 = "A place of faded stalls, empty crates, and faint scents of spices, it once bustled with life and trade."
  }
  if (rng = 14) {
    randomsceneryobject.alias3 = "Forge"
    randomsceneryobject.look3 = "A quiet, empty smithy with an anvil and tools left as if the blacksmith simply walked away."
  }
  if (rng = 15) {
    randomsceneryobject.alias3 = "Throne"
    randomsceneryobject.look3 = "Carved from stone and partially covered in ivy, the throne is regal yet forgotten, as though waiting for a ruler."
  }
  if (rng = 16) {
    randomsceneryobject.alias3 = "Statue"
    randomsceneryobject.look3 = "A finely carved stone figure, its details softened by weather, standing as a tribute to a long-lost hero."
  }
  if (rng = 17) {
    randomsceneryobject.alias3 = "Cave"
    randomsceneryobject.look3 = "A dark, yawning entrance that leads into shadowy depths, carrying the scent of damp earth and stone."
  }
  if (rng = 18) {
    randomsceneryobject.alias3 = "Fountain"
    randomsceneryobject.look3 = "A stone basin filled with clear water, the fountain is decorated with simple carvings and emits a soft trickle."
  }
  if (rng = 19) {
    randomsceneryobject.alias3 = "Grave"
    randomsceneryobject.look3 = "A small, unassuming plot marked by a simple headstone, it rests beneath a tree, quietly kept."
  }
  if (rng = 20) {
    randomsceneryobject.alias3 = "Stairway"
    randomsceneryobject.look3 = "Worn and uneven, the stone steps wind upward, disappearing into shadows as they lead to an unknown destination."
  }
  randomsceneryobject.alias = randomsceneryobject.alias1+" "+randomsceneryobject.alias2+ " "+randomsceneryobject.alias3
  randomsceneryobject.look = randomsceneryobject.look2+ " "+randomsceneryobject.look3
  CloneObjectAndMove (randomsceneryobject, game.pov.parent)
}

Congratulations, you have completed the tutorial or have copied and pasted the code
Remember, you can always "donate" your scenery object generator by posting the code in the forum to share with others,
state your theme as well and whether it have descriptions or not,
for example,
mine is medieval rpg game x 10000 scenery objects with description


👍👍

This looks cool. I'm bookmarking this to use if I ever actually make a game.


Very detailed from the looks of it...
but will the description change every time you look at the rock? or will it change for each playthrough?
IE: first time will it be an old weathered rock... next a mossy cracked rock... then a lichen covered rock?


Thanks KV
and nice to see darklizerd still alive

The description does not change everytime you look at the scenery object,
its description is attached to the cloned object itself,
even on next playthrough, the description would still be the same

The description I meant is when the players "look at" scenery objects,
if you are talking about the random scenery object names, then yes,
the names will be different every game playthrough

I am not sure if there is a definition for scenery objects,
but my "scenery objects" is simply to beautify the environment,
so that when player moves from room1 to room10,
he would have a more memorable pathway that he can recognize,
also it would further enhances the immersion of the game itself through simply display relevant theme scenery

If you do not want the scenery object to change every playthrough,
you simply need to create a scenery object and write the description itself,
no need for this complicated fuss that I coded,
but if you have a fat game with 200 rooms and gameplay code already done,
and you just want a quick help in decorating the empty environment,
then this scenery object generator could be your friend,
of course, you might want to change the object names and description into your game's theme


This topic is now closed. Topics are closed after 14 days of inactivity.

Support

Forums