Author Topic: Paes' Programs  (Read 3523 times)

Triple Zero

  • DO NOT ABUSE EXCEPT FOR URGENT FURNITURE MOVING EMERGENCIES
  • One-Armed Jizz Moppers
  • Deserved It
  • **
  • Posts: 80835
  • Horrible and Sexy Queen of Cheese
    • View Profile
    • Random BIP
Re: Paes' Programs
« Reply #15 on: August 19, 2013, 07:00:39 pm »
(Ixxie is the guy that ate Regret's face in my recent WOMP. I passed him the link to this thread because his what I understood about his math research is about something similar researching spreading of beliefs in networks, except way more mathy)
Ex-Soviet Bloc Sexual Attack Swede of Tomorrow™
e-prime disclaimer: let it seem fairly unclear I understand the apparent subjectivity of the above statements. maybe.

INFORMATION SO POWERFUL, YOU ACTUALLY NEED LESS.

Telarus

  • Fictional Ego
  • Deserved It
  • ****
  • Posts: 12309
  • Ratcheting Metallic Sex Doll of The End Times
    • View Profile
Re: Paes' Programs
« Reply #16 on: August 19, 2013, 09:05:18 pm »
Nice addition. Welcome to the forum!
Telarus, KSC,
.__.  Keeper of the Contradictory Cephalopod, Zenarchist Swordsman,
(0o)  Tender to the Edible Zen Garden, Ratcheting Metallic Sex Doll of The End Times,
/||\   Episkopos of the Amorphous Dreams Cabal

Join the Doll Underground! Experience the Phantasmagorical Safari!

Pæs

  • James Bond-defying Shit-Volcano Trigger Device of the Next Armageddon.
  • Deserved It
  • ****
  • Posts: 38516
  • I ain't even mad.
    • View Profile
Re: Paes' Programs
« Reply #17 on: August 20, 2013, 09:21:59 am »
I'm researching HTML5 game engines, having played with simpleGame.js for a little while but looking for something a little more complex. While looking at Impact.js, I came acrossthis game which I thought had a clever ending (play it, it doesn't take long).

simpleGame.js will do fine for the demo version of Memeoid: A working title, in which a collection of sprites bump into each other in a small square, but I'd like something which can handle more complex environments if the game goes further than this.

Brilliant thing about testing game engines is that it involves playing a lot of games. PlayCanvas seems to have some pretty clever 3D games implemented for browsers.

Pæs

  • James Bond-defying Shit-Volcano Trigger Device of the Next Armageddon.
  • Deserved It
  • ****
  • Posts: 38516
  • I ain't even mad.
    • View Profile
Re: Paes' Programs
« Reply #18 on: August 20, 2013, 09:42:09 am »
Hey Ixxie!

Some awesome ideas in there to work with. Thanks for jumping into the thread and contributing. It's given me some stuff to chew on with regards to how agents encounter and interact with each other and how I might iterate on the basic and unrealistic "just randomly collide" model I'll be going with for early versions of this idea.

I really like your descriptions of the dual space system and think it may be useful to develop the game keeping the concept in mind. I'll check out those wiki links and likely be looking to chat along these lines further!

Pæs

  • James Bond-defying Shit-Volcano Trigger Device of the Next Armageddon.
  • Deserved It
  • ****
  • Posts: 38516
  • I ain't even mad.
    • View Profile
Re: Paes' Programs
« Reply #19 on: August 20, 2013, 10:13:34 am »
Further thoughts on Ixxie's post, xposted from roastbird.com

Quote
That said - for making a game like this, you don't have the need to restrict yourself to the observable, so making use of memes (which might be defined as a disposition for expression of a belief) is probably far more convenient. However I would point out that in practice humans could often express directly conflicting beliefs because we have framing bias - thus one can also see belief as a behavior in that its a verbal affirmation. If conflicting beliefs are expressed in different contexts (different frames) then the conflict might not be so obvious. Of course - as others pointed out - beliefs that conflict enough would probably eventually result in the rejection of one or more in an effort for consolidation.
I'm definitely looking at allowing agents in this game to hold conflicting beliefs and would like to work in a method by which other agents can identify these conflicts and force the character with an inconsistent belief system to either reevaluate their beliefs or reject the criticism and dislike the critic.

