About dudecon

I strive to be awesome for God. Support my efforts at: https://www.patreon.com/dudecon

To See the Sky



Continue reading

Fledgeling Fragments

Fledgeling Fragment Games

You may have noticed that I have talked about several different games here. I am attempting to zero in on the concepts that I am exploring; To approach Fledgeling from a variety of angles. So, quite recently, it occurred that I thought to map out these aspects, and see where each sub-game might lie in relation to the whole.

Here I have made a Venn diagram of the five major topics which interest me in game design. Continue reading

Does anyone actually read this?


I’m thinking about putting up some more content here, but first I’m wondering if anyone actually reads this stuff. It was started as a rather self-indulgent excercise, and I’ll probably continue it in that vein, but if anyone else is interested, I’d like to know what you come here for. Respond in the comments below, and otherwise, I’ll update when I feel like it!

Uplift: Block Scale Nesting




I’d like to talk about artificial scarcity, and how I think it is generally a poor solution. I should begin, though, by an overview of True Scarcity, and its effects on our lives.

True Scarcity, like real things have. Resources are scarce, time, energy, materials, space, attention. People throw around “post-scarcity” as an achievable goal, but depending on how you draw the threshold it could have already happened, or it could never happen.

Artificial Scarcity has to do with arbitrarily limited things, like CCGs, limited runs, and modern currencies. Mimics True Scarcity in order to reproduce its effects. Can be marginally useful (currency), or deceptive (CCG). I don’t like it.

Narrative Scarcity? Resources limited to form a cohesive story (fictional True Scarcity or contrived Artificial Scarcity). Intrinsically artificial in reality (no reason the storyteller can’t solve scarcity by fiat), but percieved as true in context. Mis-used in either direction can lead to story collapse.

Artificial scarcity occurs a lot in games, but aside from people being familiar with this way of thinking, and as a tool for exploring true scarcity, I don’t see the advantage. For example, there is (effectively) no marginal cost to distributing DLC to all game owners. Or to releasing all games into the public domain. At the limit, this ties back to the “win” button. Artificially limiting story progression by game performance is… well, artificial scarcity.


A “quest” is a stand-in for AI imperative communication.

Speculative history of quests. Started with individual goals. Then transitioned to chains (multiple sequential goals), then to laundry lists (paralell goals) (Many small quests can be rolled into one big one). Very few are reactive to player performance and world state. Completing a quest often resets effective world-state. Rewards are generally in-game money, equipment, relationship points (a different form of currency), and experience (which doesn’t make sense, wouldn’t you gain experience based on how well you performed, and what you did, rather than whether you returned to the quest-giver).

Could be combined with communication (deceit) and bartering. Certainly need to be more reactive.

What’s in a Starship?

We see a lot of depictions of starships. Star Trek, Starwars, and countless others. I’d like to teach computers to make starships, and explore the design-space. But to do that, I’d have to know what a starship was in the first place!

Excerpt from Ship 082

What is this? Is it really a starship? How can we be sure?

So I turned to Jeff Zugale, who recently published Starshipwright One: Science Fiction Spaceships, a collection of 178 of his sketches and renderings, a few of which I have included sections of here as examples, but without permission. Hopefully he doesn’t mind. In perusing the pages, several patterns jumped out at me, which I have cataloged here for your perusal. I’d like to go over the major ones, and offer my own criteria for what it seems like would identify a starship, but apparently doesn’t, as well as what it seems to me is the single defining characteristic.

Continue reading

Pragmatic Parametric Game Design




Structures, Semantics, Abilities, and Play

The structure of a game sets the stage.

The semantics of a game sets the atmosphere.

The abilities of players and characters dictate the kind of stories that can be told in-game.

Too few abilities stifles expression. Too many abilities stifles creativity.

Too few semantics stifles expression. Too many semantics stifles creativity.

Too much structure stifles expression. Too little structure stifles creativity.

I wish I could recall the fervor of the ideas with which I began this post. Perhaps too much structure.

These are all various angles one may hold a game. In order to examine it. In order to evaluate it. Play is the emergent behavior of an intelligence in contact with a healthy balance between the three.

Fledgeling Scenario


We want to make it easy to design scenarios.




Corridor: Technical Infrastructure


Everything is Corridors


Player Input

The player really needs to have input in the game. As much input as possible really. The previous article about AI Assistance in mind, much of this input should be optional as well, but the options should be available.

