Principia Discordia

Principia Discordia => Two vast and trunkless legs of stone => Topic started by: Pæs on August 16, 2013, 03:26:43 AM

Title: Paes' Programs
Post by: Pæs on August 16, 2013, 03:26:43 AM
I've started a couple of threads intending to track my progress in developing with one programming language or another but I get easily distracted when, in the documentation for one language I've half learned, I see information about another language I'd like to learn more of, so these threads don't go anywhere useful.

In this thread, I am going to jump from one development topic to another with reckless abandon.

My only formal education in HTML/CSS was at intermediate school when I was 13 when I co-developed our school website with a friend of mine. I've made do with the knowledge from then with all web development efforts since but in approaching HTML5 and CSS3 figured I'd better put a bit of time and effort into learning what's changed and what is best practice now that we have to write pages which work on phones, tablets, smartwatches, laptops, widescreens, televisions and more, so I've jumped into code academy and finished their web fundamentals track, their javascript track and their jQuery track. I think I might start playing with HTML5 game development so I'm looking at what kind of game I might like to put together as a demo.

I've got this idea that I'm working on with a bird's eye view game where you play a person moving about a square (or a city if the game could handle such an increase of scale) which is populated with very basic NPCs who also just kind of wander about. Every character in the game carries with them a collection of beliefs. There will be background logic in the game dictating whether belief a is compatible/in conflict with belief b.

So you approach and NPC and engage in conversation with them. Depending on the compatibility of your beliefs, one of you might come away with a new belief, have one of your existing beliefs strengthened, or (more rarely) begin to question one of your beliefs. I'd also like to include a mechanic by which beliefs can be compared to reality as a randomly scripted event, where the character either increases their attachment to their belief, keeps their attachment and finds some way to explain away the evidence, or challenges their belief.

The dynamic I'm imaging is a system whereby if you manage to convert a bunch of characters to your belief, you can all just kind of mill about together and reject any intruding belief carriers, strengthening your beliefs by bouncing off each other in an echo chamber... and if you want to break down existing groups like this you have to approach those most susceptible to your character's combination of beliefs and start to convert the group from there.

While I keep thinking on that, I'll be reading into HTML5 game dev with a minimalist demo of this idea in mind, probably a bunch of circles bouncing off each other in a box... and post in this thread as I think more about it or if I get distracted by something else.
Title: Re: Paes' Programs
Post by: Pæs on August 16, 2013, 03:30:12 AM
I'll also modify this post with ideas for things to include in the meme game.

Title: Re: Paes' Programs
Post by: GrannySmith on August 16, 2013, 05:48:11 AM
:D That's a really really good idea for a game! :D I would probably play that devotedly. But why did you call it a meme game? (i have no idea what that means)
Title: Re: Paes' Programs
Post by: Pæs on August 16, 2013, 06:50:07 AM
Quote from: GrannySmith on August 16, 2013, 05:48:11 AM
:D That's a really really good idea for a game! :D I would probably play that devotedly. But why did you call it a meme game? (i have no idea what that means)

http://en.wikipedia.org/wiki/Memetics

So the game is about the transfer of memes or units of cultural information and how those memes interact with one another.
Title: Re: Paes' Programs
Post by: Triple Zero on August 16, 2013, 12:16:09 PM
Cool! Please to link when you have a simple demo going! :)
Title: Re: Paes' Programs
Post by: Junkenstein on August 16, 2013, 12:24:09 PM
Watching and waiting with interest. Have you started working out the mechanics in detail?

What kind of setting are you going for? Is this going to be related to real world beliefs or are you going to substitute in meaningless things that convey the same effect?
Title: Re: Paes' Programs
Post by: Cramulus on August 16, 2013, 02:48:53 PM
Very interesting! How will beliefs interact?

is it like, each belief has metadata, and the interaction is on the basis of that metadata?


Like I'm imagining something like (and I'm just making this up as I go)

Belief: "Bananas are high in petroleum."
Type: Nutrition
Topic: Bananas
Strength: 4 (out of 10)
Veracity: False


and then when the NPC bumps into another NPC, she'll say "Bananas are high in petrol!"

and if the other NPC has a Nutrition belief which is higher strength than 4, he will reject it, otherwise he will pick it up at 1 point higher strength.

And then somewhere in the world, there is a banana
and if an NPC bumps into it and he has a banana belief which is false, its strength is decreased
if he has a banana belief which is true, its strength gets increased
Title: Re: Paes' Programs
Post by: Junkenstein on August 16, 2013, 02:57:06 PM
Quoteand if the other NPC has a Nutrition belief which is higher strength than 4, he will reject it, otherwise he will pick it up at 1 point higher strength.

And then somewhere in the world, there is a banana
and if an NPC bumps into it and he has a banana belief which is false, its strength is decreased
if he has a banana belief which is true, its strength gets increased

Building on that, would 10 be a sufficent range? To me I'd go to 100 and that allows for other objects in the world environment that interact differently with the belief.

Example -

Banana - 1 point positive
Banana skin - 1/2 point positive
Banana skin in puddle of petrol - 1/2 point negative
Banana in puddle of petrol - 1 point negative
Banana on tree - 5 points positive

