About dudecon

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

‘The Destination’: An Interstellar Puzzle

Introduction
Imagine an ecosystem of games where the boundaries of play are only as limited as the universe itself. Enter ‘The Destination’, a new facet of the Fledgeling ecosystem that merges the exploration of ancient alien ruins with the open-world creativity of sandbox games. It’s a place where the cerebral challenges of Myst meet the boundless construction possibilities akin to Minecraft, and the agile traversal of environments inspired by Assassin’s Creed. ‘The Destination’ is not just a game; it’s a journey into the unknown, a puzzle wrapped in an enigma, set against the backdrop of interstellar mystery.

Image

Continue reading

Potion Craft: Proposals

I just finished playing Potion Craft, an early-access game in version 0.4.5 of development. It’s fun, and charming, but you can tell all that by watching the trailers or let’s-plays on YouTube, so that’s not what I’ll be talking about here. I’m going to be making suggestions. And not just any suggestions! Sure, there could be more components and effects, and more visitor requests, and the ingredient pricing needs some balancing, and it would be cool to be able to use your own potions, but those are all obvious next steps that are certainly in a dev roadmap document somewhere. So instead, let’s start with:

Continue reading

To See the Sky

We begin in safety. The Hab provides our needs. Spacious, clean, with food and water. But the screens are flashing alerts. The Agents are coming. They arrive soon.

As the populace runs for the trams, the Seneschal urgently requests your assistance. Although well informed, they have a deeply pacifist mindframe and cannot actively engage with the enemy. You are offered every assistance in the form of supplies, equipment, design, and construction. But you must aim these yourself. The Seneschal will not provide targeting or tactics.

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?

Aside

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

Minecraft uses a single-scale voxel engine, with 1m blocks. The lack of sub-division prevents easily modifying smaller and larger scales.

Instead of considering block textures to be immutable and cosmetic, it could be a rendered representation of a projection of the sub-blocks that compose the block itself. In this way, we could see the classic Minecraft grass and dirt blocks as a single level of nesting in a multi-level system of detail. Because all Minecraft blocks share a texture size (16×16 by default), this isn’t a particularly difficult stretch of the imagination. Minecraft blocks, too, exist in 16×16 chunks, each of which carries some data about biomes, heightmaps, and so forth. The problem here is that all of the user-level and simulation-level operations act on a block level. None of them operate on the textures or the chunks. Continue reading

Scarcity

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.

Quests

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

Shamus wrote an article on procedural generation and I figured I’d follow up with a few of my own thoughts.

Parametric stuff, rules based design. Random = creators decisions. Controllable = design patterns.

Do it manually first. Teaching the machine how to act is nearly impossible if you don’t know how to do it in the first place. Continue reading

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

Scenarios are the thing you play in Fledgeling. They are, in essence, a “what if” proposition. While the ideaspace holds all the possibilities of the setting, the scenario outlines the particulars. But even though the scenario will limit the actual state of the world, many particulars could be left open in order to offer the player room to customize and experiment.

We want to make it easy to design scenarios.

Anything not specified in the scenario will be filled in from the “parent” scenario.

Infinite time and energy, thinking about things as sub-characters attempt to embody your fancies. Spalling off sub-universes as you speculate on different archetypes.

Pausing in slow-motion trying to make a hard decision. While that is happening, a new high-growth crisis emerges (nano-tech fire), overturning the whole point of the decision in the first place.

Corridor: Technical Infrastructure

Last time I wrote about the structure of the overall capability arc in Corridor. This time, I’d like to explore some ideas for how to implement Corridor.

Everything is Corridors

So, the first thing is the cohesive underlying principle. A corridor is a designed transit space. We’re most familiar with the spatial variety, that is a transport corridor along a space-time vector, but one can have corridors along any axis. Storage is a transport corridor along a simple time vector. A workshop is a transformative corridor, along a time vector. A vehicle is a corridor generator on the outside, and storage within. Nested corridors! Continue reading

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.

Abstraction

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

Momentum

Cross between Go, Chess, and Fledgeling