My initial thought is that this may require each agent to store a variable containing their feelings towards any other agents they have met. Perhaps Person A could even tell Person B about how influential Person C is in a field they share an interest in, causing Person B to develop feelings about Person C.

Quote
The first space is the Social network - with the nodes representing Agents and the links representing Relationships or Interactions. Culture / Memes are transmitted across the social network, although of course us humans also transmit them across technological networks like the internet or bibliographic networks.  Now topology of these kinds of networks is typically drastically different to a regular grid - often having what is known as small-world and scale-free configurations which have a few hubs that connect to a significant fraction of the networks total number of links. Social animals might be modeled as diffusing freely in 2D space - but this would miss a big part of their behavior - namely the tendency to be friendly or antagonistic to particular individuals. Why or how individuals form particular types of links can depend on many processes - for example on past behavior. It can also be biased depending on beliefs of course - by means of homophilia / heterophobia / discrimination for certain classes of beliefs. Thus the Network and the Culture can Coevolve (I am investigating models like this for my thesis, I call them Discordian Adaptive Networks   :evil: ).

The method by which agents transmit their ideas with one another is something I've been putting a fair bit of thought into. In early models of this game, I will likely be sticking with random movement and exchange of ideas whenever agents collide but I'd like to make that considerably more complex, having agents more readily interact with a closed social network, plus a few random encounters and agents who are more likely to link multiple networks together.

Quote
Now the Conceptual Network in contrast - would have the nodes representing Memes or Cultures and the links representing Deductive or Inductive or Productive connections between them - or any other correlation that is relevant. This is far more speculative and less grounded in current science, but might be fun for this game. Humans and other animals expand their behavioral repertoire by both individual and social learning - and the exploration of the Conceptual Space could be done in either way. Trial and Error tinkering, as well as Reasoning and Inference, could help an individual make such leaps across this network. But observing another is a vastly faster and easier way to make bigger leaps. In the literature there is the concept of the trade of between Exploration and Exploitation - trying a new idea has a risk, but you also have a great opportunity to gain much. This makes me think of one paper about Geese - where they observed that Bolder Geese (i.e. less neophobic), tend to use less social information than their more timid counterparts.

I was originally thinking of keeping a very simplistic approach to representing the conceptual network but reading this I am more and more thinking that it might be worth exploring in more depth. I'd also love to have discussion of beliefs be a separate game event to observation of behaviour which inspires belief.

Lots of good stuff to think about. Expect more along these lines.

Triple Zero

  • DO NOT ABUSE EXCEPT FOR URGENT FURNITURE MOVING EMERGENCIES
  • One-Armed Jizz Moppers
  • Deserved It
  • **
  • Posts: 80835
  • Horrible and Sexy Queen of Cheese
    • View Profile
    • Random BIP
Re: Paes' Programs
« Reply #20 on: August 20, 2013, 12:12:27 pm »
tiny correction to my code comment

// i tested these with
// equals(intersection(union(p,q), p), q)
// seems legit.


that should of course be equals(intersection(union(p,q), p), p), which always evaluates to true whereas the above will always evaluate to false (unless p exactly equals q).

