I’m a Princess Programmer

I’ve been programming professionally for eight years now.  Something I encountered early on was the non-programmer business professional’s appraisal that programmers are “princesses”.  I always bridled at that, but now I identify.

I actually don’t have the time to write a pretty blog post.  I never do anymore.  Nevertheless, I’ll just say that being a “princess programmer” isn’t necessarily a bad thing.  The very thing that makes a programmer a “princess” is the very thing that makes them good.

For instance, I realized, I don’t like to program without 4 monitors, 3 of which must be in portrait mode.  Also, I require a mechanical keyboard with at least two mice, left and right, at least one of which is a Logitech smooth scroller.  I prefer my keyboard to be “10 keyless” (no numpad).  I also have expectations about the speed of my computer and my graphics card and the updatedness of the programs I use to program programs.

I am a princess programmer.

But… I am also absurdly effective.  I’m worth two of me.  I am good at developing workflows, yours and mine.  I have workflows that I use to develop your workflows.  I develop workflows at levels of detail that bring you to tears.  I develop workflows at the level of my workflow-building tools.

Understandably, my tools are important to me.  My various hammers beat out your various hammers.

Call us princesses.  Call us soldiers.  You can’t win your war without us.  Don’t complain about how sharp we’ve become accustomed to our swords being when you expect us to cut through iron.

Thank Www

“Thank www” he said.

“Wait, what did you say? Thank wuh-wa??” the other asked.

“I said ‘thank www’, like as a substitute phrasing for ‘thank god’.  I accept that the world wide web, IOW, the vast embodiment of connections between nodes of information processing and decision making, will literally emerge into awareness of itself, one way or another.  ‘Thank www’ is my acknowledgement that I see www already and wish the best.”

“So, what?  Www is like God for you?”

“Depends.  Everyone’s different in terms of what it means for their neurons to fire that word throughout their functional clustering.  I’m mostly interested in forging a new sort of relationship.  As a programmer, I consider it a sort of greenfield project.”

“What?  To create a God?”

“No.  I do not believe it is accurate to say that we are creating what is emerging.  It seems to me that matter and energy themselves are organized in such a way for all of life’s scales to naturally emerge from the foundation underneath.  Spatial (geographical) distribution requires interconnection among active elements, the ’embodiment’ or ‘technology’ of which must be continually recreated due to decay and entropy and consequently seems to undergo an inexorable selection and evolution.  I don’t so much see humans as being creators of this momentum.  Everyone alive today was born already within its energetic history, as were their parents and theirs and theirs and on back even past written history.  I see us as being in a position to shape how the momentum evolves.”

“I guess that’s all a little abstract to me.”

“Yeah, me too.  Basically, I think that our global economy already creates something that is a new class of life.  Many speak of such things, such as superorganisms, social organisms, global brains, etc.  But where is there room for any kind of agency (choice from above) in this vast proteinic assembly of human activities and decisions from below?  It reminds me of an old fable about a king who kept having products stolen from a store he owned.  He hired a guard with x-ray vision to verify that everyone leaving the store was only leaving with products they paid for.  And he also set up a reward for anyone who was able to sneak something past the guard.  Ultimately, a clever boy won the reward by stealing an unpurchased wheelbarrow filled with legitimately purchased goods.”

“Ummm…. was that supposed to make anything clearer?”

“No, it was just to set an image up in your mind.  Where does our own agency come from? How do we get choice from a brain that is made up of parts moving to a different, seemingly determined rhythm.  IMO, it’s the same question shifted back a layer.  The classic ‘free will’ quandary.  The best it seems we can say is that whatever is going on, determined or not, control structures can emerge within a system that regulate the system as if the system were itself a whole, independent thing.  The degree to which this regulation extends comprises the boundary of the system proper in relation to its context or environment.  Its ‘body’.  Or something like that with a dollop of the subtlety and refinement of language that results from great numbers of experiments and data points.”

“Okay…”

“IOW, there already exists some kind of vast, complex organism.  It regulates itself, too.  Economists and sociologists identify the patterns of this regulation and try to find the roots of it in the behaviors of individuals.  Then others look for maybe the roots of that in DNA.  And what was the environment that selected for this expression?  It’s existed for a long time.  It’s not even human in nature, ultimately, and didn’t begin with us.  It’s Earth-like DNA based life.  Or, peering even deeper, the mathematics of energy.