Nodes, connected by straight lines (curves possible?). Pieces move one space at a time, simultaneous movement for all teams. Each piece has a momentum vector. Movement takes 1 momentum (plus vector effects). Pieces colliding zero momentum for both, higher momentum makes the move, lower momentum is removed from the game.

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.

You are playing as a cute little rodent of some sort. Let’s just call it a gerbil. The progression path is to prove yourself worthy of the throne of the Intergalactic Gerbil Emperor, but it’s a sandbox game, so you’re free to get distracted. I’ll be describing the progression from the bottom up, but you can start anywhere in the progression. The game will fill in the previous steps procedurally! In fact, this progression path is the first corridor, the corridor of personal empowerment through increasing authority and responsibility. Continue reading

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 ḽӧœĸ ŀįҟԙ ҭԡ༑ṩ ѩʼnᵴťӕаԂ. 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':'āăąаѧѩӑӓӕḁẳ⎀',
        'B':'ВѢҌ฿ḂḄḆᙗᙫ','b':'ЉЊБЪЬъыьѣҍḃḅḇᒀᖲ',
        'C':'ĆĊČСҪℂ℃','c':'ćĉċčсҫ',
        'D':'ĎĐḊḌḎḐḒ⫐⫒ᗫᗤ','d':'ďđԀԁԂԃḓḑḏḍḋᑽᖱ',
        'E':'ĒĔĖĘĚŒЀЁЄЕѤӔӖԘ⋵⋶ᕮ','e':'ēĕėęěœеѐёѥӕӗԙ',
        'F':'ҒӺḞ℉ᖴ','f':'ſғӻẛẜẝḟ',
        'G':'ĜĞĠĢԌḠ','g':'ĝğġģḡ',
        'H':'ĤĦЊНҔҢҤӇӉԊԢԨԪ','h':'ĥħЂЋђћҕңҥӈӊԡԦԧℎℏ',
        'I':'ĨĪĬİIJІЇЮѤѨӀ','i':'ĩīĭįıijіїѩ༐༑',
        'J':'IJĴЈЉӇԈԒԔᒏ','j':'ijĵЛјӈԓԕ',
        'K':'ĶЌЖКҖҚҜҞҠӃԖԞԪ','k':'ķĸкҗқҝҟҡӄԗԟ',
        'L':'ĹĻĽĿŁḶḸḺḼᒺ','l':'ĺļľŀłӏḷḹḻḽ',
        'M':'МӍᴍḾṀṂ','m':'ӎᵚᵯmṃṁḿ',
        'N':'ŃŅŇŊЍИЙҊӢӤ','n':'ńņňʼnŋҋᵰ',
        'O':'ŌŎŐŒОЮѺӦ⥀⥁','o':'ōŏőœбоѻӧ',
        'P':'РҎԖⰒⰐᑬᑭᑮᑶᑸ','p':'рҏԗᵱⱀᖰ',
        'Q':'ҀԚⰢ','q':'ҁԛⱉᖳ',
        'R':'ŔŖŘЯԄԆԖԘ℞ᖇ','r':'ŕŗřѓг',
        'S':'ŚŜŞŠЅṦṨᔡ','s':'śŝşšѕᵴṩṧṥ',
        'T':'ŢŤŦЂЃЋГТѢѢҬԎ','t':'ţťŧҭԏ',
        'U':'ŨŪŬŮŰŲ⩂⩁⋃ᙈᙀ','u':'ũūŭůűų',
        'V':'ѴѶṼṾⰜ⩢⩣⩛⩝⍱⋁ᐻ','v':'ѵѷṿṽⱌ⩡',
        'W':'ŴѠѼѾԜ','w':'ŵѡѽѿԝ⍹',
        'X':'ЖХҖӁӜӼӾԔ','x':'жхҗӂӝӽӿԕẋ',
        'Y':'ŶŸЎУҮӮӰӲ','y':'ŷуўӯӱӳ',
        'Z':'ŹŻŽᤏᤁ','z':'źżžᙇ',
        '.':'.․⁝⁞',
        '?':'?‽⁇⁈',
        '!':'!‽⁉',
       }

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"