(I am halfway reading Ix's braindump, very interesting indeed)
Ex-Soviet Bloc Sexual Attack Swede of Tomorrow™
e-prime disclaimer: let it seem fairly unclear I understand the apparent subjectivity of the above statements. maybe.

INFORMATION SO POWERFUL, YOU ACTUALLY NEED LESS.

Ixxie

  • Known & Noted
  • **
  • Posts: 885
  • SPAG
    • View Profile
    • Fluxcraft
Re: Paes' Programs
« Reply #21 on: August 20, 2013, 10:46:13 pm »
1. Hey, good to finally be in the infamous PD. Hey Cram  :horrormirth:

2. Thanks!

3. Aaaaallllllllllrrrrriiiiiighty then:

Since my last post I gave this a lot of thought. I hope I am not to presumptuous to offer a proposal for some game mechanics, which imo would simulate interesting evolutionary dynamics while making and awesome game :) I hope I make some sense, in the end of the day these are just some ideas I jotted down while high so they might not make complete sense xD

Clearly evolutionary processes of this complexity involve many kinds of processes and aspects. I have been thinking about how to communicate more about this - and if I were to try and list the various evolutionary effects in real Sociocultural Evolution I would likely fail. It is also clear there are technical limitations. So instead here I will try and outline a rough outline of gameplay mechanics, which I would love to play, trying to keep things as simple as possible (and will probably fail at this point). I don't know much about coding such a game - so you will have to pick and choose what features are operational. This might possibly not only be a fun game to play - but is potentially a valuable source of data.

 The story begins with Eris who got stoned and felt like a donut, so manifested one. Unfortunately, she forgot about it - and it turned into a toroidal planet {a-la Asteroid} populated by fungal mold which evolved into sentient agents known as Dudes. Aneris found it and put a (hexagonal?) grid on it. You might want to opt for the simpler option of having non-reproducing and thus immortal agents and opt to only investigate the memetic / belief orientated aspects. This would miss out on some awesome possibilities to investigate issues like indoctrination, gene-meme coevolution, etc. You can also use the genetic system to populate the world with Mobs (which Dudes could turn into Hot Dogs ;) ). The critical point here is that players earn points for each Dude they have on the field AND for each Meme.

The Player doesn't control their Dudes directly - and instead enters the game as a Demigod with certain limited abilities permitting indirect influence. They get control of one grid square, where their temple is at - and where they have their Tree of Life and Tree of Knowledge. The player is given the power to create a sort of Adam and Eve - the seed of a population of Dudes - once every so many minutes/hours. The player - as the demigod of these people - will guide the growth of they Genetic and Memetic evolution. Demigods can gain points for certain achievements - lets call them Kudos for now - which they can spend on Miracles that steer the evolutionary processes - for example, mutations or selective sweeps - or a big harvest (one would have to have ecological constraints such as resource availability and density of population help regulate it).

Dudes and the Conceptual-Relational Network

 The classical Rational Agent has - afaik - Goals, Actions and Beliefs - and some algorithm governing how those three interact over time. Let us assume goals can be considered beliefs too, and that Learnable Behavior - including Expression of Belief - is coded by units we call Memes. Now we can try and reduce our Dudes into the following construction:



The Genome of course is transferred by reproduction. It would be fun to make this Sexual - so that we can allow for Chromosomes (say - 23 pairs of them) to recombine them. Part of the Genome (lets say - some region in the sex chromosomes) - will be a unique mutation representing the Demigod who created it. Thus - the more frequent this mutation is, the more Kudos that Demigod receives. This motives the Player to try and make his population grow. (The Discordian in me tells me to divide this effect into Matriarchal Mitochondrial heritage and Y-Chromosomal Male decent but this might be too complicated to implement). Other Genes could regulate for example - how many squares can the Dudes traverse in each timestep (speed), or the maximum rate / capacity for behavior.

The Memome is a purely learned behavioral repertoire. This is copied by Social Learning alone. Let us suppose this is structured in the manner of the Conceptual-Relational Network I proposed in the last post and thus includes  Objects and Relations. I propose a system in which on allows players to create Objects with any name while at the same time restricting the relationships to a limited selection. Turing-Machine style - any Agent can only hold one Object in its mind at any time step. Lets say each Object has a Header with its name (one word string) and an extension identifying the Ideology demigod who made it (the more widespread memes from a demigod's Ideology are - the more Kudos he receives). The Body could contain for example a maximally 123 character description / fluff, and can call a Action Function (again from a limited selections). The footer would include a Special Redirection Function - this will pick a random Relation and follow it to the next Object (if there's no relation to follow then it picks a random object). In this way - the Demigod can write a Behavioral Program which he can put in his Adam & Eve or bring to him people by a Miracle in a Scroll or whatever.