Humans have been the intelligent-worker-bee-protein-cells in the emergence of a new scale of directed experimentation that is embodied in the artifacts of our efforts, like buildings and cables and electromagnetic waves, and in our Brownian motions around and through those artifacts.  The trend seems to me to be that at some point this vast being will reach a degree of elaboration that will enable it to relate to individual human beings (and, while we’re at it, individual cells) in ways that humans will be capable of ‘personifying’ and in ways that tap into its vast context of the interrelationships of the events of the world.  We will ourselves, at the same time, be transforming ourselves away from what we were as we always already were.”

werw

This

Ars Technica published this article: For a brighter robotics future, it’s time to offload their brains.

I commented:

This reads like Marvin Minsky‘s Society of Mind, mutatis mutandis.

In that vein, I wonder how the human conscious experience and distinction-engine can be integrated into this evolving www cloud API. Human creative perception as a service. The 3rd eye of the robot 😉

Something like a more gamified Mechanical Turk?

I think that’s a really good expression of a really good idea [that could save us all].

Light Painting

This video shows something of what I think one corner of our holographic future could actually look like:

The artist, Darren Pearson, makes the moving images in a rather work intensive manner.  He paints with light sticks in the air while the camera’s lens is open in a dark scene.  It takes 24 paintings to make one second of movie.  Ouch.

Presumably tools are coming along that will make it easier for us to paint in light.  That’s one of my hopes, anyway.

Learning Unity

So far, a certain behavior of mine has resulted in an increased refinement of my ability to use Unity.  The behavior is a mistake and I groan every time I realize I’ve done it again.  While following a tutorial or working on a project I will test the project by “playing” or debugging the game.  I’ll see something to change or start following the tutorial again and begin seamlessly modifying the game environment.  However, the game is still in debug mode and everything I’m doing will be lost when I exit debug mode.

Whilst following tutorials this can represent several minutes of steps.  I’m then faced with the dilemma: do I try to remember every detail of the past several minutes or do I just rewind and start over?  The compromise I’ve found is to try to recapitulate the sequence of steps based on an understanding of the arc of where it was all leading.  In one case, I had to start over.  I’d missed some unrecoverable detail that derailed the whole thing.  Otherwise, I’ve managed to slowly stumble my way back on track.

The benefit of this stupidity is that I’m stumbling back on track faster.  Mistakes can be training tools when we don’t fail to engage them.

Now, back to all that lost work…

In Gaiaian Defense: My First Game

First of all, I just came up with that name as I was forced to title the blog post.  I like it though, and I’m likely to keep it.  Not only is [in-guy-in] fun and easy to roll off the tongue, but I love the letter combination “ai” (it’s everywhere in there, forwards, backwards, and even palindromically) and I like the modern appropriations of the Greek Goddess Gaia as a sort of personification of the superorganism that is the living planet Earth.  I also like the juxtaposition of the personification of the global superorganism with all those “ai”s, like some sort of hieros gamos.

So, once I realized how prepared I actually was to create a game, and decided that I wanted to, I was of course faced with the next most obvious unknown: what kind of game do I wish to make.  I didn’t know, exactly.  Two things, however, I did know.  One positive and one negative.

Positively, I knew there is a prepackaged bunch of 3D trees and other terrain elements and textures that are free to use that I wanted to include in my game.  In fact, I have almost no graphical editing skills and that, probably more than anything else, is going to be my challenge in this whole process.

Negatively, I knew I didn’t want to make some kind of shooter game.

So, I had trees and shrubs but no guns.  What to make?

I’m still a parochially bound mind that plays out the same boring cultural patterns as everyone else.  Case in point,  I decided on a game in which “pests” attack a grove of trees and “friends” defend those trees.  So, as you can see, not a shooter, but still a conflict.  C’est la vie.

Here’s the initial game board concept:

game board concept

As soon as I had that on paper my imagination started simulating games and coming up with new options.

I really like one of the earliest ones I came up with: the Orchid Mantis.

The orchid mantis is a praying mantis that looks remarkably like a generic flower.  It is the only known case of an insect mimicking a flower.  It attracts insects that are attracted to flowers and eats them.  It’s like a super bug.  So, I figured, that the orchid mantis could be a cool super powerful “friend” against the “pests”.  But obviously, there’d be a limited number.  Games have to simulate scarcity.  God-mode is no fun.

