Skip to content

Instantly share code, notes, and snippets.

View SimonMeskens's full-sized avatar

Simon Meskens SimonMeskens

View GitHub Profile
// Replace IE slags with the default Pyrotech one
mods.immersivetweaks.Slag.replaceSlag(<immersiveengineering:material:7>, <pyrotech:slag>);
// Add proper slags and bloom processing for all IE ingots
val metals = [
"Iron", "Gold", "Copper", "Aluminum", "Lead", "Silver", "Nickel",
"Constantan", "Electrum", "Steel", "Uranium"
] as String[];
@SimonMeskens
SimonMeskens / Moon Harbor Heroes.md
Last active September 2, 2019 05:40
A Masks Actual Play podcast set in the fictional city of Moon Harbor.

Creating a Game Experience

Creating an experience is all about sculpting it with good design sense. You want to offer the player tightly designed gameplay, but also allow for lots of meaningful choices, we call this agency. Most of the examples here are geared towards open world games, with a survival element, but most of it is applicable to other games too.

Expansive Gameplay

Expansive gameplay is wide gameplay. It's all about creating varied gameplay through varied circumstances. There should be a wide range of mechanics to interest the player. We shouldn't force the player to do all of them, rather, it's about giving them the choice. We can accomplish this by dividing the gameplay into three layers.

@SimonMeskens
SimonMeskens / 00 - Fallout 4 Mods.md
Last active August 2, 2019 06:31
Fallout 4 mod list post-DLC
@SimonMeskens
SimonMeskens / adt-examples.js
Last active October 6, 2023 19:56
ADTs in JavaScript
import { adt } from "./adt.js";
const double = x => x * 2;
{
// Create a value that's either Right or Left
const either = adt(["left", "right"]);
// `left` and `right` are the constructors
const { left, right } = either;
@SimonMeskens
SimonMeskens / Setting up TS for Node.md
Last active April 22, 2019 09:44
TypeScript Guides

Setting up TS for Node

tsconfig.json:

{
    "compilerOptions": {
        "module": "commonjs",
        "moduleResolution": "node",
        "target": **TARGET**,
 ...
import { Option } from "./option";
import { Generic, TypeParams } from "typeprops";
interface Functor<F> {
map: <T>(
this: Generic<F>,
f: (a: TypeParams<F>[0]) => T
) => Generic<F, [T]>;
}

Preston Garvey

There's a main NPC that generates a bunch of radiant quests that not only serve to annoy and clutter up your quest log, but also makes settlements annoying to micro-manage. For most playthroughs, you want to fix this.

Lightweight fix with high compatibility: https://www.nexusmods.com/fallout4/mods/24940/?

Now, the faction he is part of, is actually a bit messy as a whole and there's a very highly rated mod to fix some of that: https://www.nexusmods.com/fallout4/mods/6443/?

@SimonMeskens
SimonMeskens / Todo.md
Last active August 4, 2017 11:30
Typed Static-land

General

  • Refactor all isEqual functions to equals
  • Add namespaced fantasy methods
  • Write tests for the laws in Static-land

List

  • Look at unifying List with other structures #31
  • Add fold primitive to internals

Creating a Game Experience

Creating an experience is all about sculpting it with good design sense. You want to offer the player tightly designed gameplay, but also allow for lots of meaningful choices, we call this agency. Most of the examples here are geared towards open world games, with a survival element, but most of it is applicable to other games too.

Expansive Gameplay

Expansive gameplay is wide gameplay. It's all about creating varied gameplay through varied circumstances. There should be a wide range of mechanics to interest the player. We shouldn't force the player to do all of them, rather, it's about giving them the choice. We can accomplish this by dividing the gameplay into three layers.