One could also envision an analogue Genetic Regulatory Network in the Genome (as indeed real cells have) in which one Gene regulates another. This would allow us to also capture Epigetic and Developmental effects. This can easily be left out though.

The Action Sequence then simply proceeds automatically following the program dictated by the combination of Genome and Memome regulation. The Dudes can perform one Action from the repertoire permitted Genome/Memome, using whatever tools or items from its Backpack, within its current Location. Thus if another Dude is in the same Grid Square - some of these actions are Social - for example it may Observe its Actions and copy its Memes (with a certain probability of success depending on its over all stats). Another Action might be to move a grid, or make a fire, or sharpen an axe.

Note the introduction of Tools. The dynamic with tools is different - and this one of those things you probably don't wanna put into the first version but could add later. With enough flexibility - players could combine Tools and Memes to even develop such things as Currency!

the Social Network

So these Dudes are able to perform social actions and thus create a cultural heritage. One players Dudes inevitably tend to interact with other players'. They can learn from them to improve themselves, but this is a double edged sword: you are helping their Ideology gain power in your people! By these means, the Ideologies of one player may infiltrate the Dudes of another Player, and convert their dudes to your Ideology! One could also envision Subversion Functions that turn a meme from one Ideology to another, to help protect ones people from brainwashing.

While Actions on other players are momentary - we can add another aspect to this to make it more akin to real social networks - the Social Bond. A bond between any two Dudes could be Friendly or Antagonistic or Casual for example - and affect different possibilities and tendencies. Dudes with a Friendship will tend to meet more often for example. A variety of Social Actions could dynamically alter the Social Network as wells as the Memomes of the involved Dudes:



This sets the ground for a Genetic and Cultural War of incredible possibilities. By defining one Object as the Opposite of another - one can for example convince ones Dudes to be intolerant of other Memes to help protect them from brainwashing. We can expand the set of Functions and Actions and Miracles available for players slowly - thus growing exponentially the possible configurations available to players. You can also have the actual Gods do crazy shit like fluctuate the ecological variables or spread viruses that kill Dudes - posing challenges and giving opportunities for players.  The possibilities are endless.

Note that if we arrange the chromosomes of the Genome is a similar way to a real one - and do recombination and sex in an identical way - then we recover processes identical to those in real evolution already - like genetic Drift and Genetic Hitchhiking. Since Dudes can only learn from other dudes or by individual learning - we also recover dynamics analogues to real sociocultural evolution as well. The player is able to introduce his own mutants into both the Genetic and the Memetic pool at regular intervals, as well as perform selective sweeps on his people at any time. In many ways this would mirror actual Dual Inheritance to the point where it almost tempts me to can this a valid research tool!

If this works - I recon the emergent gameplay of this would be wicked, and I would spend hours playing it xD I understand it would probably be a bitch to code - and that many of these - and I would totally give a hand if I could but I suck at coding.

4.  I have this wiki set up - www.fluxcraft.net - which is intended for several Discordian Ops. Feel free to use it to build up your plans/ideas there (any ideas - not just this  :evil: )

5. All Hail Discordia


"In Shadow - we find the Light - Safely Sealed in Darkest Night, so make Sure Ya'll Keep it Tight. Wizards Only - Fools!"

Ixxie

  • Known & Noted
  • **
  • Posts: 885
  • SPAG
    • View Profile
    • Fluxcraft