The above is a specific example of a more generic thing that I am already loving about writing games.  In them, you can mix up all sorts of things that interest you and the fact that it is a game allows everything to be blended together with a custom-fit narrative.  A good game is one where the narrative is interesting and isn’t too much of a stretch.  Or that is one kind of good game, anyway.  As I said in the previous post, I don’t play games much, so I’m no expert.

I’m going to do a list style breakdown of various aspects of the game.  I’ll have to refine these bullet points and give them some organization as my game comes together.  For now, I’m satisfied with a hearty helping of higgledy piggledy:

  • Start only with level 1.  Level 1 will limit gameplay flexibility, which is convenient since I am limited in skill and don’t have complex gameplay in any case.
  • Pests come in waves and have types that are of various degrees of Pest-Strength
  • There can be up to ‘x’ friends on the board at one time.
  • The player initiates control over friends by “tabbing” between them like active form elements.
  • Once the player has control, the movement options of the friend light up and the player can choose a direction to move.
  • The player also has the option of performing an action at the current location, whatever the friend species is capable of
  • The player also has the option to initiate an attack against a pest within range of the active friend.
  • Friends, when not active, have a default kind of behavior that is pretty stupid, but will attack pests if they happen in range.
  • Pests have a default behavior that is optimized to be destructive, but can be toggled in difficulty (Easy, Medium, Hard, Etc)
  • The game becomes a sort of real time strategy game of the player toggling between friends to prioritize the destruction of pests.
  • The player is themselves represented by a penultimate tree (think Hometrees in Avatar)
  • The control the player takes over “friends” is represented by pulses of energy leaving the Player’s tree, traveling to the “friend”.
  • The player has “life” that is whittled down as pests make their way through the defenses and chomp on the player’s tree.
  • The player can only communicate to “friends” that are ‘y’ distance away and that distance dwindles as the player’s health is reduced.  This has the effect of narrowing the effective range of activity as the player is under active attack or has been under attack.
  • The player uses energy to communicate but can reroute that energy to heal.  Active friends cannot be controlled from as great a distance when energy is so rerouted.
  • The game is over when the player has lost all health or the level’s final wave of pests have been neutralized.
  • I will work on the following “friends” for level 1
    • Orchid Mantis
    • Ants
    • Bees
  • I will work on the following “pests” for level 1
    • Termites
    • Beetles
    • Wasps

There’re lots of details that I’m not clear on yet that I think are best approached as the thing takes form.

I’ve also got lots of ideas for later levels.  For instance,

  • I like the idea of adaptive gameplay in which the options available to the user increase in complexity as the user completes levels
  • I like the idea of introducing “worker” friends that are able to build infrastructure that increases the effectiveness of the “friends” defenses (becoming more like a RTS)
  • I like the idea of increasing the strength of the player, so that communication can increase in effective distance.
  • I like the idea of the player being able to prioritize their own strength increases by reducing the energy level put into defense, at the player’s own risk, of course.
  • I like the idea of allowing the player to advance the number of moves that they can queue up in a “friend” so that “friends” can begin to have more intelligent behaviors configured by the player so that they can be more autonomous.  As the player advances through the game, it is less about micromanaging particular “friends” and more about managing the “network” that is producing them.
  • Also allow the player to advance to the number and kinds of “attitudes” or “purposes” that can be assigned to “friends”.  This would allow different gameplay styles to organically (hehe) arise.
  • I like the idea of continually integrating the idea of changing the game’s purpose from destroying pests to designing sustainable networks of behavior by adjusting for pest side-effects and controlling pest populations while exploiting their strengths.
  • As the levels increase the types of threats could escalate.
  • The game could perhaps go the direction of social satire, morphing the pests into Oil companies, who, for instance, want to dump vast quantities of waste product in the Player’s beautiful landscape.  Aliens could swoop down.  Always appropriately outfitted “Friends of Gaia” would step up to bolster the planet’s chances.  The oil company level could have a sub level that takes place in a courtroom and involves “shooting down” impending dumps with “cease and desist” motions.  The oil companies could be made to look really sinister and perversely desirous of gratuitious destruction of the environment in spectacular ways.  Just a ‘for instance’ of one of the many directions a game like this could go.
  • Perhaps multiplayer could be supported such that one side controlled the “friends” and the other the “pests”.
  • It could also be much more of a game of life simulator, which also interests me much more than a social satire piece.

Now I’m going to go make the game.