I'm thinking that there should probably be degrees pushing positive/negative considering this is how life kind of works.

Another example: Religion belief

Meet believer - 1 point positive
Meet non-believer - 1 point negative
Meet Dawkins - 5 points negative and acquire "X" belief.
Meet Religion's deity - 5 points positive and acquire "Y" belief.

Or something. I'm trying to get the "I met god and he seems legit" possibility in there somehow.
Title: Re: Paes' Programs
Post by: Telarus on August 16, 2013, 05:14:15 PM
Neat idea.
Title: Re: Paes' Programs
Post by: Pæs on August 17, 2013, 02:06:58 PM
Decided to throw up a blog (http://www.roastbird.com/) about this and will cross post between this thread and there.

Questions I've been asked about the concept:

QuoteWhat kind of setting are you going for? Is this going to be related to real world beliefs or are you going to substitute in meaningless things that convey the same effect?

The setting will initially be totally lacking. I am imagining the game as a collection of very basic looking sprites randomly traipsing about a white square while I learn how HTML5's canvas works.

The second question is related to the next question.

QuoteVery interesting! How will beliefs interact?
is it like, each belief has metadata, and the interaction is on the basis of that metadata?

Like I'm imagining something like (and I'm just making this up as I go)

Belief: "Bananas are high in petroleum."
Type: Nutrition
Topic: Bananas
Strength: 4 (out of 10)
Veracity: False

and then when the NPC bumps into another NPC, she'll say "Bananas are high in petrol!"
and if the other NPC has a Nutrition belief which is higher strength than 4, he will reject it, otherwise he will pick it up at 1 point higher strength.
And then somewhere in the world, there is a banana and if an NPC bumps into it and he has a banana belief which is false, its strength is decreased. if he has a banana belief which is true, its strength gets increased

I am thinking that initially, unless I can flesh out a good way for specific real world beliefs to interact, I will use a simple system of meaningless beliefs which will contain metadata describing their relationships to other beliefs.

Beliefs will be as simple as:

Belief A:

Logically follows: [Belief C, Belief Z, Belief D]; //this will allow beliefs to emerge naturally as well as impact which beliefs a character is more susceptible to.

In conflict with: [Belief F, Belief B, Belief S]; //I am thinking I'll have different levels of conflict to describe how aware a character is of the conflict. Atheism and Christianity are clearly in conflict IRL but are there also conflicts between Christianity and Homophobia which could create internal distress but not cause a person to reject either of these ideas?

Will need to put some thought into what other relationships beliefs have with one another and am hoping to iterate on beliefs to describe real world beliefs and their relationships.

So an NPC will bump into another NPC or into the character and one will say to the other "I believe A" and the other character will respond "I have considered A within the context of my belief system and find that it is(n't) compatible. Further to this, it has strengthened/weakened my belief in B". Maybe they will go on to compare beliefs with logically follow. I think that the mechanic for choosing the belief that is discussed will be based upon the strength of their respective beliefs and common ground they have.

The player character may have the ability to choose a topic of discussion. Still have to consider how that fits into the strategy.

The description of encountering a banana in the world is pretty much spot on, though in the small scale version of this game, encountering evidence for or against beliefs will probably be a randomised event, rather than the result of discovering an object in the game world. I'll have to test how complex the game can get before the concept has to be moved to a more powerful engine.
Title: Re: Paes' Programs
Post by: Triple Zero on August 17, 2013, 06:16:39 PM
Quote from: Pæs on August 17, 2013, 02:06:58 PM
Belief A:
Logically follows: [Belief C, Belief Z, Belief D]; //this will allow beliefs to emerge naturally as well as impact which beliefs a character is more susceptible to.

In conflict with: [Belief F, Belief B, Belief S]; //I am thinking I'll have different levels of conflict to describe how aware a character is of the conflict. Atheism and Christianity are clearly in conflict IRL but are there also conflicts between Christianity and Homophobia which could create internal distress but not cause a person to reject either of these ideas?

couldn't you solve that by giving each character an "intelligence score", which determines how far they will actually follow a trail of "logically follows" connected beliefs?

because that is kind of somewhat sort of what is going on in those cognitively dissonant pretty Christian minds, is it not?

also, coding advice, dunno if it's useful but one thing that may save you quite a bit of headache:

Javascript has no built-in datatype for sets. And those lists of beliefs above are basically sets. Sets are different from lists/arrays in the sense that the elements are in no particular order, and all elements have to be unique.

You can use a Javascript Array (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) to hold a set of course, but if you define a couple of general functions that do useful set operations (with arrays as arguments) you're going to have much easier time:



function contains(item, set) { // set membership, returns true or false
  return set.indexOf(item) != -1;
}

function equals(setA, setB) { // set equality test, returns true or false, assumes sets are sorted
  if (setA.length != setB.length) return false;
  return setA.every(function (v, i) { return v == setB[i] });
}



it helps if you always keep your sets sorted, that way two sets with the same elements will always have them in the same order, too. knowing a set is always sorted, will help out in many situations. to do this you need some extra functions