print(oddify(s))
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.

#!python
# dozinal.py

BASE = 12
PREC = 8
GLYPHS = {}
VALUES = {}

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

	for i in range(BASE):
		if i < 10: GLYPHS[i] = str(i)
		else: GLYPHS[i] = chr(i+55)

	for i in range(len(GLYPHS)):
		VALUES[GLYPHS[i]] = i

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

	whole_parts = []
	frac_parts = []
	prec = PREC
	while prec > 0:
		prec -= 1
		frac *= BASE

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

		frac_parts.append(GLYPHS[part])

	while whole > 0:
		mod = whole % BASE
		whole = whole // BASE
		whole_parts.append(GLYPHS[mod])

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

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

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

	whole = 0

	for idx in range(len(whole_parts)):
		whole += VALUES[whole_parts[idx]]
		if idx < 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 < 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)
		print(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
HIGHEST_PAGE_NUMBER = 4061

try:
    f = open('mcm_page_numbers.txt','r')
    maxpgraw = f.readline()
    raw = f.readline()
    f.close()
    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):
            rem_pgs.append(i)
    else: print("Something went terribly wrong")
except:
    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':
            print("Saving")
            f = open('mcm_page_numbers.txt','w')
            f.write(str(HIGHEST_PAGE_NUMBER)+'\n')
            f.write(str(rem_pgs))
            f.close()
            if inchoice == 'sc': break
            else: print('{} pages left'.format(len(rem_pgs)))
            inchoice = input('Saved :')
            continue
        elif initial == 'p':
            print(rem_pgs)
            inchoice = input('Those are the currently loaded indicies :')
            continue
    idx = choice(range(len(rem_pgs)))
    chosen_page = rem_pgs.pop(idx)
    webbrowser.open('https://www.mcmaster.com/catalog/126/{}'.format(chosen_page))
    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',
        'B':'Bravo',
        'C':'Charlie',
        'D':'Delta',
        'E':'Echo',
        'F':'Foxtrot',
        'G':'Golf',
        'H':'Hotel',
        'I':'India',
        'J':'Juliet',
        'K':'Kilo',
        'L':'Lima',
        'M':'Mike',
        'N':'November',
        'O':'Oscar',
        'P':'Papa',
        'Q':'Quebec',
        'R':'Romeo',
        'S':'Sierra',
        'T':'Tango',
        'U':'Uniform',
        'V':'Victor',
        'W':'Whiskey',
        'X':'X-Ray',
        'Y':'Yankee',
        'Z':'Zulu',
        '9':'9er',
        '0':'Zero',
       }

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

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

    print(phoneticize(s))

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"],
                   "Jellyfish",
                   [["Whale", "Killer Whale", "Narwhale"], "Dolphin", "Walrus", "Otter"],
                   ["Shell: spiral", "Conch", "Shell: ribbed, clam"],
                   "Eel, Leech, Hagfish",
                   "Coral, Anemone",
                   "Shark, ray"]

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

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

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

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",
               "Hummingbird"]

# Veggie

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

Vegi_2_Fruit_Vegi = ["Asparagus",
                     "Pinecone",
                     "Berry, Grapes",
                     "Ginger",
                     "Tree fruit (apple, orange)",
                     "Bean",
                     "Pumpkin, Gourd",
                     "Broccoli, Artichoke",
                     "Corn",
                     "Grain, Wheat",
                     "Pineapple"]

Vegi_3_Fungi = ["Moss",
                "Slime Fungi: Ooze, Jelly",
                "Lichen",
                "Mushroom"]

Vegi_4_Tree = ["Willow",
               "Birch",
               "Maple, Oak",
               "Banyan",
               "Pine",
               "Palm"]



# Elemental & Mineral

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

Elem_2_Liquid = ["Icicles",
                 "Fog, Vapor",
                 "Wave",
                 "Dew Drops",
                 "Ripple",
                 "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",
                            "Starfield",
                            "Crater, Asteroid",
                            "Solar Flare",
                            "Galaxy form",
                            "Volcano",
                            "Planets, Saturn's Rings",
                            "Cloud, Cyclone, Turbulence"]