Input is one of the defining characteristics of a game. Can we simply expose all aspects of the game world to the player? How much is too much? Continue reading

A Pointless Challenger…

Conflict is only meaningful when the outcome is in question.

Often, computer game challenges are against foes who have a noticeably different in-game status from the player character. The player character has depth, while the foes are hardly characters at all. It isn’t even a challenger. It’s just a challenge. Even the most difficult challenges, the “boss” foes, rarely have any out-of-plot motivation, duty, or even activity that they engage in. There are several causes for this (not that it’s any excuse) all of which are more or less surmountable.

Character background is difficult to convey and generate.

The rise of multi-player direct competition games has illuminated this difficulty even more by demonstrating what happens when player characters to compete against each-other.

It doesn’t mean anything to challenge a non-entity, nor does it signify to crush an inferior. “Boss” characters are often meant as a game-play challenge, but as they are presented as characters, they often fail on that merit.

Reducing the player’s character to the level of other in-game characters is important for verisimilitude. Giving the player special powers makes them special, but also adds exceptional expectations which can often not be met.

The player should compete against evenly matched foes. Whether this is symmetrical or not, there must be a balance of forces or there is no need for contest.

Narrative Momentum and Manuverability

games are not stories, but they do need momentum.

History building up to the point of interaction. NPCs and environment needs to support this momentum.

Good manuverability (high player agency) in the narrative trajectory.

Balance between the two, if too much manuverability then history means nothing. If too much momentum then the player’s choices don’t matter.

Many games neither justify the player’s character’s actions, nor give them options to make real choices.

Goals, Actions, and Posessions

What you want, what you can do, or what you have. Which is more important? Each informs the other. Each is superior to the others. Each serves the others. They all work together.

There are continually trends to move games (and everything else) toward a focus on one or the other of these aspects. An exclusive obsession with “what you have” is the basis of materialism. Fascination with “what you can do” leads to endless labor. Fixation on “what you want” produces day-dreaming and dissatisfaction. Continue reading

Influences and Paralells

Where did these ideas come from? Some are seeds which spawned concepts, others are examples of where these same ideas have cropped up independently.

Life: Most things, including deep nesting. I attribute most of the independent consensus to this aspect.

Revelation: The book in the Bible. Axies of merit and paralell spiritual hierarchies.

Dungeon Siege: Linked limitless spatial nodes.

Megatokyo: PCs with emotional stats and independent behavior.

A Fire Upon the Deep: Vast scope fiction and data-intense societal development.

D&D and GURPS: role playing games (a mixture of positive and negative examples in both).

StarTrek Enterprise Floorplans: Vessels really can be fleshed out internally.

Dwarf Fortress: Lots of deep and broad world simulation. Taking over historical characters, etc.


The current trend is to make games ever more concrete, but we must not forget abstraction. Generally speaking, abstract games challenge deduction, while concrete ones challenge induction. Put another way, games with lots of specific rules and solid metaphors force the player to form their own generalizations and strategies, while games with a few simple rules and few examples force the player to devise effective applications and tactics. Continue reading


Cross between Go, Chess, and Fledgeling


Other possible elements: Continue reading

A Reflection on: “Five Problems with Modern Video Games”

The video in question.
If you’re not interested in watching, here’s the summary:

Video Games have become lame since the 90s, because:

  1. They’re all the same.
    Targeted mostly at AAA FPS titles.
  2. They treat you like you are an idiot.
    Hand-holding, QTE, omniscient mini-map, lack of fast travel.
  3. They are too focused on realistic graphics.
    Want to be too much like movies. Continue reading

Corridor: Gerbil Journey

This is a game about procedurally generating corridors.


Python Scripts

Over the years I’ve written quite a few python utilities. Most of them are really short, and too specific to be useful to others. Those that aren’t are so long that they don’t feel elegant enough to share.

And then, between these two extremes, are the gems that I find myself coming back to time and again. I thought I’d share these with you. Keep in mind that all of these are covered by the Paul Spooner “IP is Wicked Nonsense” license, and you are encouraged to evaluate them on their own merits as distinct from their history. If you insist that the origins of ideas are important, then go pledge your support to my efforts.

TextOddifier.py is a text manipulation script to convert letters in UTF-8 to fairly similar looking letters. It makes text that looks like this ḽӧœĸ ŀįҟԙ ҭԡ༑ṩ ѩŉᵴťӕаԂ. You can find the source below, or through the link at the start of the description.

