@origingame/create-game 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -35,8 +35,11 @@ catalogue (`packages/knowledge/looks/catalogue.json`, 37 styles):
35
35
  - `--premise "<one line>"` picks the style whose premise fits best (a word
36
36
  of the premise in a style's genre counts 3, in its mood 2, in its era,
37
37
  audience, name or descriptor 1; a tie goes to a style the engine draws
38
- whole, then to catalogue order). On a terminal, with neither flag, create
39
- asks for the premise (`--no-prompt` does not);
38
+ whole, then to catalogue order), among the styles whose `look.profiles`
39
+ include the game's profile: a 3D game never gets a flipbook-only style,
40
+ a 2D one never a style of lit meshes (`--look` names any). On a
41
+ terminal, with neither flag, create asks for the premise (`--no-prompt`
42
+ does not);
40
43
  - otherwise the template's own look stays: the plain template extends
41
44
  `faceted-low-poly`, the idle archetype carries its UI style and render
42
45
  settings, and the other archetypes get a look that extends nothing (their
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Coin Duel"
5
5
  id "arena"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Spark Orb"
5
5
  id "idle"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Tile Swap"
5
5
  id "match3"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Three-Lane Beat"
5
5
  id "rhythm"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Lamp Dive"
5
5
  id "roguelike"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Runner"
5
5
  id "runner"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Ember Vale"
5
5
  id "third-person"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "3d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Tomb Room"
5
5
  id "topdown"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -3,7 +3,7 @@ version 1
3
3
  ---
4
4
  name "Path Guard"
5
5
  id "tower-defense"
6
- engine "0.4.0"
6
+ engine "0.5.0"
7
7
  entry "src/main.ts"
8
8
  profile "2d"
9
9
  tick 60
package/bin/create.ts CHANGED
@@ -101,7 +101,8 @@ export interface Style {
101
101
  readonly category: string;
102
102
  readonly descriptor: string;
103
103
  readonly premise: Readonly<Record<string, string>>;
104
- readonly look: { readonly presetReady: boolean; readonly support: string; readonly missing: readonly string[] };
104
+ /** `profiles`: the project profiles the look draws for, `2d`, `3d` or both (a flipbook or hand-pixelled style is 2D only, a style of meshes and lit materials 3D only). */
105
+ readonly look: { readonly presetReady: boolean; readonly support: string; readonly profiles: readonly Profile[]; readonly missing: readonly string[] };
105
106
  readonly ui: string;
106
107
  }
107
108
 
@@ -135,9 +136,12 @@ export function words(text: string): string[] {
135
136
  * the premise found in a style's genre counts 3, in its mood 2, in its era
136
137
  * or audience 1, in its name or descriptor 1. Ties go to the style whose
137
138
  * look the engine draws whole (support `full`), then to catalogue order.
138
- * Null when no word matches any style. Only styles with a preset are chosen.
139
+ * Null when no word matches any style. Only styles with a preset that draw
140
+ * for the project's profile (`look.profiles`, 3D unless `2d`) are chosen: a
141
+ * 3D party premise never lands on a flipbook style, a 2D platformer never on
142
+ * a style of lit meshes. `--look` is not weighed here and may pick any.
139
143
  */
140
- export function pickStyle(premise: string, styles: readonly Style[]): { style: Style; score: number } | null {
144
+ export function pickStyle(premise: string, styles: readonly Style[], profile: Profile = "3d"): { style: Style; score: number } | null {
141
145
  const asked = new Set(words(premise));
142
146
  if (asked.size === 0) return null;
143
147
  const weights: [(s: Style) => string, number][] = [
@@ -149,7 +153,7 @@ export function pickStyle(premise: string, styles: readonly Style[]): { style: S
149
153
  ];
150
154
  let best: { style: Style; score: number; full: boolean } | null = null;
151
155
  for (const style of styles) {
152
- if (!style.look.presetReady) continue;
156
+ if (!style.look.presetReady || !style.look.profiles.includes(profile)) continue;
153
157
  let score = 0;
154
158
  for (const [field, weight] of weights) {
155
159
  const have = new Set(words(field(style)));
@@ -368,13 +372,13 @@ export function create(options: CreateOptions): Created {
368
372
  if (options.profile !== undefined && options.archetype !== undefined) {
369
373
  throw new Error(`--profile and --archetype together: an archetype has its own profile (${options.archetype}); drop one`);
370
374
  }
371
- const choice = chooseStyle(options);
372
375
  const asked = options.profile ?? (options.premise !== undefined ? premiseProfile(options.premise) : null);
373
376
  const template = options.template ?? templateDir(options.archetype, asked ?? "3d");
374
377
  const profile: CreatedProfile = {
375
378
  value: profileOf(template),
376
379
  chosen: options.archetype !== undefined ? "archetype" : options.profile !== undefined ? "flag" : asked !== null ? "premise" : "template",
377
380
  };
381
+ const choice = chooseStyle(options, profile.value);
378
382
  const list = files(template);
379
383
  const written: string[] = [];
380
384
  mkdirSync(dir, { recursive: true });
@@ -402,8 +406,8 @@ export function create(options: CreateOptions): Created {
402
406
  * chose, and the entry's GameDesc.look pointed at it (inserted after
403
407
  * `og.game({` when the template names none).
404
408
  */
405
- /** The preset `--look` names or the premise fits; throws for a slug the catalogue has no preset for. */
406
- function chooseStyle(options: CreateOptions): { styles: Style[]; style: Style | undefined; chosen: CreatedLook["chosen"]; notes: string[] } {
409
+ /** The preset `--look` names or the premise fits for the project's profile; throws for a slug the catalogue has no preset for. */
410
+ function chooseStyle(options: CreateOptions, profile: Profile): { styles: Style[]; style: Style | undefined; chosen: CreatedLook["chosen"]; notes: string[] } {
407
411
  const styles = readCatalogue(options.catalogue);
408
412
  if (options.look !== undefined) {
409
413
  const style = styles.find((s) => s.slug === options.look);
@@ -413,9 +417,9 @@ function chooseStyle(options: CreateOptions): { styles: Style[]; style: Style |
413
417
  return { styles, style, chosen: "flag", notes: [] };
414
418
  }
415
419
  if (options.premise !== undefined && options.premise.trim() !== "") {
416
- const pick = pickStyle(options.premise, styles);
420
+ const pick = pickStyle(options.premise, styles, profile);
417
421
  if (pick) return { styles, style: pick.style, chosen: "premise", notes: [] };
418
- return { styles, style: undefined, chosen: "none", notes: [`no catalogue style matched the premise "${options.premise}"; the look keeps the template's (og-taste §1 chooses one by genre, mood, era and audience: pass --look <slug>)`] };
422
+ return { styles, style: undefined, chosen: "none", notes: [`no catalogue style matched the premise "${options.premise}" for a ${profile.toUpperCase()} game; the look keeps the template's (og-taste §1 chooses one by genre, mood, era and audience: pass --look <slug>)`] };
419
423
  }
420
424
  return { styles, style: undefined, chosen: "none", notes: [] };
421
425
  }
@@ -485,8 +489,8 @@ Scaffolds an Origin Engine game into dir (default: ./origin-game).
485
489
  --id the game's id, lowercase-hyphen (default: from the name)
486
490
  --profile 2d writes the 2D starter (a platformer: sprites, tilemap, 2D physics), 3d the 3D template (default: 2d for a premise that says 2D, platformer, side-scroller, metroidvania or pixel art without saying 3D; else 3d)
487
491
  --archetype start from a complete archetype game (runner, match3, topdown, tower-defense, roguelike, idle, rhythm, third-person, arena) instead of the template; it has its own profile
488
- --premise the game in one line (genre, mood, setting, audience): its look extends the style catalogue's best match (asked for on a terminal when neither this nor --look is given)
489
- --look the style catalogue slug the look extends (og-taste §12), such as anime-cel-3d or 16bit-pixel
492
+ --premise the game in one line (genre, mood, setting, audience): its look extends the style catalogue's best match among the styles drawn for the game's profile (asked for on a terminal when neither this nor --look is given)
493
+ --look the style catalogue slug the look extends (og-taste §12), such as anime-cel-3d or 16bit-pixel; it wins over the premise and the profile
490
494
  --no-prompt never ask for the premise
491
495
  --force write into a directory that is not empty`;
492
496
 
@@ -37,6 +37,10 @@
37
37
  "preset": "templates/looks/expressionist-painting.ogt",
38
38
  "presetReady": true,
39
39
  "support": "content",
40
+ "profiles": [
41
+ "2d",
42
+ "3d"
43
+ ],
40
44
  "primitives": [
41
45
  "Stylise.paintRadius",
42
46
  "Stylise.paintCanvas",
@@ -88,6 +92,10 @@
88
92
  "preset": "templates/looks/bold-comic-illustration.ogt",
89
93
  "presetReady": true,
90
94
  "support": "full",
95
+ "profiles": [
96
+ "2d",
97
+ "3d"
98
+ ],
91
99
  "primitives": [
92
100
  "StandardMaterialDesc.toon",
93
101
  "PostEffects.outline",
@@ -137,6 +145,10 @@
137
145
  "preset": "templates/looks/watercolor-wash.ogt",
138
146
  "presetReady": true,
139
147
  "support": "full",
148
+ "profiles": [
149
+ "2d",
150
+ "3d"
151
+ ],
140
152
  "primitives": [
141
153
  "Stylise.paintEdgeDarkening",
142
154
  "Stylise.paintBleed",
@@ -186,6 +198,9 @@
186
198
  "preset": "templates/looks/pixel-3d-hybrid.ogt",
187
199
  "presetReady": true,
188
200
  "support": "full",
201
+ "profiles": [
202
+ "3d"
203
+ ],
189
204
  "primitives": [
190
205
  "PostEffects.depthOfField",
191
206
  "PostEffects.ao",
@@ -237,6 +252,9 @@
237
252
  "preset": "templates/looks/faceted-low-poly.ogt",
238
253
  "presetReady": true,
239
254
  "support": "full",
255
+ "profiles": [
256
+ "3d"
257
+ ],
240
258
  "primitives": [
241
259
  "StandardMaterialDesc.flatShading",
242
260
  "Fog",
@@ -276,8 +294,8 @@
276
294
  "Animation holds poses for 2 or more ticks (stepped, not interpolated)."
277
295
  ],
278
296
  "premise": {
279
- "genre": "adventure, platformer, comedy",
280
- "mood": "warm, odd, handmade",
297
+ "genre": "adventure, platformer, comedy, party games",
298
+ "mood": "warm, odd, playful, handmade",
281
299
  "era": "stop-motion film",
282
300
  "audience": "all ages, art-house"
283
301
  },
@@ -285,6 +303,9 @@
285
303
  "preset": "templates/looks/sculpted-clay.ogt",
286
304
  "presetReady": true,
287
305
  "support": "full",
306
+ "profiles": [
307
+ "3d"
308
+ ],
288
309
  "primitives": [
289
310
  "StandardMaterialDesc.roughness",
290
311
  "StandardMaterialDesc.sheen",
@@ -336,6 +357,9 @@
336
357
  "preset": "templates/looks/8bit-pixel.ogt",
337
358
  "presetReady": true,
338
359
  "support": "full",
360
+ "profiles": [
361
+ "2d"
362
+ ],
339
363
  "primitives": [
340
364
  "Stylise.pixelHeight",
341
365
  "Stylise.palette",
@@ -386,6 +410,9 @@
386
410
  "preset": "templates/looks/voxel-worlds.ogt",
387
411
  "presetReady": true,
388
412
  "support": "full",
413
+ "profiles": [
414
+ "3d"
415
+ ],
389
416
  "primitives": [
390
417
  "StandardMaterialDesc.flatShading",
391
418
  "PostEffects.ao",
@@ -434,6 +461,9 @@
434
461
  "preset": "templates/looks/illuminated-manuscript.ogt",
435
462
  "presetReady": true,
436
463
  "support": "content",
464
+ "profiles": [
465
+ "2d"
466
+ ],
437
467
  "primitives": [
438
468
  "Stylise.paintCanvas",
439
469
  "Stylise.ink",
@@ -485,6 +515,9 @@
485
515
  "preset": "templates/looks/rubber-hose-animation.ogt",
486
516
  "presetReady": true,
487
517
  "support": "content",
518
+ "profiles": [
519
+ "2d"
520
+ ],
488
521
  "primitives": [
489
522
  "PostEffects.filmGrain",
490
523
  "PostEffects.vignette",
@@ -536,6 +569,9 @@
536
569
  "preset": "templates/looks/pencil-hatching.ogt",
537
570
  "presetReady": true,
538
571
  "support": "full",
572
+ "profiles": [
573
+ "3d"
574
+ ],
539
575
  "primitives": [
540
576
  "Stylise.hatching",
541
577
  "Stylise.hatchingLevels",
@@ -585,6 +621,9 @@
585
621
  "preset": "templates/looks/gothic-contour.ogt",
586
622
  "presetReady": true,
587
623
  "support": "content",
624
+ "profiles": [
625
+ "2d"
626
+ ],
588
627
  "primitives": [
589
628
  "Fog",
590
629
  "PostEffects.glow",
@@ -637,6 +676,10 @@
637
676
  "preset": "templates/looks/lush-painted-worlds.ogt",
638
677
  "presetReady": true,
639
678
  "support": "content",
679
+ "profiles": [
680
+ "2d",
681
+ "3d"
682
+ ],
640
683
  "primitives": [
641
684
  "Stylise.paintRadius",
642
685
  "Stylise.paintCanvas",
@@ -688,6 +731,10 @@
688
731
  "preset": "templates/looks/decorative-storybook.ogt",
689
732
  "presetReady": true,
690
733
  "support": "content",
734
+ "profiles": [
735
+ "2d",
736
+ "3d"
737
+ ],
691
738
  "primitives": [
692
739
  "Stylise.ink",
693
740
  "Stylise.paintCanvas",
@@ -738,6 +785,9 @@
738
785
  "preset": "templates/looks/classical-painting-collage.ogt",
739
786
  "presetReady": true,
740
787
  "support": "content",
788
+ "profiles": [
789
+ "2d"
790
+ ],
741
791
  "primitives": [
742
792
  "sprites with transforms",
743
793
  "PostEffects.vignette",
@@ -788,6 +838,9 @@
788
838
  "preset": "templates/looks/detailed-doodle.ogt",
789
839
  "presetReady": true,
790
840
  "support": "content",
841
+ "profiles": [
842
+ "2d"
843
+ ],
791
844
  "primitives": [
792
845
  "Stylise.ink",
793
846
  "unlit materials",
@@ -838,6 +891,10 @@
838
891
  "preset": "templates/looks/black-figure-pottery.ogt",
839
892
  "presetReady": true,
840
893
  "support": "content",
894
+ "profiles": [
895
+ "2d",
896
+ "3d"
897
+ ],
841
898
  "primitives": [
842
899
  "Stylise.palette",
843
900
  "Stylise.posterize",
@@ -888,6 +945,9 @@
888
945
  "preset": "templates/looks/heavy-ink-shadows.ogt",
889
946
  "presetReady": true,
890
947
  "support": "full",
948
+ "profiles": [
949
+ "3d"
950
+ ],
891
951
  "primitives": [
892
952
  "Stylise.posterize",
893
953
  "Stylise.hatching",
@@ -937,6 +997,9 @@
937
997
  "preset": "templates/looks/monochrome-pixel.ogt",
938
998
  "presetReady": true,
939
999
  "support": "full",
1000
+ "profiles": [
1001
+ "2d"
1002
+ ],
940
1003
  "primitives": [
941
1004
  "Stylise.pixelHeight",
942
1005
  "Stylise.palette",
@@ -986,6 +1049,9 @@
986
1049
  "preset": "templates/looks/16bit-pixel.ogt",
987
1050
  "presetReady": true,
988
1051
  "support": "full",
1052
+ "profiles": [
1053
+ "2d"
1054
+ ],
989
1055
  "primitives": [
990
1056
  "Stylise.pixelHeight",
991
1057
  "Stylise.pixelSnap",
@@ -1035,6 +1101,9 @@
1035
1101
  "preset": "templates/looks/detailed-pixel.ogt",
1036
1102
  "presetReady": true,
1037
1103
  "support": "full",
1104
+ "profiles": [
1105
+ "2d"
1106
+ ],
1038
1107
  "primitives": [
1039
1108
  "Stylise.pixelHeight",
1040
1109
  "Stylise.pixelSnap",
@@ -1085,6 +1154,9 @@
1085
1154
  "preset": "templates/looks/luminous-pixel.ogt",
1086
1155
  "presetReady": true,
1087
1156
  "support": "full",
1157
+ "profiles": [
1158
+ "2d"
1159
+ ],
1088
1160
  "primitives": [
1089
1161
  "Stylise.pixelHeight",
1090
1162
  "Lighting2D",
@@ -1135,6 +1207,9 @@
1135
1207
  "preset": "templates/looks/topdown-tile-pixel.ogt",
1136
1208
  "presetReady": true,
1137
1209
  "support": "full",
1210
+ "profiles": [
1211
+ "2d"
1212
+ ],
1138
1213
  "primitives": [
1139
1214
  "tilemap layers",
1140
1215
  "Sprite.sortY",
@@ -1184,6 +1259,9 @@
1184
1259
  "preset": "templates/looks/low-resolution-3d.ogt",
1185
1260
  "presetReady": true,
1186
1261
  "support": "full",
1262
+ "profiles": [
1263
+ "3d"
1264
+ ],
1187
1265
  "primitives": [
1188
1266
  "Stylise.pixelHeight",
1189
1267
  "Stylise.vertexSnap",
@@ -1235,6 +1313,9 @@
1235
1313
  "preset": "templates/looks/coarse-pixel.ogt",
1236
1314
  "presetReady": true,
1237
1315
  "support": "full",
1316
+ "profiles": [
1317
+ "2d"
1318
+ ],
1238
1319
  "primitives": [
1239
1320
  "Stylise.pixelHeight",
1240
1321
  "Stylise.palette",
@@ -1283,6 +1364,9 @@
1283
1364
  "preset": "templates/looks/anime-cel-3d.ogt",
1284
1365
  "presetReady": true,
1285
1366
  "support": "full",
1367
+ "profiles": [
1368
+ "3d"
1369
+ ],
1286
1370
  "primitives": [
1287
1371
  "StandardMaterialDesc.toon",
1288
1372
  "StandardMaterialDesc.gradientMap",
@@ -1334,6 +1418,9 @@
1334
1418
  "preset": "templates/looks/inked-comic-3d.ogt",
1335
1419
  "presetReady": true,
1336
1420
  "support": "full",
1421
+ "profiles": [
1422
+ "3d"
1423
+ ],
1337
1424
  "primitives": [
1338
1425
  "PostEffects.outline",
1339
1426
  "StandardMaterialDesc.toon",
@@ -1385,6 +1472,9 @@
1385
1472
  "preset": "templates/looks/paper-craft.ogt",
1386
1473
  "presetReady": true,
1387
1474
  "support": "full",
1475
+ "profiles": [
1476
+ "3d"
1477
+ ],
1388
1478
  "primitives": [
1389
1479
  "StandardMaterialDesc.flatShading",
1390
1480
  "MaterialStyle.flatShading",
@@ -1435,6 +1525,9 @@
1435
1525
  "preset": "templates/looks/miniature-diorama.ogt",
1436
1526
  "presetReady": true,
1437
1527
  "support": "full",
1528
+ "profiles": [
1529
+ "3d"
1530
+ ],
1438
1531
  "primitives": [
1439
1532
  "PostEffects.depthOfField",
1440
1533
  "PostEffects.ao",
@@ -1485,6 +1578,9 @@
1485
1578
  "preset": "templates/looks/painterly-3d.ogt",
1486
1579
  "presetReady": true,
1487
1580
  "support": "full",
1581
+ "profiles": [
1582
+ "3d"
1583
+ ],
1488
1584
  "primitives": [
1489
1585
  "Stylise.paintRadius",
1490
1586
  "Stylise.paintAnisotropy",
@@ -1535,6 +1631,9 @@
1535
1631
  "preset": "templates/looks/cinematic-realism.ogt",
1536
1632
  "presetReady": true,
1537
1633
  "support": "full",
1634
+ "profiles": [
1635
+ "3d"
1636
+ ],
1538
1637
  "primitives": [
1539
1638
  "StandardMaterial (PBR)",
1540
1639
  "Environment",
@@ -1587,6 +1686,9 @@
1587
1686
  "preset": "templates/looks/muted-cinematic-3d.ogt",
1588
1687
  "presetReady": true,
1589
1688
  "support": "full",
1689
+ "profiles": [
1690
+ "3d"
1691
+ ],
1590
1692
  "primitives": [
1591
1693
  "PostEffects.godRays",
1592
1694
  "Fog",
@@ -1638,6 +1740,10 @@
1638
1740
  "preset": "templates/looks/layered-silhouette.ogt",
1639
1741
  "presetReady": true,
1640
1742
  "support": "full",
1743
+ "profiles": [
1744
+ "2d",
1745
+ "3d"
1746
+ ],
1641
1747
  "primitives": [
1642
1748
  "Stylise.depthBands",
1643
1749
  "Fog",
@@ -1687,6 +1793,10 @@
1687
1793
  "preset": "templates/looks/minimal-geometric.ogt",
1688
1794
  "presetReady": true,
1689
1795
  "support": "full",
1796
+ "profiles": [
1797
+ "2d",
1798
+ "3d"
1799
+ ],
1690
1800
  "primitives": [
1691
1801
  "unlit materials",
1692
1802
  "boxGeometry/sphereGeometry/planeGeometry",
@@ -1736,6 +1846,10 @@
1736
1846
  "preset": "templates/looks/neon-vector.ogt",
1737
1847
  "presetReady": true,
1738
1848
  "support": "full",
1849
+ "profiles": [
1850
+ "2d",
1851
+ "3d"
1852
+ ],
1739
1853
  "primitives": [
1740
1854
  "RenderSettings.bloom",
1741
1855
  "emissive unlit materials",
@@ -1787,6 +1901,9 @@
1787
1901
  "preset": "templates/looks/monochrome-dither-3d.ogt",
1788
1902
  "presetReady": true,
1789
1903
  "support": "full",
1904
+ "profiles": [
1905
+ "3d"
1906
+ ],
1790
1907
  "primitives": [
1791
1908
  "Stylise.posterize",
1792
1909
  "Stylise.palette",
@@ -1836,6 +1953,10 @@
1836
1953
  "preset": "templates/looks/luminous-layered-painting.ogt",
1837
1954
  "presetReady": true,
1838
1955
  "support": "full",
1956
+ "profiles": [
1957
+ "2d",
1958
+ "3d"
1959
+ ],
1839
1960
  "primitives": [
1840
1961
  "sprite layers",
1841
1962
  "Fog",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origingame/create-game",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Scaffolds an Origin Engine game from the project template: npm create @origingame/game.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -7,7 +7,7 @@ version 1
7
7
  name "Origin Game"
8
8
  id "origin-game"
9
9
  # The engine this game is written against (design §9: upgrades are explicit).
10
- engine "0.4.0"
10
+ engine "0.5.0"
11
11
  entry "src/main.ts"
12
12
  # 2d (orthographic camera, sprites, 2D physics) or 3d.
13
13
  profile "3d"
@@ -13,6 +13,6 @@
13
13
  "test": "og test ."
14
14
  },
15
15
  "dependencies": {
16
- "@origingame/engine": "0.4.0"
16
+ "@origingame/engine": "0.5.0"
17
17
  }
18
18
  }
@@ -7,7 +7,7 @@ version 1
7
7
  name "Origin Game 2D"
8
8
  id "origin-game-2d"
9
9
  # The engine this game is written against (design §9: upgrades are explicit).
10
- engine "0.4.0"
10
+ engine "0.5.0"
11
11
  entry "src/main.ts"
12
12
  # 2d: an orthographic camera, sprites, flipbooks, tilemaps and 2D physics.
13
13
  profile "2d"