function array_to_set(arr) { return arr.sort(); }

function add(item, set) {
  if (contains(item, set)) return;
  set.push(item)
  set.sort();
}

function remove(item, set) {
  var i = set.indexOf(item);
  if (i == -1) return;
  set.splice(i, 1);
}

function union(setA, setB) {
  var u = setA.concat(setB);
  u.sort(); 
  u = u.filter(function (v,i,a) { return v != a[i+1]; }); // removes duplicates
  return u
}

function intersection(setA, setB) {
  return setA.filter(function (v) { return contains(v, setB) });
}

function subtract(setA, setB) {
  return setA.filter(function (v) { return !contains(v, setB) });
}

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



I dunno why I just wrote all that code, not even knowing if it'd be useful to you--the answer is: it's more fun than a sudoku :) Some of them could theoretically be made more efficient by taking better advantage of the fact the lists are sorted, but as long as you're not going to use sets with thousands of elements, this works just fine.
Title: Re: Paes' Programs
Post by: Pæs on August 17, 2013, 10:50:23 PM
Good thoughts Trip! And I'm sure that code will be useful, I hadn't got as far as looking at how I'd handle the arrays but those functions look very handy.
Title: Re: Paes' Programs
Post by: Ixxie on August 19, 2013, 02:05:53 PM
Awesome idea!

I had a similar idea last year but for more classical biological process of Genetic Evolution. Considering my field of research is Sociocultural Evolution (the field which evolved from Memetics), its quite weird I didn't think to add this level of evolution as well! I am loving this idea - so please forgive me if the following elaboration on. It might be a tad long and elaborate, and is certainly way too theoretical and complex to be completely implementable, but I hope it helps.

The main distinction between the concepts of Memes and Culture is that Culture is defined as Socially Learnable Behavior. Since behavior is directly observable while memes are not, this has become the new paradigm for science. One consequence of this definition is that we now have recorded cases of culture in not only primates and other mammals - but also in some species of birds and fish!

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.

Trip's comment about the ability to do logical inference - and applying some kind of reasoning metric - is very nice. I have been having a little hintergedanke recently about viewing the space of sociocultural evolution as a sort of dual-space of the Social Network and the Conceptual Network.

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: ).

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 guess it might be conceivable to make a simple dual-space analogue on a computer, but I have no idea how easy it is to make in a browser. Anyway - I will now terminate this harangue. Hope this was helpful - and if you want more references or ideas feel free to ask! I would love to help in any way I can. I am often on #discord.

http://en.wikipedia.org/wiki/Cultural_evolution
http://en.wikipedia.org/wiki/Dual_inheritance_theory

Title: Re: Paes' Programs
Post by: Junkenstein on August 19, 2013, 03:25:43 PM
1 - Hi new Guy!

2 - That's the best first post I've seen for a while. Actual information content with things to think about.

3- More of this please.

Title: Re: Paes' Programs
Post by: Cramulus on August 19, 2013, 04:02:12 PM
Hi ixxie!
Title: Re: Paes' Programs
Post by: Triple Zero 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)
Title: Re: Paes' Programs
Post by: Telarus on August 19, 2013, 09:05:18 PM
Nice addition. Welcome to the forum!
Title: Re: Paes' Programs
Post by: Pæs on August 20, 2013, 09:21:59 AM
I'm researching HTML5 game engines, having played with simpleGame.js (http://"http://aharrisbooks.net/h5g/documentation.html") for a little while but looking for something a little more complex. While looking at Impact.js, I came acrossthis game (http://bureaubureau.de/article/you_are_the_hero/) 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.
Title: Re: Paes' Programs
Post by: Pæs 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!
Title: Re: Paes' Programs
Post by: Pæs on August 20, 2013, 10:13:34 AM
Further thoughts on Ixxie's post, xposted from roastbird.com

QuoteThat 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.

QuoteThe 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.

QuoteNow 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.
Title: Re: Paes' Programs
Post by: Triple Zero 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)
Title: Re: Paes' Programs
Post by: Ixxie 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:

(http://www.fluxcraft.net/images/4/44/Dudediag2.png)

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:

(http://www.fluxcraft.net/images/e/e3/Diagram-Discord.png)

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 (http://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


Title: Re: Paes' Programs
Post by: Ixxie 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!
Title: Re: Paes' Programs
Post by: Pæs 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.

(http://www.pocketables.com/images/2012/10/plague-inc.jpg)

(http://www.mullerafloat.net/wp-content/uploads/2013/03/Plague-Inc-Transmission.png)

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.
Title: Re: Paes' Programs
Post by: Ixxie 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?  :)
Title: Re: Paes' Programs
Post by: Pæs 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.
Title: Re: Paes' Programs
Post by: Pæs on October 14, 2013, 12:20:43 AM
Starting to get a feel for regular expressions. Going mad with power.
Title: Re: Paes' Programs
Post by: Telarus on October 14, 2013, 12:56:26 AM
Quote from: Pæs on October 14, 2013, 12:20:43 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. )
Title: Re: Paes' Programs
Post by: Pæs on April 10, 2014, 01:59:31 AM
[redacted]