#Technical

Tech_1_Transportation = ["Car, Truck, Bus",
                         "Aircraft",
                         "Rail, Train, Trolley",
                         "Cycle (motor or bi)",
                         "Sled, Ski",
                         "Boat, Ship",
                         "Spacecraft",
                         "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",
                       "Tent"]

Tech_3_Tool = ["Drill",
               ["Cup", "Bowl", "Plate", "Silverware"],
               "Umbrella",
               "Bundle, Bale",
               "Hammer, Axe",
               "Brush: Hair, Tooth",
               "Razor, Knife",
               "Spigot, Faucet",
               "Rope",
               "Lock, Key",
               "Adhesive, Bandage",
               "Shovel, Pick",
               "Capsule, Tablet",
               "Nuts, Bolts",
               "Chain",
               "Thread, Stitch",
               "Shears, Scissors",
               "Pen, Paintbrush",
               "Spring, Coil",
               "Syringe",
               "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"],
                  "Telephone",
                  ["Microchip", "Circuit Board", "Network Room, Cables"],
                  "Dish Antenna",
                  ["Rocket", "Turbine", "Fan, Propeller"]]

#Character Elements

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

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,
        Anim_2_Insect,
        Anim_3_Mammal,
        Anim_4_Reptile,
        Anim_5_Bird]

EleMineral = [Elem_1_Fire_Electric,
              Elem_2_Liquid,
              Elem_3_Earth_Metal,
              Elem_4_Astral_Atmosphere]

Veggie = [Vegi_1_Plant,
          Vegi_2_Fruit_Vegi,
          Vegi_3_Fungi,
          Vegi_4_Tree]

Techne = [Tech_1_Transportation,
          Tech_2_Architecture,
          Tech_3_Tool,
          Tech_4_Machine]

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
    else:
        Sub_Root = choice(Root)
        return RecurseChoice(Sub_Root)

#Choose one from each category

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

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

# 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/
They are also on GitHub: https://github.com/dudecon/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

You may have noticed a recent drought of content for this blog. There’s a number of reasons for that, but the most pressing is that no one is paying us to do this, so we do it whenever we feel like.

So, how do we get paid to work on Fledgeling? We could just take donations, but they don’t work well. Patronage is just regular donations, and this model hasn’t worked well for us either. At least, not so far.

The classic approach is to charge for copies of the software, Continue reading

Uplift: Plants

PlantExampleTerestrial plants grow from seeds. A seed is a concentrated bit of building materials, energy, and instructions that is missing one thing… water. In fact, water is the critical component which allows seeds to flourish. There are also factors such as temperature, air, and light.

In keeping with the simplified nature of Uplift, this process is simplified as well. A plant has three primary resources it keeps track of (alongside the structural and thermal ones that are inherent to all blocks in Uplift): Nutrients, Energy, and Water. In addition, there are three primary structural components: Leaves, Stem, and Roots. Continue reading

Uplift: Components

Uplift is a toy-box. Each of the components can be thought of as a toy from a compatible set. But it is also software, and some things rely on other things in order to function. Trees, for instance, need water to live. If you tried to play with trees without the concept of water, you wouldn’t get very far.

UpliftFoundation

Tada! … Maybe it’s still not obvious what is going on here? Yeah, I don’t really know either.

In order to simultaneously provide toy-box freedom alongside robust dependency visualization, while staying true to the nested voxel presentation, I decided to structure the component dependencies such that they form a voxel structure. Each block relies on all of the blocks beneath it.

Continue reading

Uplift: Not Minecraft

I love procedural content generation. I enjoy Minecraft, and contributed to its development. It’s a fun… Game? Toy? Software?

Minecraft is a fun software.

And it does a lot of things right. It has a consistent abstracted graphical style. It encourages the players imagination. But it also blindly incorporates luck, refuse to give players abilities afforded to the AI, and tends to seem to suffer quite a bit from designer hubris. Overall, it like it, but I also want to improve on it. Continue reading

