Skip to content

Instantly share code, notes, and snippets.

View yankooliveira's full-sized avatar

Yanko Oliveira yankooliveira

View GitHub Profile
@yankooliveira
yankooliveira / gdc_vault_2019_extended.json
Created March 20, 2024 22:10
GDC Vault 2019 JSON data
[
{
"companies": [
"Independent"
],
"description": "Drawing on her experience from working as a stand-up comedian for 2 years, and using examples from the development of the acclaimed 'Grace Bruxner Presents: The Haunted Island, a Frog Detective Game', this talk focuses on the process of creating comedy games. Beyond writing jokes for games, this lecture presents a more nuanced look at building games around humor, and Grace will go into the specifics of writing funny dialogue that doesn't feel stilted or forced by finding the comedy in the ordinary. Along the way, she will also be looking at how games can subvert expectations of genre to aid in silliness, drawing comparisons between 'The Haunted Island' and other recent comedy-focused and/or narrative games.",
"id": "1025651",
"speakers": "Grace Bruxner",
"tags": [
"Independent",
@yankooliveira
yankooliveira / CodeSnippetBuilder.cs
Created April 1, 2021 23:20
If you have the terrible idea of making a prototype using CodeDOM and explicit snippets like I did, this helps controlling indentation. I'm pretty sure there's a smarter way, but it's not like I think before I type when I make prototypes 😅
using System.Text;
namespace deVoid.Utils {
// Uses an internal StringBuilder instance and automatically keeps tracks of indentation.
public class CodeSnippetBuilder {
public int IndentLevel {
get { return _indentLevel; }
set {
if (value < 0) {
value = 0;
@yankooliveira
yankooliveira / GrammarReplace.cs
Created December 25, 2020 11:07
A recursive grammar replacer based on [tags].
// ! Gamejam code, proceed with caution!
// GetFromList is an extension method:
// public static T GetFromList<T>(this Random rnd, List<T> list) {
// var index = rnd.Next(list.Count);
// return list[index];
// }
namespace deVoid.Apothecary {
[CreateAssetMenu(fileName = "GrammarConfig", menuName = "Apothecary/Grammar Config")]