File size: 1,172 Bytes
68cf43c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bf6568f
68cf43c
 
 
 
bf6568f
 
 
 
 
 
 
 
 
 
68cf43c
 
 
 
 
 
bf6568f
68cf43c
 
 
 
 
bf6568f
68cf43c
 
 
 
 
 
 
 
bf6568f
 
68cf43c
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { pick } from "./pick"
import { Agent, Scene } from "./types"

const actions = [
  "busy pedestrians",
  "busy traffic",
  "typical street life",
  "skyscrapper being constructed",
  "a building is on fire",
]

const positions = [
  "city center with skyscrappers",
  "city center with a hospital",
  "market area",
  "residential area with small houses",
  "residential area and houses with pools",
  "industrial area with a smoking factory",
  "beachfront area with villas",
  "theme park with one big rollercoaster"
]

const lights = [
  "during the day",
  // "during the night",
]

const actionnables = [
  "building",
  "road",
  "car",
  "tower",
  "tree",
  "river",
  "sea"
]

export const agent: Agent = {
  title: "City",
  type: "city",
  simulate: (): Scene => {
    const action = pick(actions)
    const position = pick(positions)
    const light = pick(lights)

    const prompt = [
      `static isometrical view of 3D rendered city`,
      action,
      position,
      light,
      `isometric`,
      `game`,
      `high res`,
    ].join(", ")

    return {
      action,
      position,
      light,
      actionnables,
      prompt
    }
  }
}