Definitions: Game

Learning == Gaming

I appreciate Keith Burgun’s work on defining the word “game” (See this post for a good outline. To summarize, KB defines games in terms of the layered context “Toy, Puzzle, Contest, Game” where each successive element is a sub-set of the last) but I have arrived at a slightly different objective space and corresponding terminology. I’ve addressed this topic informally already, (and the topic of the definition of game even more informally) but it bears a more thorough look.

In short: Games are active models designed to allow the user to cheaply learn important information about costly systems.

Or, put another way:

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

Uplift: Introduction

Minecraft is a proven product. Fledgeling is a distant dream. Somewhere between Fledgeling and Minecraft, Uplift juts, jaggedly jousting juxtaposition.

How much can be accomplished in a breath? A day? A lifetime? What can be done with a grain of sand, a brick, or a mountain? What is it like to be a tuft of grass, a bug, a crystal, or an avalanche? Could intelligent rabbits build a civilization? All these questions and more, I intend to explore in Uplift.

If none of that interests you, you should probably stop here. But if it intrigues you, please read on. Continue reading

Uplift: The Game, The Name

Aside

Small Uplift image

Perhaps something like this?

Working on a game concept: codename Uplift.

Where did the name “Uplift” come from? There are a few reasons, that make sense.

  • One of the main mechanics is lifting large blocks of stone and earth.
  • It involves elevating unintelligent creatures to intelligence, technology, and civilization.
  • It is intended as a step between Minecraft and Fledgeling, an attempt to raise the expectations of gamers without attempting any mind-breaking leaps.

Further details forthcoming!

Informed Action

In the case of the people talking, it seems that the surrounding nodes would need to broadcast their shatter conditions so that the node’s currently being simulated know what factors to calculate… Perhaps even, the only factors that need to be simulated are those that relate to shatter points of surrounding nodes… Like sarcasm, its not even thought about (thus not simulated) amongst those who don’t care. Has this been thought about already?

-Excerpt from a comment by Luke

You raise an interesting point, and one I think bears examination.The idea of simulating only the bare minimum required by circumstances is a sound one. It avoids many of the problems of creating masses of extraneous information, and transmitting this information between characters. On the other hand, one of the core ideas in Fledgeling is that of imperfect perception, either by way of being incomplete, incorrect, or deluded. And, in real life, one of the characteristics of shatter points is that you rarely know where they are until you reach them. In other words, they are very difficult to perceive. Continue reading

Fledgeling Discussion 01

Download Audio (41 MB)
If you’re interested, here’s the raw live recording with an extra twenty minutes of random chatter and dropping calls.

NOTE: The following is a dialog between a couple of friends of mine. I’ve talked with “A” extensively on the topic of Fledgeling, and he’s probably the world’s leading expert at this point (Certainly above me. I may be a “visionary”, but half the time I can’t concoct two clauses to rub against each-other). Participant “Q” is also an old friend, and a vetran of industry-critical software development, as well as high traffic web design. The dialogue has been edited for clarity, and I have inserted notes where appropriate to offer clarification. On the whole, I find this discussion fascinating and enlightening, and I hope you do as well. Enjoy!

Q: Do you think the whole “glorified social experience” is just a sort of fad that might pass? Or do you think games will continually develop that way?

A: Both yes and no. An interesting phenomenon to which crowd sourced funding and increased availability to starving developers has given rise is the rise of new, usually-single player, original game experiences. Things like Minecraft and Kerbal Space Program and Dwarf Fortress. At this point they’re generally focused on exploring an idea. Minecraft is basically “will people play a game that isn’t really a game?” in a java app. KSP is “will people play a game where the only rules are Newtonian physics?” Dwarf Fortress is “will people value integrity in a simulation over presentation?” Continue reading

Books, Movies, and Fledgeling

Download Audio

My dad is a salesman, and works from home fairly frequently. When we were little, he used to walk by while we were watching movies, on his way to or from his home office. We had a fairly small library of shows, so we re-watched them with fair regularity. I recall him asking with alacrity, “How’s it going to end this time?” It became a running joke.

