-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdata.json
13361 lines (13361 loc) · 511 KB
/
data.json
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
[
{
"kind": "youtube#playlistItem",
"etag": "8DLGPotNW4XhOYgeh4Hbq8pUbFU",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLnJXUEo1ZlcxVUg4",
"snippet": {
"publishedAt": "2023-11-16T13:58:21Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Patrick Kemp - Design tooling at Spry Fox",
"description": "A walkthrough of how Spry Fox designs are implemented under the hood. We've developed a text-based config library that contains a number of procedural patterns so our small design team can multiply our content efforts and maintain our game systems. In our latest project, we've added a \"design dashboard\" layer which lets us peer into our own game data at a higher level. I'll talk through how it works, why we like it, and where we plan to take it next.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/rWPJ5fW1UH8/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/rWPJ5fW1UH8/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/rWPJ5fW1UH8/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/rWPJ5fW1UH8/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/rWPJ5fW1UH8/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 0,
"resourceId": {
"kind": "youtube#video",
"videoId": "rWPJ5fW1UH8"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "rWPJ5fW1UH8",
"videoPublishedAt": "2023-11-16T13:58:21Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "ncSbAfhI9Pqgx96TQh4WmkL0pUY",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLmFKQzNpb2FzaGJz",
"snippet": {
"publishedAt": "2023-11-16T04:45:53Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Brianna McHorse & Chris Foster - Fusing AI with Game Design: Let the Chaos In",
"description": "For decades, procedural systems have enabled countless games and gameplay that would otherwise be impossible or impractical. The current state of AI in games is chaotic and controversial, and yet it also has the potential to enable its own set of entirely new, otherwise impossible games. How do we explore this new frontier together?\n\nIn this talk, a game designer and AI programmer from Hidden Door will discuss how they blend generative AI with traditional game design and procedural systems to build something greater than the sum of its parts. We’ll outline challenges we’ve faced combining these two disciplines and illustrate examples to show how AI can be used thoughtfully to enrich aspects of game design.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/aJC3ioashbs/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/aJC3ioashbs/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/aJC3ioashbs/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/aJC3ioashbs/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/aJC3ioashbs/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 1,
"resourceId": {
"kind": "youtube#video",
"videoId": "aJC3ioashbs"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "aJC3ioashbs",
"videoPublishedAt": "2023-11-16T04:45:53Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "N_Ja21eDSqSIBnGN5kqo_Ur8_UI",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLkNPZUpUdFNEZDc4",
"snippet": {
"publishedAt": "2023-11-16T04:44:31Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Jasper Cole - Backpack Hero - Player Upgrades and Progression",
"description": "The creator of Backpack Hero discusses balance and item creation! Also discussed is the inspiration behind Backpack Hero, how items are designed and implemented, and how Jasper fits these pieces into the player progression and upcoming story-mode meta-progression in the game.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/COeJTtSDd78/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/COeJTtSDd78/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/COeJTtSDd78/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/COeJTtSDd78/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/COeJTtSDd78/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 2,
"resourceId": {
"kind": "youtube#video",
"videoId": "COeJTtSDd78"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "COeJTtSDd78",
"videoPublishedAt": "2023-11-16T04:44:31Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "bzszq5fA1QRprKh6M1AF7X_o8RU",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLjZ2TXhINk90STU0",
"snippet": {
"publishedAt": "2023-11-16T04:40:42Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Josh Galecki - Procedurally Generating Puzzles",
"description": "Puzzles are a common design element in many genres - but not roguelikes. Roguelikes are designed for repitition, and a puzzle that's been solved once provides no challenge and no satisfaction on the third (or thirtieth) playthrough. In order to get around the 'curse' of repitition, Josh leans on some strategies from mathematics in order to create systems for producing puzzles that continually engage players, even across many (many) playthroughs.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/6vMxH6OtI54/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/6vMxH6OtI54/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/6vMxH6OtI54/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/6vMxH6OtI54/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/6vMxH6OtI54/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 3,
"resourceId": {
"kind": "youtube#video",
"videoId": "6vMxH6OtI54"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "6vMxH6OtI54",
"videoPublishedAt": "2023-11-16T04:40:42Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "sNbUqAcWzPUF-030m2pDDvJmvLs",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLk15VmlnYzFuRGln",
"snippet": {
"publishedAt": "2023-11-16T04:39:52Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Stav Hinenzon - A Messy Approach to Dynamic Narrative in Sunshine Shuffle",
"description": "An overview of the dialogue system in narrative poker game Sunshine Shuffle, covering both how the system is structured and a bit of its development history. The talk will discuss how the game's tech was built to support its dynamic structure, while also talking about the assumptions made at the start of development, and how those assumptions were challenged over the course of the game's production.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/MyVigc1nDig/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/MyVigc1nDig/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/MyVigc1nDig/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/MyVigc1nDig/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/MyVigc1nDig/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 4,
"resourceId": {
"kind": "youtube#video",
"videoId": "MyVigc1nDig"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "MyVigc1nDig",
"videoPublishedAt": "2023-11-16T04:39:52Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "D57aB3SZbHKQ6lY-0HXnlGDwmt0",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLjN2U0NuY1Y1aGtJ",
"snippet": {
"publishedAt": "2023-11-16T04:34:24Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Tom Francis - Generating boring levels for fresh experiences in Heat Signature",
"description": "When making Heat Signature, our procedural spaceship infiltration game, I found that we didn't need to generate interesting levels to generate interesting experiences. I'll run through the very basic way our level generation works and why, then explain how we approached the game design to ensure it could throw out fresh experiences even when the levels themselves were boring.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/3vSCncV5hkI/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/3vSCncV5hkI/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/3vSCncV5hkI/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/3vSCncV5hkI/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/3vSCncV5hkI/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 5,
"resourceId": {
"kind": "youtube#video",
"videoId": "3vSCncV5hkI"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "3vSCncV5hkI",
"videoPublishedAt": "2023-11-16T04:34:24Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "MGYUp4RMTgJ9qQ3H9OFfMKnogWg",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLkQ4QTlkcElUTEFV",
"snippet": {
"publishedAt": "2023-11-16T04:24:25Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Jonathan Lessard - A Simulation with a View",
"description": "Roguelike systems are often full of rich, intricately generated environmental and historical details. Most of it is lost on players who typically navigate the world through the perspective of a single or small party of adventurers. This makes sense in terms of aligning player and character perspective in their journey. It does, however, limit the information they have access to in terms of discovering interesting or quirky emergent details and stories.\n\nOur current project takes the opposite stance of exposing as much of the simulation as possible to allow players the fun of perusing and discovering the intricacies of its generated histories. This led to a series of novel design problems: how to present this massive quantity of information? And how to give players reasons to engage with it.\n\nIn this quick talk, I will quickly explain our approaches to tackling these issues. First, I will present our Chroniqueur interface which affords players an immediate, accessible Wikipedia-like interface documenting most of the world’s simulated history. Secondly, I will touch on the Divine Affaire gameplay which positions players as higher entities responding to the needs of simulated characters. To devise wise plans of actions, they first need to investigate the simulated lives and understand the given situations. Given the complexity of the simulation, miraculous meddling does not always yield the expected results and much of the fun comes from uncovering the consequences of one’s interventions in the characters’ timelines.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/D8A9dpITLAU/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/D8A9dpITLAU/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/D8A9dpITLAU/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/D8A9dpITLAU/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/D8A9dpITLAU/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 6,
"resourceId": {
"kind": "youtube#video",
"videoId": "D8A9dpITLAU"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "D8A9dpITLAU",
"videoPublishedAt": "2023-11-16T04:24:25Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "0DSC-9c6W-QtPYKpF-nGuarPG4U",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLm1YUkt2YlJpOXFj",
"snippet": {
"publishedAt": "2023-11-16T04:21:30Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Dustin Freeman - Live Action Roguelike Performance",
"description": "A Live Mixed Reality Full-Motion Video Performance, as presented based on audience suggestion during Roguelike Celebration 2023.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/mXRKvbRi9qc/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/mXRKvbRi9qc/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/mXRKvbRi9qc/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/mXRKvbRi9qc/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/mXRKvbRi9qc/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 7,
"resourceId": {
"kind": "youtube#video",
"videoId": "mXRKvbRi9qc"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "mXRKvbRi9qc",
"videoPublishedAt": "2023-11-16T04:21:30Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "rnQUmF3mxgCFwnd7U6hj-TXLKaQ",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLkdrNXVXWEJBTmtB",
"snippet": {
"publishedAt": "2023-11-16T04:17:41Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Jeff Olson - Alphaman: Developing and releasing a post-apocalyptic Roguelike game in the DOS days",
"description": "A retrospective of the challenges and rewards of developing Alphaman, a post-apocalyptic Roguelike game for DOS back before Windows or widespread internet use. Jeff talks about the challenges of programming with Microsoft QuickBasic while gearing the code for computers with 8088 microprocessors, with the intent to distribute on 3 ½” disks. He describes some of his motivation for the admittedly quirky aspects of Alphaman, and talks about some of the content and humor that did and didn’t stand up to the test of time after nearly 30 years. He also includes a plug for the GitHub site where Jamie Bainbridge put the source code (he's Jeff's hero for managing to successfully recompile Alphaman after nearly 30 years!) This provides a peek into the source code of a project that grew much larger than originally expected, requiring expanding the original clumsy QuickBasic code with QuickC modules, which themselves included embedded machine language code at places where computation speed needed to be increased. Kids these days have it so easy!",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/Gk5uWXBANkA/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/Gk5uWXBANkA/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/Gk5uWXBANkA/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/Gk5uWXBANkA/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/Gk5uWXBANkA/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 8,
"resourceId": {
"kind": "youtube#video",
"videoId": "Gk5uWXBANkA"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "Gk5uWXBANkA",
"videoPublishedAt": "2023-11-16T04:17:41Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "DpUstF1NrPa2TcJ-3LhF5jm3fcQ",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLk83OHVZdFVaS1lz",
"snippet": {
"publishedAt": "2023-11-16T04:13:22Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Everest Pipkin-The Fortunate Isles-Fragment Worlds, Walled Gardens & the games that are played there",
"description": "Every game is a fragment world– bordered by the rules of its logic. These boundaries may be spoken out loud (don’t step on the cracks! the floor is lava!) or may be programmed (the end of traversable ground, the rim of the map, an invisible wall that plays a bonk sound effect when you walk into it). Such edges, encircling, make the space of play. These worlds are defined by their boundaries– they exist floating. This talk takes as its center the concept of the walled garden, expanding it out to include games and games spaces. It looks at ornamental gardens, cloisters and isolate spaces, and even mythological or utopian fantasies of worlds apart, and seeks to connect the logic of potent isolation to the games we make and play. By examining historical narratives of boundaries, walls, and edges as applied to constructed spaces, this talk thinks about processes of worldbuilding and systems design as a methodology of gardening, with all of its attendant violences (against the slugs, yes, but also in their construction out of the world)– and looks as well beyond the boundary, where the garden stops and a wildness of bugs, errors, logical failures and edge cases begin.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/O78uYtUZKYs/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/O78uYtUZKYs/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/O78uYtUZKYs/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/O78uYtUZKYs/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/O78uYtUZKYs/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 9,
"resourceId": {
"kind": "youtube#video",
"videoId": "O78uYtUZKYs"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "O78uYtUZKYs",
"videoPublishedAt": "2023-11-16T04:13:22Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "Hv1BJhXJtCMK-nzF4z_sPFloc9A",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLmF2VnN1NFZMaGVz",
"snippet": {
"publishedAt": "2023-11-16T04:10:16Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Crashtroid - Preventing Ear Fatigue with Roguelike Music",
"description": "Music in roguelike games will be heard hundreds and hundreds of times over by the players, and is liable to become a bit exhausting to if not considered closely. There are techniques and decisions that can aid in creating music for your game (or directing a composer to create your game's music) that will truly augment the sense of adventure that roguelike a bring to the table. This talk is both geared towards composers AND people who work with them on games. For composers, it will shed some light on the aforementioned techniques, and for other devs it will give you the ability to effectively communicate these ideas to your composer! Everyone gets a little something with this one, so stop on by for a quick look into designing roguelike music!",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/avVsu4VLhes/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/avVsu4VLhes/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/avVsu4VLhes/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/avVsu4VLhes/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/avVsu4VLhes/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 10,
"resourceId": {
"kind": "youtube#video",
"videoId": "avVsu4VLhes"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "avVsu4VLhes",
"videoPublishedAt": "2023-11-16T04:10:16Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "5Muds3kzhG-weg3CUnKzv5VRn-E",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLk5qWVM4WG1lYWlZ",
"snippet": {
"publishedAt": "2023-11-16T04:09:06Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Leigh Alexander - McMansions of Hell: Roguelikes and Reality TV",
"description": "Reality TV shows are actually constructed realities with their own emergent narrative systems. In this talk, Leigh shares how she is working with her teammate Brian Bucklew (Caves of Qud) to translate the language volumes and behaviors of mid-2000s \"celebreality\" shows set in McMansions, into a generative story environment with Macintosh-inspired B&W graphics.\n\nAre all reality shows actually roguelikes? Absolutely, and Leigh also shares some fun examples of how the world of PCG connects to the age of character-driven social media and performance, microcelebrity and the contemporary reality TV renaissance.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/NjYS8XmeaiY/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/NjYS8XmeaiY/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/NjYS8XmeaiY/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/NjYS8XmeaiY/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/NjYS8XmeaiY/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 11,
"resourceId": {
"kind": "youtube#video",
"videoId": "NjYS8XmeaiY"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "NjYS8XmeaiY",
"videoPublishedAt": "2023-11-16T04:09:06Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "kLIwZRKmNFpw1lW3AX6LRrlUW5A",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLm42bUtpZ1NfNzFZ",
"snippet": {
"publishedAt": "2023-11-16T04:04:38Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Ray - Remixing the Layer Cake: Facilitating fan reinterpretation through Caves of Qud's modular data",
"description": "Caves of Qud presents a broadly inspectable and extensible engine to inquisitive player-tinkerers. One accessible facet of this engine is its use of robust and modular data files. Much of the game’s content is written in XML files which are both processable to wiki editors and remixable to modders.\n\nIn this talk, Ray describes how this system works, their experience with it and the communities that interact with it, and how this practice might be replicable into future games.\n\nRay's slide repo: https://github.com/librarianmage/RogueCel2023",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/n6mKigS_71Y/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/n6mKigS_71Y/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/n6mKigS_71Y/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/n6mKigS_71Y/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/n6mKigS_71Y/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 12,
"resourceId": {
"kind": "youtube#video",
"videoId": "n6mKigS_71Y"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "n6mKigS_71Y",
"videoPublishedAt": "2023-11-16T04:04:38Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "mOjDvIZ9cnWOpdiCvLWqJ06fFhc",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLjlWX0NrSjY2dUpR",
"snippet": {
"publishedAt": "2023-11-16T04:03:07Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Jesse Collet & Keni - Fireside chat about the development of NetHack",
"description": "Host Alexei Pepers and Jesse Collet and Keni (former NetHack devs) talk about the early days of NetHack and the role of open-source development in Roguelike games.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/9V_CkJ66uJQ/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/9V_CkJ66uJQ/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/9V_CkJ66uJQ/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/9V_CkJ66uJQ/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/9V_CkJ66uJQ/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 13,
"resourceId": {
"kind": "youtube#video",
"videoId": "9V_CkJ66uJQ"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "9V_CkJ66uJQ",
"videoPublishedAt": "2023-11-16T04:03:07Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "ytj_lcFV42m1BYGOYEh-wIA6LBs",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLlJEV3Q2UkdOOXdN",
"snippet": {
"publishedAt": "2023-11-16T04:01:16Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Mark Johnson - Generating Riddles for a Generated World",
"description": "This talk will examine how riddles that are meaningful, obscure, and solvable, are procedurally generated in Ultima Ratio Regum. I believe this to be a first in roguelikes and in the talk I'm going to outline how the game a) procedurally generates its main categories of cryptic riddles, b) ensures that there is enough information for the player to decipher them, and c) generates and stores unique custom triggers through which they can actually be solved by performing each procedurally generated solution, and d) checks that there are enough ways to figure out the answer to a riddle, i.e. that the riddle is not unusually difficult or the riddle's key components are too rare or hard to find.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/RDWt6RGN9wM/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/RDWt6RGN9wM/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/RDWt6RGN9wM/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/RDWt6RGN9wM/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/RDWt6RGN9wM/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 14,
"resourceId": {
"kind": "youtube#video",
"videoId": "RDWt6RGN9wM"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "RDWt6RGN9wM",
"videoPublishedAt": "2023-11-16T04:01:16Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "zqU4MbkQFisENRAxLVmDV_hVE48",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLkZWXzBybXF4Ynh3",
"snippet": {
"publishedAt": "2023-11-14T05:13:39Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Jurie Horneman- Why Dynamic Content Selection Is Hard",
"description": "My talk is about the difficulties you can encounter when building dynamic content selection systems for procedural dungeons, dynamic missions, and similar features.\n\nOvercomplicating these systems is deceptively easy, but making them good enough to ship is hard.\n\nI will be talking about the two core questions of any game feature or system (Does it work at all? and Is it good?), the advantages but also the limits of static analysis, the dangers of highly dynamic systems, and ideas for future directions for all this.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/FV_0rmqxbxw/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/FV_0rmqxbxw/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/FV_0rmqxbxw/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/FV_0rmqxbxw/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/FV_0rmqxbxw/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 15,
"resourceId": {
"kind": "youtube#video",
"videoId": "FV_0rmqxbxw"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "FV_0rmqxbxw",
"videoPublishedAt": "2023-11-14T05:13:39Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "tZIJLgGiw_zfY4g3EJTo95TU6wo",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLjl5RmZlcnhickJV",
"snippet": {
"publishedAt": "2023-11-14T05:12:54Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Elliot Trinidad- Tuning the Blaseball Name Generator",
"description": "Blaseball (2020-2023) was a massively multiplayer sports fan simulator that asked its online audience to follow a fictional, procedural baseball league's horror story across years -- as well as the hundreds of named digital outfielders who could die or spawn anew at a moment's notice!\n\nJoin Blaseball community manager & designer Elliot Trinidad in this practical retrospective about how a simple \"first name, last name\" character generator was able to illicit everything from obsession to controversy in the hands of a creative community. What do procedural character names say about your game's world? How did we tune our names to better highlight cultural diversity? And just what does it look like when seemingly small decisions get constant live feedback from an invested audience? Tune in to find out!",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/9yFferxbrBU/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/9yFferxbrBU/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/9yFferxbrBU/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/9yFferxbrBU/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/9yFferxbrBU/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 16,
"resourceId": {
"kind": "youtube#video",
"videoId": "9yFferxbrBU"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "9yFferxbrBU",
"videoPublishedAt": "2023-11-14T05:12:54Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "fv5rAIzEryNFRwb99FFYYw5yOhc",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLlM1VWtwNkFPZFFZ",
"snippet": {
"publishedAt": "2023-11-14T05:11:54Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Paul Hembree- Coordinate Systems as a Resource for Music Generation",
"description": "This presentation will explore how the traversal of virtual spaces in games can be used to procedurally remix or even generate music. I'll show how you can connect a game's coordinate system to concepts from music theory and psychoacoustics to create a subtle, spatial synaesthesia, wherein your players move through both physical and harmonic space.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/S5Ukp6AOdQY/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/S5Ukp6AOdQY/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/S5Ukp6AOdQY/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/S5Ukp6AOdQY/sddefault.jpg",
"width": 640,
"height": 480
},
"maxres": {
"url": "https://i.ytimg.com/vi/S5Ukp6AOdQY/maxresdefault.jpg",
"width": 1280,
"height": 720
}
},
"channelTitle": "Roguelike Celebration",
"playlistId": "UUKv_QzXft4mD6TXmQBZtzIA",
"position": 17,
"resourceId": {
"kind": "youtube#video",
"videoId": "S5Ukp6AOdQY"
},
"videoOwnerChannelTitle": "Roguelike Celebration",
"videoOwnerChannelId": "UCKv_QzXft4mD6TXmQBZtzIA"
},
"contentDetails": {
"videoId": "S5Ukp6AOdQY",
"videoPublishedAt": "2023-11-14T05:11:54Z"
},
"status": {
"privacyStatus": "public"
}
},
{
"kind": "youtube#playlistItem",
"etag": "DAvuw7RFZ7iZ0-HOdXpVltBfe7E",
"id": "VVVLdl9RelhmdDRtRDZUWG1RQlp0eklBLnJjSVZDcmRkb3pR",
"snippet": {
"publishedAt": "2023-11-14T05:09:04Z",
"channelId": "UCKv_QzXft4mD6TXmQBZtzIA",
"title": "Nat Alison- In Defense of Hand-Crafted Sudoku",
"description": "Ah Sudoku--the logic puzzle where you fill a 9x9 grid with numbers. While most sudoku are computer-generated randomly, there is a growing community of variant sudoku constructors that make beautiful and brain-bending puzzles--all by hand. Let's explore the history of \"hand-crafted vs computer-generated\" from the perspective of this puzzle community. We'll cover the motivation, the beauty, and the tools of the trade of hand-crafted puzzles, and show how \"hand-crafted vs computer-generated\" is more of a spectrum than a binary.",
"thumbnails": {
"default": {
"url": "https://i.ytimg.com/vi/rcIVCrddozQ/default.jpg",
"width": 120,
"height": 90
},
"medium": {
"url": "https://i.ytimg.com/vi/rcIVCrddozQ/mqdefault.jpg",
"width": 320,
"height": 180
},
"high": {
"url": "https://i.ytimg.com/vi/rcIVCrddozQ/hqdefault.jpg",
"width": 480,
"height": 360
},
"standard": {
"url": "https://i.ytimg.com/vi/rcIVCrddozQ/sddefault.jpg",