Re: Paes' Programs
« Reply #22 on: August 20, 2013, 10:54:05 pm »
Pæs  - you are very welcome! {didn't see the second page of the thread when I wrote that post xP} Awesome initiative you have here :) I operate in my own interest here xD I really would love to see such a game, and it might even be worthy of a research paper one day! Kudos!
"In Shadow - we find the Light - Safely Sealed in Darkest Night, so make Sure Ya'll Keep it Tight. Wizards Only - Fools!"

Pæs

  • James Bond-defying Shit-Volcano Trigger Device of the Next Armageddon.
  • Deserved It
  • ****
  • Posts: 38516
  • I ain't even mad.
    • View Profile
Re: Paes' Programs
« Reply #23 on: August 20, 2013, 11:32:56 pm »
More great stuff to think about, Ixxie.

I have been considering taking the player out of the action and making them a God but kind of feel that that would make the game look like a coat of paint slapped onto Pandemic 2 or a similar disease simulator.





I am thinking of approaching the game with something more like tactical culture jamming/brainwashing. Perhaps you're a government agent, part of a team responsible for guiding public opinion along state-approved lines, or a revolutionary trying to wake the sheeple up. I'd like for there to be immediate danger to the player character in having to approach closed networks of zealots and try to find a way in to convert the entire group.

...it occurs to me that a similar model could be used to make a game about social engineering for profit.

Ixxie

  • Known & Noted
  • **
  • Posts: 885
  • SPAG
    • View Profile
    • Fluxcraft
Re: Paes' Programs
« Reply #24 on: August 21, 2013, 02:50:58 am »
Hmmm - what if you do both? What if you are in a Cult / Conspiracy - a Wizard who is manipulating the Memetic Networks?  :)
"In Shadow - we find the Light - Safely Sealed in Darkest Night, so make Sure Ya'll Keep it Tight. Wizards Only - Fools!"

Pæs

  • James Bond-defying Shit-Volcano Trigger Device of the Next Armageddon.
  • Deserved It
  • ****
  • Posts: 38516
  • I ain't even mad.
    • View Profile
Re: Paes' Programs
« Reply #25 on: September 30, 2013, 09:03:53 am »
Off the topic of game dev which I have saved some more conceptual information on but am putting on the backburner to think on further, I've signed up to GitHub (which is basically a collection of open source software and a system to interact with and contribute to those) and am exploring it looking for bugs to offer patches for, so I can list contributions to that on my CV and perhaps move into development professionally.

Also bumping this thread so I can keep it updated as I explore.

Pæs

  • James Bond-defying Shit-Volcano Trigger Device of the Next Armageddon.
  • Deserved It
  • ****
  • Posts: 38516
  • I ain't even mad.
    • View Profile
Re: Paes' Programs
« Reply #26 on: October 14, 2013, 12:20:43 am »
Starting to get a feel for regular expressions. Going mad with power.

Telarus

  • Fictional Ego
  • Deserved It
  • ****
  • Posts: 12309
  • Ratcheting Metallic Sex Doll of The End Times
    • View Profile
Re: Paes' Programs
« Reply #27 on: October 14, 2013, 12:56:26 am »
Starting to get a feel for regular expressions. Going mad with power.


Hahaha, I know what you mean. I use them in Notepad++'s Search and Replace to do crazy string-wizardy. )
Telarus, KSC,
.__.  Keeper of the Contradictory Cephalopod, Zenarchist Swordsman,
(0o)  Tender to the Edible Zen Garden, Ratcheting Metallic Sex Doll of The End Times,
/||\   Episkopos of the Amorphous Dreams Cabal

Join the Doll Underground! Experience the Phantasmagorical Safari!

Pæs

  • James Bond-defying Shit-Volcano Trigger Device of the Next Armageddon.
  • Deserved It
  • ****
  • Posts: 38516
  • I ain't even mad.
    • View Profile
Re: Paes' Programs
« Reply #28 on: April 10, 2014, 01:59:31 am »
[redacted]
« Last Edit: August 22, 2014, 03:52:36 am by Pæs »