Because, of course, it always ended the same way. Continue reading

The Unconscious

Download Audio

Fledgeling will likely have an “unconscious layer” of information. Things the player can not view or directly change, but nevertheless influences the player character’s actions. Unlike most games, the player’s control over their character will be tenuous at best. Most of the necessary functions required for efficient functioning are trivial and unimportant for conscious decision. The player controls the character, by which we mean the character’s major decisions. But for everything else the character relies, to a great degree, on the subconcious.

Now, before you point it out, yes, I am fully aware that “unconscious” and “subconscious” mean two different things. Fortunately I intend to ignore both formal definitions. What I mean is basically anything that you don’t make a decisive choice about. Continue reading

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

Flenglish

Download Audio

What language will Fledgeling speak?

Not precisely your language, unfortunately. On the other hand, no one speaks anyone else’s language precisely. From an early age we both conform to others linguistic oddities and invent them ourselves. Thus arise “dialects” and “slang” and a host of other linguistic structures which continue to concern both young and old (though, usually, in different capacities) Continue reading

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

My daughter came up to me with a book. It’s one of those “books” with four pages, entirely fabricated from impact rated cardboard and primary color paint. Within is depicted a house (Along with what seems to be a completely random assortment of other objects. A dog, a tire, a pond, what is this? It should be titled “A Child’s Guide to Pastoral Free Association”… But I digress.) with a front door, a couple windows, a roof. Common fare.

But it is not common to her. To her, this house is a place of infinite mystery. Continue reading

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

Imagination

Download Audio

You are going to need some imagination to enjoy Fledgeling. It won’t be all in your head (or will it?) but just like a lot of other games the presentation and interface only tell you enough to get you started. You have to (get to?) fill in the blanks yourself.

But this is the norm. A certain amount of imagination is required for any activity. Continue reading

“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

Fledgeling is not what you expect, nor what you are familiar with. Fledgeling is not like some other game you’ve played before. It is not generic. (Just a note, I’ll be talking about what “Fledgeling is” in the definitive existential sense, despite the fact that it has certainly not been implemented yet (except to the extent that it is a mimicry of the real world and the mind, both of which seem to have been implemented quite handily (but not by us)). This is mostly for clarity and simplicity. If it bothers you, simply replace each occurrence of “Fledgeling is” with “we haven’t quite figured out what we’re doing yet, but by the time we’re finished it’s quite possible that Fledgeling is going to be”. My intention is to communicate, rather than offer prophecy or misleading present tense declarations.)

Fledgeling is not Minecraft, or COD, or MOO2, or Starflight, or Dungeon Siege, or Missile Command, or Spacechem, or Trine. It draws from these (and many others) as a source of inspiration. It is not really like these at all. Continue reading

Master of Orion II

Download Audio

This is one of those older games. We played it quite a bit (my brothers, friends, and myself) when we were younger. It’s a “classic 4X” turn based game with a good bit of depth and variation. I haven’t played it in years (and years) now, but here’s what I recall.

Nostalgia Warning! My memories of the game may depart vastly from the game itself. This game may actually be much less interesting and enjoyable than I recall.

Things Master of Orion 2 does right:

  • Interesting tightly woven systems. The race choice (along with a powerful race customization tool) and research options play tightly together. Both directly and strongly influence space combat and planetary colonization choices. There are very few “dud” options, but the choices you make early on can come back later in the game. The no-back-tracking science research acts like a modern skill tree, requiring your entire race to make decisions about trade-offs between different abilities. Continue reading

Your Mind

Download Audio

Your mind is a complicated set of interconnected ideas, which are themselves interconnected ideas. As far as you know these ideas are insulated from “reality” and have no direct bearing on anything that “actually exists”.

Your mind gets new ideas through experiences, either internal (reflection, thinking, intuition, etc) or external (sensations, sight, smell, pain, etc). Most of the internal experiences seem to have to do with the brain somehow, and nearly all of the external ones appear to be additionally mediated by the rest of your body. Continue reading