# Similar letter substituter
# To make text look a bit strange

from random import choice

SLD = { 'A':'ĀĂĄАѦѨӐӒӔḀẲⰡ⍲ᗗ','a':'āăąаѧѩӑӓӕḁẳ⎀',

def oddify(text):
    result = ""
    for i in text:
        try: result += choice(SLD[i])
        except: result += i
    return result

s = input("enter the text you want to oddify: ")
#s = "I don't even really know how this is going to work any more"

input("Press enter when done:")

BaseConverter_py.py is a number base converter that we collaborated on to convert numbers to and from arbitrary radix. The neat thing about it is it works on floating point numbers as well as integers. The example (and test case) is 135.5 converted to base 12 is B3.6. Going the other way around, S4 in base 35 is 984 in decimal! You can find the source below, or through the link at the start of the description.

# dozinal.py

BASE = 12
PREC = 8

def compute_glyphs():
	GLYPHS = {}
	VALUES = {}

	for i in range(BASE):
		if i &amp;lt; 10: GLYPHS[i] = str(i)
		else: GLYPHS[i] = chr(i+55)

	for i in range(len(GLYPHS)):

def rebase(num):
	if len(GLYPHS) != BASE: compute_glyphs()
	if num &amp;lt; 0:
		sign = '-'
		num = -num
	else: sign = ''
	whole = int(num)
	frac = num - whole

	whole_parts = []
	frac_parts = []
	prec = PREC
	while prec &amp;gt; 0:
		prec -= 1
		frac *= BASE

		part = int(frac)
		frac -= part
		if part == 0: break


	while whole &amp;gt; 0:
		mod = whole % BASE
		whole = whole // BASE

	if len(whole_parts) == 0:
	if len(frac_parts) == 0:
		return sign + "".join(reversed(whole_parts))

	return sign + "{}.{}".format("".join(reversed(whole_parts)),

def debase(string):
	if len(GLYPHS) != BASE: compute_glyphs()
	if string[0] == '-':
		negative = True
		string = string[1:]
	else: negative = False
		whole_parts, frac_parts = string.split(".")
		whole_parts = string
		frac_parts = ''

	whole = 0

	for idx in range(len(whole_parts)):
		whole += VALUES[whole_parts[idx]]
		if idx &amp;lt; len(whole_parts) - 1:
			whole *= BASE

	frac = 0
	max_idx = len(frac_parts) - 1

	for idx in range(len(frac_parts)):
		part = frac_parts[max_idx - idx]
		frac += VALUES[part] / BASE

		if idx &amp;lt; max_idx:
			frac /= BASE

	result = whole + round(frac,PREC)
	if negative: return -result
	return result

TestConvert = 135.5
TestDozenal = rebase(TestConvert)
print("{} converted to base {} is".format(TestConvert,BASE), TestDozenal)
ConvertedBack = debase(TestDozenal)
print("{} in base {} is".format(TestDozenal,BASE), ConvertedBack, "in decimal")
if TestConvert == ConvertedBack: print("success!")
else: print("Something went wrong")
print("Assign BASE to set the number base,\nand PREC to set the precision.\nCall rebase() to convert,\nand debase() to convert back to decimal.")

Renamer.py Is a short program I wrote to do simple renaming operations on files. It only operates on the files in the folder, so it’s pretty easy to target. I include it here mostly as a syntax reminder. Change “rename” to “renames” to create directories (folders), which are separated by a forward slash.

# Rename files to add "_"

from os import rename, listdir
thesefiles = listdir()
target = "Prefix"
tlen = len(target)
	for f in thesefiles:
	if f[:tlen] == target:
		n = f
		n = n[:tlen] + '_' + n[tlen:]
		rename(f, n)

mcm_page.py is kind of an odd one. I really like the McMaster-Carr website, and enjoy browsing their catalog for inspiration. Time was when the catalog was paper that you could turn to a random page and peruse it. However, the online catalog is so efficient at delivering what you want that this becomes difficult. I’d also like to ensure that I don’t keep seeing the same page over again, at least until I’ve gone through the whole catalog. This script does all of that, opening a random page of the catalog when you start it, and allowing a save file listing all the pages you haven’t visited yet. Could be easily modified for other things… monte-carlo webcomic binges for example.

# opens a random McMaster Carr catalog page
from random import choice
import webbrowser

# 3873 fetched on 2017-09-20
# 3939 fetched on 2018-11-29, catalog 124
# 4061 fetched on 2020-11-17, catalog 126

    f = open('mcm_page_numbers.txt','r')
    maxpgraw = f.readline()
    raw = f.readline()
    maxpg = int(maxpgraw)
    rem_pgs = eval(raw)
    if maxpg == HIGHEST_PAGE_NUMBER: pass
    elif maxpg > HIGHEST_PAGE_NUMBER:
        while len(rem_pgs)>0:
            if rem_pgs[-1] > HIGHEST_PAGE_NUMBER: rem_pgs.pop()
            else: break
    elif maxpg < HIGHEST_PAGE_NUMBER:
        for i in range(maxpg,HIGHEST_PAGE_NUMBER+1):
    else: print("Something went terribly wrong")
    rem_pgs = &#91;i for i in range(1,HIGHEST_PAGE_NUMBER+1)&#93;

inchoice = ""
print('{} pages left'.format(len(rem_pgs)))
print('Enter to bring up a McMaster page\n"s" to save, "sc" to save and close, "p" to print')
while len(rem_pgs) > 0:
    printflag = False
    if len(inchoice)!= 0:
        inchoice = inchoice.lower()
        initial = inchoice[0]
        if initial == 's':
            f = open('mcm_page_numbers.txt','w')
            if inchoice == 'sc': break
            else: print('{} pages left'.format(len(rem_pgs)))
            inchoice = input('Saved :')
        elif initial == 'p':
            inchoice = input('Those are the currently loaded indicies :')
    idx = choice(range(len(rem_pgs)))
    chosen_page = rem_pgs.pop(idx)
    inchoice = input('Page {} queued:'.format(chosen_page))

input("There are no more pages. Press return to close.")

NatoPhoneticAlphabet.py Is a dumb little thing that converts characters into their equivalent in the NATO Phonetic Alphabet. More of a fun toy than a useful tool.

#NATO Phonetic Alphabetizer

SLD = { 'A':'Alfa',

def phoneticize(text):
    result = []
    for i in text.upper():
        try: result += [SLD[i]]
        except: result += [i]
    return " ".join(result)

    s = input("enter text: ")


I have enjoyed playing with the Fantasy Genesis book for several years now, and at one point wrote this python script to cut out all the dice rolling.

# A Fantasy Genesis Nested Lists

# The Lists:
# Anima
Anim_1_Sea_Life = ["Mollusk",
                   "Crab, Lobster",
                   "Squid, Mudskipper",
                   ["Fish: Deep sea", "Fish: Fresh water"],
                   [["Whale", "Killer Whale", "Narwhale"], "Dolphin", "Walrus", "Otter"],
                   ["Shell: spiral", "Conch", "Shell: ribbed, clam"],
                   "Eel, Leech, Hagfish",
                   "Coral, Anemone",
                   "Shark, ray"]

Anim_2_Insect = ["Worm",
                 "Moth, Butterfly",
                 "Fly, dragonfly",
                 "Lotus, Mantis",
                 "Bee, Wasp",
                 "Caterpillar, Centipede, Milipede",
                 "Beetle, Scarab",
                 "Flea, Mite",

Anim_3_Mammal = ["Sheep, cow",
                 "Mouse, Rabbit",
                 "Pig, Boar",
                 "Deer, Pronghorn",
                 "Ram, Bull, Buck",
                 "Elephant, Giraffe",
                 "Lupine: Wild Dog",
                 "Horse, Zeebra",
                 "Feline: Wild Cat",

Anim_4_Reptile = ["Crocodile, Gila",
                  "Frog, Newt",
                  "Lizard, Snake",

Anim_5_Bird = ["Wild Fowl, Duck, Goose",
               "Farm Fowl, Rooster",
               "Seabird, Penguin, Gull",
               "City bird: Raven, Sparrow",
               "Tropical bird: Parrot, Heron",
               "Bird of Prey: Hawk, Owl",

# Veggie

Vegi_1_Plant = ["Seaweed",
                "Desert Cacti",
                "Thick Leaf Plant, Jade",
                "Flower: Domestic",
                "Grass, Dandelion",
                "Flower: Wild",
                "Carnivorous Plant"]

Vegi_2_Fruit_Vegi = ["Asparagus",
                     "Berry, Grapes",
                     "Tree fruit (apple, orange)",
                     "Pumpkin, Gourd",
                     "Broccoli, Artichoke",
                     "Grain, Wheat",

Vegi_3_Fungi = ["Moss",
                "Slime Fungi: Ooze, Jelly",

Vegi_4_Tree = ["Willow",
               "Maple, Oak",

# Elemental & Mineral

Elem_1_Fire_Electric = ["Fire, Vapor",
                        "Electric Bolt",
                        "Ember, Hot Coal",
                        "Molten Lava"]

Elem_2_Liquid = ["Icicles",
                 "Fog, Vapor",
                 "Dew Drops",
                 "Frost, Snow",
                 "Suds, Bubbles",
                 "Tar, Gum"]

Elem_3_Earth_Metal = ["Malachite",
                      "Mountain, Cliff Face",
                      "Brick, Cobblestone",
                      "Rust, Oxide",
                      "Cracked Clay",
                      "Stalactite, Stalagmite",
                      "Glass, Crystals",
                      "Powder, Sand",
                      "Slate, Shale",
                      "Cement, Sediment",
                      "Mercury, Chrome"]

Elem_4_Astral_Atmosphere = ["Moon Cycles",
                            "Crater, Asteroid",
                            "Solar Flare",
                            "Galaxy form",
                            "Planets, Saturn's Rings",
                            "Cloud, Cyclone, Turbulence"]


Tech_1_Transportation = ["Car, Truck, Bus",
                         "Rail, Train, Trolley",
                         "Cycle (motor or bi)",
                         "Sled, Ski",
                         "Boat, Ship",
                         "Tank, Caterpillar Tread"]

Tech_2_Architecture = [["Ornament, Gargoyle", "Ornament, Pillar"],
                       "Bridge, Framework",
                       "Castle, Dome",
                       "Modern Skyscraper",
                       ["Place of Worship", "Totem", "Cathedral", "Temple"],
                       ["Doorway, Archway", "Window"],
                       "Old Village, Cottage",

Tech_3_Tool = ["Drill",
               ["Cup", "Bowl", "Plate", "Silverware"],
               "Bundle, Bale",
               "Hammer, Axe",
               "Brush: Hair, Tooth",
               "Razor, Knife",
               "Spigot, Faucet",
               "Lock, Key",
               "Adhesive, Bandage",
               "Shovel, Pick",
               "Capsule, Tablet",
               "Nuts, Bolts",
               "Thread, Stitch",
               "Shears, Scissors",
               "Pen, Paintbrush",
               "Spring, Coil",
               "Tube, Plumbing",
               "Wrench, Pliers"]

Tech_4_Machine = [["Switch", "Dial, Knob", "Button", "Lever", "Foot Pedal"],
                  ["Bulb, Lamp", "Arc lamp", "Spotlight"],
                  ["Clock, Gears", "Piston, Cylinder"],
                  ["Mechanical Saw","Laser Beam"],
                  ["Reactor Core", "Engine", "Solar Panel"],
                  ["Microchip", "Circuit Board", "Network Room, Cables"],
                  "Dish Antenna",
                  ["Rocket", "Turbine", "Fan, Propeller"]]

#Character Elements

Emotions = ["Embarrassed",
            "Timid, Bashfull",
            "Giggle, Smiling",
            "Squint, Wink",
            "Stressed, Fatigued",
            "Thought, Meditation",
            "Insane, Berserker",
            "Insane, Happy",
            "Pining, Furrowed",
            "Laughing, Hysterical",
            "Attentive, Shock",
            "Stern, Grumpy",
            "Clenched Teeth",
            "Gape, Gawk",
            "Paranoid, Shifty",
            "Bliss, Joy",

Actions = ["Recoil, Akimbo",
           "Drenched, Thirst",
           "Blown by Cyclone",
           "Push, Pull",
           "Snoop, Listen",
           "Crouched for Attack",
           "Hang, Climb",
           "Recoil, Head/Torso",
           "Float, Levitate",
           "Swinging Weapon",
           "Twisting, Stretching",
           "Kicking, Punching",
           "Squeeze, Tackle",
           "Absorb, Eat",
           "Limp, Injured",
           "Curse, Swear",
           "Run, Jump",
           "Melt, Glow, Fire",
           "Stuck, Trapped",
           "Pull, Push",
           "Shoot Weapon",
           "Dying, Gaunt",
           "Fly, Swim",
           "Shed, Molting",
           "Chant, Recite",
           "Crawl, Emerge"]

# Compliations of the different Sets

Anima = [Anim_1_Sea_Life,

EleMineral = [Elem_1_Fire_Electric,

Veggie = [Vegi_1_Plant,

Techne = [Tech_1_Transportation,

Visual_Elements = [Anima, Veggie, EleMineral, Techne]

Character_Elements = [Emotions, Actions]

All_Things = [Visual_Elements, Character_Elements]

from random import choice

def RecurseChoice(Root):
    # Randomly select from nested lists until you get to
    # a string instead of a list. Return the string.
    if isinstance(Root,str):
        return Root
        Sub_Root = choice(Root)
        return RecurseChoice(Sub_Root)

#Choose one from each category

print("Anima: ", end='')
print("Veggie: ", end='')
print("EleMineral: ", end='')
print("Techne: ", end='')

print("Emotions: ", end='')
print("Actions: ", end='')

# Some test stuff

# Run it a ton of times looking for an entry
# or just checking for a crash, that too.
Search_target = "Narwhale"
Number_of_tries = 4000
for i in range(Number_of_tries):
    result = RecurseChoice(All_Things)
    if result == Search_target: print("Target found! Try #{}".format(i))


I’ve uploaded a bunch of my python files here: http://peripheralarbor.com/Python/

Game Pitch Pitfalls

Game pitch notes from here:

Two big questions: Is this game worth making? Can this team make it?
Common problems with a game pitch:
Problems with the arrangement:

* Asking the publisher to design the game.
* Pitching to the wrong publisher (mobile, console, pc are all different)
* IP-focused game without rights to IP.
Problems with the team:
* No team. Continue reading

नीडϠ (Nidats: 900 Nests) and Monetization




Uplift: Plants



Uplift: Components





Continue reading

Uplift: Not Minecraft


Minecraft is a fun software.


Definitions: Game

Learning == Gaming



Or, put another way:

Games are simulations of serious things too expensive to play with. Continue reading

Uplift: Introduction




Uplift: The Game, The Name


Small Uplift image

Perhaps something like this?

Working on a game concept: codename Uplift.



Further details forthcoming!

Informed Action


-Excerpt from a comment by Luke


Fledgeling Discussion 01

Download Audio (41 MB)




Books, Movies, and Fledgeling

Download Audio



The Unconscious

Download Audio



The Perception Layer

Download Audio

The perception layer (in my terminology (which is what I use to communicate)) is an intermediary between reality and memory. It models the fact that, when you perceive something, your perception doesn’t always match what’s really there. In fact, it never matches it perfectly. Occasionally, perception and reality are far divergent.

I think of the perception layer as a piece of glass. If it is smooth and clean, you can look through it easily. If the glass is clouded, painted, or covered in dirt, your perception is going to be obstructed. Even worse, if the glass is uneven, warped, or otherwise malformed it can give a clear but distorted view of the other side.

Fog of War is a common example of a perception layer in RTS games. Continue reading


Download Audio

What language will Fledgeling speak?


Visual Fidelity and Familiarity

Download Audio

I’ve written on this topic before, but I was re-inspired by comments in this blog post.

On the topic of AAA games and visuals. I really like the image of building a monolith of cash and setting it on fire. It works on so many levels. I don’t even resent people doing this. It’s their money, they’re free to do what they like with it. What I resent is being told that watching a pretty currency bonfire is a life-changing experience and everyone should show up. It’s the kind of lie that, as was said, has blatant disregard for the intellect of the audience. Continue reading

My Daughter’s Storybook, and What Griefs Came of It.

Download Audio



Prerequisite Automation

Download Audio

If you do A and B then you can try doing C. Oh, but you have to do A and B every time you want to do C. No, you can’t skip those parts. It’s core gameplay!

Seriously, what’s the deal with this? Can’t I prove to you that I’m capable of these tasks? I mean, collect some statistics on my performance or something. Even degrade it by 10%, or 50% for that matter, just let me use MY performance for the “auto calculate” instead of the developer’s expectations or the AI’s abilities.

I’ve already written on this topic before. Hopefully this article will offer another angle of approach to the concept of not wasting the player’s time. Continue reading


Download Audio



“Win the Game” Button

Download Audio

We need this. Badly.

If it explains how it won, then you’ve just made a self-updating tutorial and walkthru.

If you can choose which part of the game it works on, then you’ve just implemented a “skip this annoying/frustrating part” button.

If it spoils your intricately woven masterpiece of a story-line… you’re working in the wrong medium. If it ruins multi-player, then turn it off during competitions. Continue reading

Simplify! But What?

Download Audio

A game can not be (and indeed should not be) a perfect copy of real life. Some things are different (fantasy), but most are simplified. This is good. We play games, in part, to escape from the complexity of normal life and focus on a few relevant details. We desire to fit the whole problem in our heads, and most of us have heads too small for the real world.

And one can only do so much. Ideally game designers could include everything in the world, but our minds are not yet broad enough (nor our game systems powerful enough) to do this. So, since some form of simplification is both desired and required, we must ask, “What do we simplify?” Continue reading

while(True): Experience and Expression

Download Audio

I love a beautiful expression. Many others prefer a beautiful experience. Both are necessary.

Expression is moving something inside outward, pouring out what is already in the soul. Experience is drawing something outside inward, lapping up the un-self into the self.

Of course, rarely does one exist without the other. We experience our own expressions, and modify them even as they are pronounced. We respond to our own experiences, and express our reactions even during the event. Experience and expression each chase the other. One leads, and then doubles back, chasing the first; This recursive cycle feeds on both the other and the self, and can quickly lead to surprising places.
Continue reading

What Fledgeling is Not

Download Audio



Master of Orion II

Download Audio



Things Master of Orion 2 does right:


Your Mind

Download Audio



Tank Made of Paint

Download Audio



But don’t build an engine out of paint. Continue reading

Why Fledgeling?

Download Audio




What is a GM?

Download Audio

A Game Master, in a free-form role playing game, fulfills a variety of roles. The players in such a game “play the role” of variously limited creatures, usually individuals. One could sum up the GM’s role as “the Game Master plays the role of God”… but that’s too easy! What does God do? What are God’s duties?

Authority and agency, consistency and novelty, growth and challenge. These three pairs of attributes form the core of God’s being and thus the focus of a GM’s efforts. Continue reading

Issues of Scale

Download Audio




Good Graphics are Bad

Download Audio

No wait, let me explain! I like my games iconic and clean. I don’t want a cinematic experience, I want to be challenged. If you love the fancy eye feast offered by modern games, that’s great… and you should probably skip this article. Chess and Dwarf Fortress are more my style. So, that’s where I’m coming from; That’s also where I’m going.

Graphics should clearly present the game state and indicate the player’s options. Visuals which lend a sense of place, atmosphere, and proper gravity to a game world are admirable. When I say “‘Good Graphics’ are bad” I’m talking about facet count, normal projection, specularity maps, lens flares, and pre-rendered cutscenes. That stuff is great in movies. But games don’t need it. Games don’t need “good graphics” to be good games. Continue reading

Design Hubris

Download Audio

Everyone thinks that their ideas are the best. No one thinks they are crazy. Yes, we can all admit we were wrong from time to time, but people don’t actively hold beliefs they know are false. We have (and must have) a confidence in our own ability to reliably perceive and interpret the universe.

Despite this, everyone is wrong all the time anyway. Continue reading

Linguistic De-coupling


Download Audio

Do not abuse language. If you try to bend language too much, it will just delaminate from the hearer’s consciousness, and inhabit a separate space from their perception of reality. You won’t be talking about anything your audience knows or cares about. You’ll just be talking to yourself. Continue reading

Games of Chance and Skill

Download Audio

Some games are fully chance based. Some games are fully skill based.
But some games are both, and life is like this too.
The problem is when one is disguised as the other. Often chance is disguised as skill, to make the player try to figure out how to do better. The other case, where skill is disguised as chance, is far rarer.

Most games involve both chance and skill. A game that is totally based on luck is merely a lottery. However, even games where luck and ability are mixed can be deceptive. Most often, chance is disguised as skill, but it can go the other way as well. Continue reading

What is Fledgeling?


Download Audio



The overview page says the same thing in more words.


Download Audio

Games are all about conflict. Whether it is conflict between separate players, or between players and the game’s rules, there is a tension of desires. Someone wants what they do not have. Often, it is something that someone else has (see all zero sum games). Without conflict of some sort, there is no game. Even the most peaceful and creative of games embody this axiom.

A conflict is all about understanding yourself and your opponent, using your strengths against the opponent’s weakness, and maintaining the will to win even after sustaining injuries. Lest this description sound too martial, allow me to give a “peaceful” example. Building a block tower is a conflict. It is the player (the builder) against the game (physics and gravity). Continue reading


Download Audio




On how minds turn


Download Audio


No, not the character’s mind, the player’s mind.

The mind that is reading this sentence right now.





What does it All Mean?

Download Audio

We long, with good reason, for things to make sense.

I recall my frustration with Fable when, upon finally reaching Snowspire Village, everyone speaks a totally understandable language. Plus, even though they have been out of contact with everyone else for “a long time” it’s no big deal when a foreigner arrives and re-opens the Cullis Gate. And where have they been getting food all this time? And clothes? Why haven’t they all starved to death? It just made no sense at all.

For me, the game world is the most important part of a game. Continue reading

The Metaverse

Download Audio



Games emulate Experience

Download Audio

… which means that games are based on reality. Well, okay, someone’s imagination of reality.

A game (computer games included) is a way to explore experience. What is it like to lead an army? Chess can answer that, to a point. A game is a kind of metaphor. It is a tool to find the ways in which complicated things can be made simple, and simple things made complex.

But people’s imaginations interfere with both their experience and their memory of reality. Continue reading


Download Audio


Things SpaceChem does right:


Fast Travel

Download Audio

Travel is a common mechanic in nearly every game. Moving pieces in space is a powerful symbol for changing the state of a system. Walking is a familiar experience, and draws us into the game world.

However, computer games commonly enforce a strict method of transit, with the player’s experience lasting as long as the character’s. Say you want to walk to the doughnut shop. You’ve got to walk down the drive way, go a ways through the neighborhood, travel a few blocks through the commercial sector, and finally walk through the parking lot (maybe you should have driven your car!) to the doughnut shop. Maybe it’s fun the first time… Continue reading

(No more) Busywork

Download Audio

Don’t make the player do busywork. Anything the player can do easily but can’t avoid is busywork. Our subconscious takes care of these tasks in real life. Build a subconscious into your game for crying out loud!

What if there were a “Turning the key” minigame every time you start a car in GTA. Absurd? What about lock picking? Busywork shows up all over the place; Players largely put up with it; They shouldn’t.

Why do we get busywork in the first place?
  • Tutorial: It has to be long and boring!? People are forced to complete worksheets at school, but this usually requires the threat of actual physical pain. Games do not have this luxury. Make your tutorial enjoyable, and let the player quit when they get the idea. Continue reading

AI Assist

Download Audio

If the AI is better at this game than I am, why don’t I just let the AI play on my team? Oh, right, because it’s supposed to be “fun” to do this myself. The thing is, I’d love to delegate stuff to the computer. Maybe not everything, but, well, here are some examples.

Minecraft: All about mining and crafting right? Okay, so I know the computer can do pathfinding (the mobs do it) so why can’t I just tell my character to “go home”? I know the computer can do combat too, so I should be able to tell my character to “go fight”. This is super easy stuff, why doesn’t the game help me out? The AI exists, all I want is access to it. I want my character to be at least as smart as the zombies. But no, it’s all manual. Continue reading

Dwarf Fortress

Download Audio


What DF does right:


An Ode to The Glorious

Download Audio


in his name, from the seat of his personality
for what you have known, the things proceeding from your understanding
right things, the firm knowledge
when doubt assails you, when your hope grows dim
then make your foundations firm, search out the sound basis
though you may have good ideas, your reasoning understandable and convincing
take from the Glorious One, receive the good things without shame
continue in His mercies, make sport in the good paths



Computer Toys


Download Audio



Please forgive me.

Storytelling and Agency

Download Audio

This article was originally written as a guest article for Jay Barnson’s blog. This version is slightly edited, but supports the same core concept.

Traditional storytelling has no place in games.

Tall order? Okay, here goes. Why are a lot of “story games” these days just Simon Says with cut-scenes? Why is a good DM more engaging than fully animated AAA graphics? Why do we keep getting so many stupid stories in otherwise well executed games? The answer lies in the nature of storytelling and games. Continue reading

Press Start to Begin

Download Audio

Greetings fellow people-persons!




Dudecon AKA Ziggy