Tank Made of Paint

Download Audio

One of the most frustrating things about computer games is the common focus on graphic fidelity without matching high fidelity mechanics, interface, and characters. There’s a good overview of the problem over there. I’d like to add a few points.

Graphics are like paint. A good coat of paint does wonders for a project. Paint can really solidify a design, whether code or concrete, into something stunning. Paint takes “machined” parts and turns them into “finished” ones, ready for assembly. Paint can turn a car into a statement, an expression!

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

Why Fledgeling?

Download Audio

Why create Fledgeling? What is so special about this concept? And why this and not something else? Why take time from my friends and family and invest in idea which, truth be told, will likely never succeed?

We all believe we understand the world, more or less. But there are also mysteries. For me, the mystery is pretty much everything. I’m not able to confidently predict all of it. I’m curious. I want to know if I understand things properly. Creating is a way to check that, to compare the internal world with the external one. Fledgeling is a model of the whole world. I’m curious how accurate it is.

That, and I’m too proud for my own good. Continue reading

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

Things come in different sizes. That’s the premise here. A given. Most games deal at least a little with scale imbalance. Fledgeling will deal with objects and organizations on vastly different scales.

But what does it mean that something is bigger or smaller? Does size really matter as much as we think? Can a difference in size amount to a difference in kind? I would say, respectively: Larger things are more difficult to work with, but also more useful. Not really. No. A single set of flexible rules should be able to account for the behavior of large and small alike.

What does scale mean? Like any distinction, scale means relative motion along several gradients. Here are five to get you thinking. Continue reading

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

Aside

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?

Aside

Download Audio

Fledgeling is a numeric role playing framework with integrated Simulated Intelligence and nested fractal structure.

Fledgeling is a computer game. Sort of. It is also a game engine.The TableTop RPG analogy is probably the best. Fledgeling is an attempt to fabricate a computer program that can act as both mediator and storyteller, with the ability to adapt to player actions. So basically we’re trying to make an AI DM.

The overview page says the same thing in more words.

Conflict

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

Lottery

Download Audio

Materials vary. Situations vary. History, performance, results may vary. Whenever you know something, or see something, or remember something, or do something you’re experiencing a bit of slop. Nothing is mathematically certain.

This is one of the reasons games of chance are so attractive to us. We deal with small randomness all the time, and bringing it out into the open and freely admitting “I have no idea how this will turn out” is satisfying in a way. We hide and ignore the randomness in so many other situations that letting it out feels right. “It’s about time” we seem to say.

But chance isn’t everything. In fact, chance is only the lack of control on top of our skill. If there were no intent, no goal, there would be no chance. Continue reading

On how minds turn

Aside

Download Audio

Fledgeling is, at its core, a game about your mind.

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

The mind that is reading this sentence right now.

Your mind is dumb. I want to build you a better one. Construct something new with the rubble that is left, once you have seen what I have seen.

Oh? Your “sanity” is strong? Perhaps it is. Perhaps it will withstand the blows, the rocking shift beneath your feet, as the soil turns to sea. Can your philosophy survive at twenty thousand feet underwater? Perhaps it will.

You may be blind to the implications. Perhaps, both unseeing and unhearing (or lashed upon the mast) you will sail past the sirens. You could come, unaltered, to familiar soil, and eat the same bread you ate before.

But then, if Fledgeling does not change you, why would you play at all?

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

Let’s talk about “The Metaverse”. What is it? Why is it desirable? Who cares? Sure, you can look it up on Wikipedia, but here’s the digested version.

Basically, the Metaverse is a shared artificial computer-based world. It’s like an MMO, the Internet, and Sim Everything all rolled into one. Throw in a bit of Science Fiction and a dash of the Matrix and you’ve got the Metaverse. Let’s break this down a bit: Continue reading

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

SpaceChem

Download Audio

I really can’t say enough good things about this game. I’ve already written about the experience elsewhere, so I’ll try to stick to seeing SpaceChem from the game designer’s perspective.

Things SpaceChem does right:

  • Player freedom: The story stays out of the way and lets the game go. You can even ignore the story entirely, and just play the “puzzle” part of the game. The puzzles let you solve the challenge any way you want. There is no “right” solution (though some are better than others). SpaceChem never forces you to take time out of gameplay to experience the story. It’s totally optional. Continue reading

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

Dwarf Fortress is an amazing game. When I first began playing, it fulfilled many long-nascent desires (desires later scratched in a different way by Minecraft). After a while, I grew tired of its idiosyncratic foibles (and I discovered Minecraft). Here are my thoughts. Keep in mind that DF is still in development, and could use your support. Consider downloading the game and donating a meal or two worth of cash to the talented Tarn Adams.

What DF does right:

  • The interface is really dense. Sure, when you first look at it it appears that the Quadratic Formula exploded but after a while it grows on you. The interface exposes a ton of information that would normally remain hidden in sub-menus. The keystroke oriented input also makes it easy to automate tasks. A whole set of AutoHotkey scripts are available, which would be impossible if not for the input oriented interface. Continue reading

An Ode to The Glorious

Download Audio

Some credits up front, most of the ideas that Fledgeling was drawn from are not my own. Many have been drawn from other computer games, or things other people have said. Mostly, however, the ideas have come from God’s creation (which is to say, from experience of the world) or from God’s word (which is to say, the Bible). In recognition, here’s a short psalm.

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
give glory to the origin, ascribe to Him the just Honor!
when doubt assails you, when your hope grows dim
then make your foundations firm, search out the sound basis
with Him is the right way, in Him can be found the sure path
though you may have good ideas, your reasoning understandable and convincing
all good things come from His hand, the free gifts flow without bounds
take from the Glorious One, receive the good things without shame
rejoice in firmness and health, and make good use of your powers
without Him we are nothing, lacking the Source all streams dry up
continue in His mercies, make sport in the good paths

It doesn’t do Him justice, but I hope it does Him proud. Thanks to all of you who have helped through the years. I really appreciate it.

What does this have to do with Fledgeling? Well, the philosophy of the designer works its way into everything that a game is. It affects what is put in and (more subtle) what is left out. I believe that God made the world good, and understandable. It’s going to come out in anything I do, and especially an everything-sim like Fledgeling. If you want to make a nihilistic ode to destruction, go visit some other series. I serve a different spirit, one that has blessed creation.

Computer Toys

Aside

Download Audio

I’m going to say up front that I can be sloppy with terminology. I re-define words mid-argument and occasionally use words as their antonyms. It should therefore come to no surprise that, on a blog almost entirely focused on computer games, I use the term “computer games” with a bit of latitude.

There is a real and useful distinction between games and toys, and I intend to ignore it. The term “game” is used to denote an activity with a clear win condition. A toy is just something you play with. One could hardly call Minecraft a game; It’s more of a toy really. Yet, no one refers to Minecraft as a “computer toy”. That makes it sound like a pink plastic fake laptop that plays children’s songs when you press any one of the six oversize keys. But, “computer toys” (like Minecraft) are important, and employ many of the same design principles as games. So, throughout this website, I’ll be using the term “game” in all its permutations (computer game, game design, etc) to refer both to computerized games, and computerized toys.

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!

Here is where you can start learning about what Fledgeling is, and how it has driven me partially crazy. I trust these ideas about what games (and computer games in particular) can be (and will become) shall so astound you that you will become a bit crazy as well. Don’t be afraid, “crazy” is what normal people call genius before they understand it. Of course, it’s also what you call someone who has lost touch with reality. You’ll have to judge between those yourself (you always do).

Okay, what am I talking about? I’m talking about the Metaverse, the Ultimate Game, the first Simulated Intelligence. Too abstract? Well, browse some of our articles. There are articles about games, and philosophy, and even a few about Fledgeling itself. If you don’t find what you are looking for, leave comments right here on this post. I’ll be happy to write new articles explaining things. Totally confused? Questions are good too. There’s just so much to say!

Enjoy!

Dudecon AKA Ziggy