Simulating moral code in NPCs

NPC groups will start out with certain (randomly generated) moral rules, which you can shift in a direction of your choosing by talking to people.

Value of life:

A. Every life is equally valuable.

B. The value of one’s life is based on their faction.
– For example, a master is worth more than a slave.
– Or one of us is worth more than one of them.

C. The value of one’s life is based on their actions.
– For example, heroes are worth more than cowards.
– Or those who heal are worth more than those who torture.

Attitude towards weakness:

A. Weakness is not tolerated.

B. The weak must be protected.

Team vs individualism:

A. Loyalty to the group comes first.

B. Self-preservation comes first.

Loyalty to the leader:

A. The leader is worth more than the fighters due to their knowledge and abilities.

B. The leader is just one of the guys.

Freedom vs health:

A. It’s better to be wounded and free.

B. It’s better to be a slave than dead.

 

In most cases, the majority of the group will follow a shared moral code. Peer pressure will ensure that very few will step out of line.

Wild cards – In any combat, there can be 0-5 wild cards that act opposite to the moral code in one way or another. They can be pacifists or cowards or ruthless killers.

Wild faction – When the fighting force is non-homogeneous, it’s possible that the moral codes of factions clash and cause a conflict between members on the same side. That’s why if a group is going to war with another one, the leader should hold speeches and rallies to unify the group so that the chance of a faction conflict breaking out in the middle of combat is decreased.

Combat and buildings

Ideally, it should be possible to move in and out of buildings automatically during a combat situation. Characters would hide in familiar buildings and gain an advantage to attacks on intruders. It should be possible to set buildings on fire, but fire shouldn’t spread insanely fast and shouldn’t be a guaranteed win against hiding people.

If the main group refrains from extreme violence, certain wild cards can engage in cruelties inside buildings when nobody is watching. Victims may be found after the fight is over and no one might know who was the culprit.

If the main group is very ruthless, wild cards may engage in protecting certain enemies, for example claiming that a building is empty when in fact someone is hiding there.

Maintaining and altering moral codes

Extreme moral codes are more likely to cause a backslash reaction. Maintaining an atmosphere of self-sacrifice or a preference to ruthless torture requires hosting events that reinforce the moral code. If your people are not exposed to frequent violence, they can’t become desensitized to it. That’s why if you want to maintain a culture of violence, you need to have things like public executions, floggings or bloody duels. Likewise if you want to maintain a society where the group matters more than the individual, you need to host events that boost a sense of unity and for example have everybody dress the same way or carry insignia that marks them as a member of the group.

If you are trying to change the status quo, you need to start small by talking to individuals, collect a sub-group of like-minded individuals and gradually increase your sphere of influence. If the moral code you are imposing is completely opposite to the reigning one, it will eventually cause a conflict and the group may split as a result. It’s better to start with a more subtle change and advance towards more radical views once you have a lot of followers. You can single out a sub-group based on a trait, such as gender or hair color, and convince the others that they are better than them while the others aren’t really even human. This makes the main group more prone to accept oppression on the targeted subfaction. If there is a reigning class, you can gather a subgroup of lower class people and rally them against the masters.

Even though I have previously said that all combat should be resolved instantly, actually it would make more sense to have a delay that depends on the size of the groups involved. An event like a single stabbing can happen instantly, but when there’s a whole battle taking place, it should last up to half a day game time. Status updates would be generated every 15 minutes and if the leader of one faction is online, they could call a retreat or surrender if necessary.

 

Leave a Reply

Reworking local map generation

As you might know, the current local map is visualized based on four 100×100 pngs where the red, green and blue channel stand for different things. However, this means that everything is grid-based and doesn’t look natural. This is why I’m working on a new map generator.

In the new map generator, each map has a base texture that is the most common ground covering thing. Currently there are only two, sand and grass, but it is likely that in the future that there will be 7 ground types: bedrock, loam, silt loam, clay loam, sandy loam, sandy clay and silt. Currently terrain types vary pixel by pixel and there is a high chance that the next pixel will inherit the type of the one above it or to the left of it, forming clusters.

In the new map generation code, I have a function called “snake”. It causes slithering lines of pngs that overlap with each other. Large changes in direction are less likely than small ones, which prevents it from constantly flicking back and forth. My test maps are currently 1000×700 pixels, but the ones that will be used in the game will be bigger in the database. You will only be able to see a small area at a time, though. On the test map, it generates 1 to 10 snakes of sand or grass depending on which one of them is used as base material. Currently grass is the base and sand is on top, but it’s easy to swap these around.

Sample

Then it generates trees and bushes starting from the back and advancing in rows that are 20 pixels high. The tree density is selected at random. In the database, new trees can be added on any row because when the data is called, it will be arranged by y and x so that it always starts from the back.

I also have sprites drawn for rocks and boulders, but I haven’t added them to the simulation yet.

In the database, data will have element type, x, y and layer. The layers are ground, ground cover and objects that stick out.

It will be possible to click on trees and bushes to select them for cutting. I have also tested this. In the test, the outline of a tree is in the upper corner because aligning trigger areas with the actual trees would require knowing their coordinates and in the test, the outline is mapped out before the map itself is generated. In the future, each tree will be clickable.

Hover over the upper left corner to see the highlight shape in effect

This is utilizing a JQuery library called ImageMapster by James Treworgy.

It is a bit unclear how farming will work in the new system, but my idea is that you will be able to convert shapes your character is on top of into fields and they will look different. Then you can automate planting, weeding and harvesting. One problem is there can be overlapping tiles, so it should only take the combined covered area into account as farmland instead of overlap being counted twice. Another option would be to stamp farmland on top of the base ground and set a maximum overlap distance that is allowed. If each map only has one base soil type, it could be assumed that all fields also shared that when turned. An exception is clay, because it’s unrealistic that there would be whole maps that are entirely filled with clay. Clay should come in small clusters and once you dig it up, the underlying soil or bedrock is revealed and the clay is gone.

Certain resources will be bound to individual trees and bushes, so if you cut down a fruit tree, you get the ripened fruit as well as the wood, but after this you can no longer harvest from this tree. Trees will produce more fruit in a system that is bound to the seasons, so organic resources will be renewable. You will be able to select a harvesting radius and automate your gathering. NPC groups will consume food such as fruit and berries every day and also automatically gather it. If an NPC group runs out of food, it will migrate away, so it’s probably going to be up to you to ensure that they won’t exhaust the local resource deposits. You can teach NPCs to farm and farming will be more effective than foraging.

I haven’t yet decided how big the local maps will be. The new system will allow them to be of different sizes, but since the snake function can go to areas that were already previously explored, it shouldn’t be used after exploration has started. Trees and rocks can be generated on the fly, so it would be possible to generate local maps that are 10’000 by 10’000 pixels and only generate trees on the area that has been viewed. This would save space in the database. I’m just a bit concerned that even a single map could contain up to 300k objects, and how much space would this take to store. Currently saving the data for one location takes ~117kb. I suspect that if we generate the whole map every time someone explores a location, it will take even more than this. If I get 1000 players and each of them explores 100 local maps, this will be 100k local maps. Are this many necessary? Certainly not. But people will explore just because it’s possible. So it should make them forget about places no one has visited in ages. Speaking from experience, even 10k different local maps is a waste because nobody will be able to appreciate them. So local maps should be temporary unless settled, and if you forget about it, it won’t be the same when someone explores it the second time. Since the contents are affected by the world map, you would be unlikely to tell the difference. The tree density will be the same, the grassy areas will be in different spots but the ratios will remain the same. It’s fairly irrelevant where a single tree is located in a forest.

 

Leave a Reply

Rewarding PvP interaction, penalizing loners

In another game I came to realize that one thing that stagnates games is isolation from other players. Some games solve this by allowing players to chat with each other regardless of distance, or to send private messages. However in a game where people are separated by vast distances, it wouldn’t make sense that news could travel faster than a person. Another problem is that if buildings count as separate locations, either you will have to shout to reach those outside or you will be restricted to communicating with people in the same building. It doesn’t work like that in real life because people don’t spend the whole day cooped up inside, let alone multiple days. In historical societies, people would work together in the fields, occasionally go to the market to socialize and trade, and have communal mealtimes and celebrations.

This leads into the requirement that it should be assumed that characters move during their daily routines and for example eat and sleep in different places than where they work. This movement needs to be automated and people will need to be able to communicate with other people who have matching routines, even if they weren’t technically in the exact same location at the same time.

People would have routines that cover a day at a time, 6 day periods (which correspond to a real life 24 hours) and longer periods of time such as a month or a year.

During a single day, a normal character will wash themselves, eat on at least two separate occasions, work on things such as foraging, hunting, fishing, farming or crafting, rest and sleep. It is also assumed that they go to the bathroom and larger societies will need to organize sanitation somehow. Characters might also have to travel long distances to gather things such as firewood. It should be encouraged to match your routines with those of other people or at least take NPCs along.

Characters will have some sort of a mood trait and doing things like talking to people, massaging others or receiving massages, getting their hair cut, brushed or braided; bathing; rubbing mud on their skin or hair, applying makeup or face paint, dancing, singing, playing musical instruments, praying, practicing things such as calisthenics, yoga, pilates or taiji and what ever people can come up with will improve their mood, whereas doing the same thing for hours in a row or being socially isolated will lower the mood. If a character’s mood goes so low that their mind breaks, they will either go catatonic or become a mindless automaton, in other words, an NPC. It will be possible to break a person’s mind by locking them in jail and depriving them of human interaction and comfort, but acquiring help from NPCs should be so easy that intentionally forcing a PC to convert to an NPC should be unnecessary.

 

Leave a Reply

World building and starting cultures

In the beginning of the actual game, instead of having a ready-made world map with resources, the starting populations could select from a pool of resources that will be seeded in their starting area. The pools would be resources that come from the same origin in the real world.

People who donate could get better starting resources and placement. Maybe there could even be an auction for the best combinations.

Overall, it would be good if a starting population had access to one grain, one oil plant, a few vegetables, firewood, fresh water and be within a reasonable distance of metal making ores.

Some fruits (particularly the citrus) will be ancestral and will have to be cross bred to produce the varieties known today. Also some fruits will have different varieties in different regions, which can be interbred to generate offspring with favorable stats. This is particularly with strawberries and apples. One region might have bigger strawberries with little flavor, while others might have tiny strawberries with a high sugar content.

Rain forest 1

edible insects
plantains
figs
cola nuts
yams
medicinal plants

Rain forest 2

edible insects
wild pineapple
acai berry
cashew
arrowroot (starch)
chili pepper
papaya

Warm region 1

guembé – can be used as food, rope making fiber and medicine (coagulant on wounds, helps with tooth and gum issues)
baobab tree
raisin bush – the berries and leaves are both useful, and the branches can be used to make bows and arrows
sorghum
watermelon
persimmon
figs
tamarind
coffee
okra
black-eyed peas
rice (African variety)
millet

Warm region 2

taro
jute – fiber for cloth making
wild rice – evolves into basmati
bananas
wild millet
ginger
pomelo
black pepper
turmeric
cinnamon
kidney beans
mangosteen
mango

Warm region 3

wild barley
wild wheat
flax
oats
sesame
lentils
peas
chickpeas
wild carrots
wild parsley
wild onions
wild radishes
wild mustard
almonds
parsley

Temperate 1

wild rice
citron
mandarin orange
bamboo
soybean
leek ancestor
cucumber ancestor
ginseng
rhubarb
peach
rambutan
kiwi fruit
field mustard
crab-apple
ancestral mint
mushrooms
possibly also wild millet

Temperate 2

amaranth
quinoa
sweet potato
sweet pepper
cocoa
teosinte (corn ancestor)
lima beans
tobacco
wild squash
ancestral tomato
wild strawberry
wild potato
peanuts

Temperate 3

wild oats
caraway seed
parsnips
ancestral beets
ancestral cabbage
turnips
hops
wild pear
blackcurrant
wild raspberry
wild strawberry
crab-apple
watermint
tarragon

Temperate 4

ancestral beans
wild cotton
wild pumpkin
black cherry
ancestral strawberry
blackberry
raspberry
wild squash
ginseng (American variety)
crab-apple
huckleberry
cranberry
acorns
pecans
walnuts
chives
sage
sunflowers
wild rice
artichokes

Temperate 5

olive trees
aloe vera
wild asparagus
wild spinach
brassica
fennel
walnuts
capers
some sort of beans
pistachio
wild mustard
aniseed
apricots
saffron

Cold region 1

rowan (berries, and wood to make bows)
wild pear
wild licorice
wormwood
chestnuts
(this needs more work)

Cold region 2

cloudberry
rapeseed (oil plant)
dill
crab-apple
wild strawberry
lingonberry
mushrooms
blueberry

Cold region 3

juniper
wild rye
lingonberry
blueberry
mushroom
possibly cloudberry

Desert 1

wild grapes
wild gourd
dates

Desert 2

wild grapes
cacti

Islanders are special groups that will need to start out elsewhere in the game, build boats and start exploring the seas. Donating can buy guidance to land.

Islanders 1 (tropical)

breadfruit
coconut
sugarcane
papeda
jackfruit

Islanders 2 (tropical)

pomegranate
carambola
ancestral eggplant
plantains
amaranth
coconut

Islanders 3 (warm)

vanilla
papaya
allspice
avocado
tepary beans
wild squash

Islanders 4 (warm)

wild yams
sorghum
baobab (Australian variety)
eucalyptus
macadamia nut
finger lime
gooseberry
weird animals

Islanders 5 (temperate)

ancestral plum
red cherry
mandarin orange
lychee
bunching onion

Islanders 6 (warm)

cloves
orchids
weird animals
(This needs more work)

Islanders 7 (warm)

passion fruit
obsidian
jasper
peridot
olivine
(This needs more work)

 

Leave a Reply

Honor system

Ryan suggested a honor system where people lose honor if they commit undesirable acts of violence. I think this idea has its merits, as long as it’s possible to fool the system by making yourself look more honorable than you actually are.

Things that would lower your honor:

  • Attacking an unarmed person
  • Killing a person who has surrendered
  • Attacking a child
  • Killing a child
  • Attacking your parent or guardian
  • Attacking a person who hasn’t set their defense settings
  • Attacking a disabled person
  • Perhaps also attacking a person who has highly positive honor

There should probably be things that raise your honor as well, to balance things out.

  • Attacking a person who has negative honor
  • Releasing people who have surrendered to you in combat
  • Protecting a child
  • Protecting a disabled person
  • Protecting an unarmed person

Wearing certain clothing would make you seem more honorable than you actually are. This could make people lose honor by attacking you even if you were a bad person.

It can be pointed out that you could balance your honor by protecting children of your own village while slaughtering ones from a rivaling town. You wouldn’t get very high honor but not very low either.

The system should be tweaked so that it’s not possible to exploit it by doing trivial things to raise your honor to create a buffer for making lives miserable for other players.

 

Leave a Reply

Draft for a new combat system

Edit: Since writing this, I have decided to break offense into accuracy and danger. Accuracy defines how likely you are to hit, while danger defines how much damage you do if you do hit.

Combat graph

Teams can decide their hitting order. Every other round, the order is reversed.

People can choose from different attack strategies: Attack the strongest, attack the weakest, attack the best defender, attack the worst defender, attack the fastest, attack the slowest, attack at random or attack the person who attacked me last. If two people are equally qualified as targets, the target is picked at random out of the qualified options. They can also set a person as a primary target. You can have a different strategy for if you are sufficiently wounded.

Defense strategies: If you are attacked, you automatically use your blocks to defend yourself. If you are not targeted, you can use your blocks to defend another person, or choose to use their block in temporarily boosting their defense for the next round. In this case defense is increased by half of offense.

People can sacrifice an attack to boost their defense, upon which half of their attack is added into their defense. They can use this on a hit against themselves or someone else. This only works if your team attacks first and defends second. If your team defends first and you choose to convert your attack, it will count on the next round.

People can also boost their attack by giving up their defense. If they boost their attack and their team is going second, their defense will be lower on the next round.

People can wear equipment that makes their stats seem higher or lower than what they actually are. This can fool people’s strategies.

Array of attacks

Team 1

Matt SP100 OF200 DEF80
Jim SP200 OF120 DEF120
Bob SP150 OF140 DEF105

Team 2

Greg SP105 OF80 DEF100
Tim SP80 OF130 DEF110
July SP110 OF150 DEF90

Round 1:

Matt goes first. He targets who ever looks strongest, which is July. July blocks with 90. Since Matt has higher offense, he gets a pending hit through.

Jim attacks who ever looks fastest. This is also July. Since July is bad in defending, Jim’s hits also go through. Jim is faster than July, so Jim gets two hits through. July now has 3 pending hits on her.

Bob attacks at random. He hits Tim. Gets a pending hit through.

Situation after first offense: 3 hits on July, 1 on Tim, 0 on Greg. Since Greg wasn’t attacked, he can use his blocks to protect either July or Tim. He chooses to protect July because she is threatened worse. He chooses to block Jim since he seems like he’s easiest to block. He manages to block one of Jim’s attacks but is too slow for the second one.

Team 2 offense:

Greg attacks at random and targets Matt. The chances are about 50-50. Let’s say he gets through.

Tim attacks who ever looks like the easiest target. This is Matt. Tim gets a hit through. Now there’s 2 pending hits on Matt.

July attacks who ever is slowest. This is also Matt. July gets a hit through. Now there are 3 pending attacks on Matt. Matt has used all his defenses.

Jim and Bob are not targeted and are free to defend Matt. Jim feels threatened and decides to move his block into raising his defense for the next round instead of defending Matt. Bob uses his block to protect Matt. He blocks against Tim because Tim looks more dangerous. He fails to block.

July takes 2 damage, Tim takes 1 damage, Matt takes 3 damage. Now July’s stats are SP100, OF130, DEF80, Tim’s SP75, OF120, DEF105, Matt SP85, OF185, DEF65.
Round 2:

Now team 2 goes first. July decides to convert her attack into a defense since she is wounded. This allows her to use her offense to boost defense.

Tim hasn’t changed his strategy and is still targeting Matt. Since Matt is wounded, his defense is even lower. Tim gets one pending hit on Matt.

Greg still attacks Matt. Greg isn’t much of a fighter but since Matt is wounded, Greg gets a pending hit through.

Since Jim and Bob aren’t threatened, they have unused blocks. Jim gets 2 blocks, he uses one against Greg and manages to block. Now he has one block left over, which he uses against Tim. He fails to block.

Now it’s Bob’s turn to block. He uses his block against Tim. He fails to block. So Matt is getting wounded for sure.

Team 1 offense:

Bob decides to convert his attack into a defense against the attack on Matt because Matt is wounded. However moved defenses only take turn on the next round.

Jim still attacks who ever looks fastest. Since July is slowed down by her wounds, Greg is now fastest. Greg manages to block one of Jim’s attacks. However, Jim is so fast that he gets two attacks. So now there is one pending hit on Greg.

Matt changes his strategy since he is wounded. He decides to attack who ever looks like the easiest target. This is July. Because July has extra defense on this round, she manages to block.

So now there is only a pending hit on Greg. Since they are both slow, July and Greg have already used their blocks and don’t get extra moves.

Tim uses his defense against Jim to protect Greg. He has about 50-50 chance to block. Since Tim is slightly wounded, he fails to protect Greg.

Matt and July continue to bleed and weaken.
Matt is now SP80, OF180, DEF60(+50 from Bob on next round).
July is SP95, OF125, DEF75.
Tim and Greg bleed slightly and are still pretty strong.
Greg SP100 OF75 DEF95
Tim SP75 OF125 DEF105

Round 3:

Now team 1 goes first again. Matt is still targeting who ever looks like the easiest target. This is still July. They are both wounded, but since Matt is stronger, he gets a pending hit on July.

Jim attacks who looks the fastest. Because July is so wounded, she takes a penalty to speed and thus the fastest is Greg. Greg is weakened slightly by his existing wound, so Jim gets a pending hit on Greg.

Bob still decides to protect Matt for the next round.

Tim hasn’t been attacked, so he can use his block against either Matt or Jim. He decides to protect July since she is more at risk. However, he fails to protect July since Matt is still strong in spite of his wounds.

Now team 2 attacks.

Greg still attacks at random and targets Bob. Since Greg is such a crap fighter and slightly wounded to boot, he fails to get a hit in.

Tim is still attacking Matt. He gets lucky and gets a pending hit through despite Bob boosting Matt.

July again converts her attack into a defense on herself.

Since Jim hasn’t been targeted, he has unused blocks. He gets two blocks since he’s so fast. He primarily blocks against Matt. He fails the first block but succeeds on the second.

Matt continues to bleed and falls unconscious. July continues to bleed but still conscious. Tim is feeling weaker. Greg gets hurt again and is now weak.

(Matt SP75, OF175, DEF55) His stats wouldn’t count if someone attacked him.
July is SP90, OF120, DEF70
Tim SP70 OF120 DEF100
Greg SP95 OF70 DEF90

Round 4:

Team 2 goes first.

July again defends herself, no surprise there. Her defense is temporarily 140.

Tim leaves Matt alone since Matt is unconscious and targets the next weakest target, which is Bob. Tim gets a pending hit on Bob.

Greg still attacks at random and hits Jim. Greg decides to drop his defenses in order to boost his attack. Now Greg’s attack is temporarily 115. Jim gets two blocks since he’s so fast. He fails his first block but succeeds on the second.

Since both Jim and Bob have used their blocks, they can’t defend anybody.

Now it’s team 1’s turn to attack.

Bob gives up on protecting Matt since Matt is unconscious and might die anyway. He goes back to his strategy of attacking at random. He happens to hit Greg, who only has 45 defense this round since he used his defenses to boost his attack. Bob gets a pending hit through.

Jim gets two attacks. He attacks who ever looks the fastest. This is again Greg. Again Greg has 45 defense and fails to block both times.

Matt is unconscious and doesn’t get a hit.

Tim and July haven’t been attacked this round, so they have extra blocks. Because July has boosted her defense, she uses her 140 to defend Greg and manages to block one of the attacks on him.

Tim only has 100 defense and doesn’t manage to block any additional hits. So Greg takes two damage. Also Greg continues to bleed from his earlier wound.

(Matt SP70, OF170, DEF50)
July is SP85, OF115, DEF65
Tim SP65 OF115 DEF95
Greg SP80 OF45 DEF75

Round 5:

Team 1 goes first.

Matt is unconscious and doesn’t get a move.

Jim attacks who looks the fastest, which is July. He gets two pending hits on July.

Bob attacks at random and hits Tim. Because Tim is slowed down by his wound, Bob gets two hits on Tim.

Greg hasn’t been targeted so he has one block left. By this point he figures that they’re going to lose anyway and chooses to surrender.

Team 2:

Greg has surrendered and refrains from hostilities.

Tim still attacks Bob. He gets a pending hit in.

July decides to get reckless and uses her defense to boost her offense. She attacks Bob with 145 offense and gets a hit through.

Since Jim hasn’t been targeted, he has two blocks. He uses them to protect Bob. He manages to block Tim but not July.

(Matt SP65, OF165, DEF45)
July is SP80, OF110, DEF60
Tim SP60 OF110 DEF90
(Greg SP70 OF40 DEF70)
Bob SP145 OF135 DEF100

Round 6:

Team 2 goes first.

July again targets Bob. Gets a pending hit.

Tim also attacks Bob. He misses.

Greg has surrendered and is sitting this one out.

Jim hasn’t been targeted and uses his blocks to protect Bob. He manages to block the hit on first attempt but his unused defense doesn’t carry over.

Team 1:

Bob attacks July and gets two hits because his speed is so high compared to hers.

Jim also attacks July. He gets two hits and gets through on both.

Tim hasn’t been targeted, so he gets one block to protect July. He decides to try blocking Jim since he seems easier to block. However her fails.

(Matt SP60, OF160, DEF40)
July is SP35, OF85, DEF35
Tim SP55 OF105 DEF85
(Greg SP65 OF35 DEF65)
Bob SP140 OF130 DEF95

Matt and July are now both in critical condition and Greg isn’t feeling too shabby either. Tim decides to surrender. The fight ends with Team 1 winning.

 

Leave a Reply

Questions to ask when starting a new society

Eventually people will be allowed to start new cultures in the game. Each culture has to be unique, and the founders need to figure out the answers to these questions.

Technology level

What is the technology level? Generally everybody starts from stone age, so if you want to start from a higher tech level, you will need starting equipment and knowledge of resource deposits nearby. Only if existing characters decide to establish a new community, they might have equipment they have developed or traded for in-game. If somebody wants to start a new society with starter equipment, it might be required that they make a donation.

Societal structure

Is the community homogeneous or does it consist of different factions? Are there layers/castes? How does the society treat the poor, the old and the disabled? Is there slavery? Is everybody considered equal or are some people worth more than others? Are there some people who disagree with the prevalent notion? How does the society react to dissidents?

Economy

Does the society recognize individual possessions or is everything shared? Do certain individuals get a right to a share of the earnings of someone else? Are there taxes? Is there money or do people barter?

Leadership

Is leadership defined by bloodlines, strength or popular vote? Are there factions who want to change this? If there is voting, who is allowed to vote?

Law and order

How does the society treat criminals? Which things are considered illegal? Does the society have laws that seem silly from a modern perspective? Are there things that are technically illegal but most people do it anyway? Are there criminal organizations? Does the government fund things like piracy?

Dressing conventions

Is there a reigning fashion or do people express individuality? Do different social classes dress in a specific way? Does clothing reflect status? Are there certain materials, styles or colors that are forbidden from certain social classes or genders?

Naming conventions

Do people have last names and middle names or just first names? Do they have patronymics or names that are based on occupations? Are first names based on traits of the owner or features that the parents wish the child to have when they grow older? Are children named by the day of the week, month, season or weather at the moment of birth, or perhaps how many siblings of the same gender exist in advance? Is it considered good or bad to have namesakes? Are young people allowed to pick out a new name when they reach maturity?

 

Leave a Reply

Childhood challenges

A while back I wrote this list, just for fun. The idea was that if you are playing a child character, the game would post a random task that would change once a month, and you could check it as completed if you had roleplayed it.

  • Eat something generally considered inedible.
    Smear food into your hair or face.
    Show affection to another child or a domestic animal.
    Declare you want to be known by a new name.
    Refuse to dress according to the weather.
    Refuse to eat a new food.
    Secretly eat a new food when nobody is watching.
    Wear something socially unacceptable.
    Throw a tantrum over a reason inexplicable to adults but which makes perfect sense to you.
    Tell another person that you really like them (and they should get rid of another person they are close to so they can spend more time with you).
    Apply face paint.
    Make art.
    Help an adult with their chores.
    Insist you’re a grown up now.
    Climb to a high place.
    Jump from a high place.
    Find the smallest hole and see if you can still fit through it.
    Give yourself or another child a fashionable haircut.
    Insist on dressing up all by yourself.
    Poop in an unconventional location.
    Master the skill of picking things up with your toes.
    Get mad at an inanimate object.
    Be a picky eater.
    Insist on eating something you found on the floor.
    Hide a food object for later.
    Lick something that’s not considered edible.
    Have a day of only eating things of a certain color.
    Fall asleep in a place other than your usual sleeping place.
    Imitate an animal.
    Dig your nose.
    Name your hands and have conversations between them.
    Tell people your parents aren’t your real parents and you’re actually kidnapped.
    Have an imaginary friend.
    Insist having something sweet with a savory food or vice versa.
    Put something up your nostril or in your ear.
    Try to “see” your eyes or your ears (without a mirror).
    Fart in public, then explain it away.
    Pretend your genitals can talk.
    Give someone else a makeover.
    Go hide and see how long it takes before anyone finds you.
 

Leave a Reply

Mold, yeast and bacteria

One of the ideas for the game is that things on the ground and in containers can become infected with micro-organisms and these micro-organisms can spread to other things in the same container. Here is how it’s going to work:

Once a day, the game will select a limited amount of organic resources to get infected. It is assumed that there are spores in the air, so it doesn’t require a source in the same location or container. The game will also check which things are in the same containers with previously infected materials, and the higher the level of infection, the more likely it will spread. Infections start out small and are invisible in the beginning, but may become visible once the level gets high enough. Some bacteria, yeast and mold may be picky and only infect specific subtypes such as fruit, vegetables, grain products, meat or dairy.

a slice of rye bread spotted with green mold

Bacteria will cause things to decompose and eventually get purged from the game. Before that it will turn into nasty slimy goop and may attract insects, which in turn can potentially carry disease. Some molds and bacteria may cause vomiting, diarrhea or other health issues. However, there is also useful bacteria that can be used to make yogurt and buttermilk, and useful molds which can be used to make blue and white cheese.

a spoonful of yogurt being lifted from a cup

Yogurt

Delicious results

Delicious results

Yeast can be used to ferment alcoholic beverages and raise dough. There’s probably going to be about a 10% chance of gaining a useful strain, but you can keep it alive by putting host materials in the same container. It’s yet undecided if a single pile can have more than one type of bacteria at a time. Increasing sugar and salt content protects mixtures against bacteria and mold.

Molds can be identified by color, but the catch is there will be visual twins to the useful molds, so you can mistakenly eat a harmful mold thinking it’s a good one. Some molds will be fuzzy while others have a dense structure.

 

 

Leave a Reply

Evolving plants

The current idea is that only ancestral wild forms of plants will exist in the beginning, and people will have to hybridize them to create optimal crops.

Corn originally came from a wild plant called teosinte

Corn originally came from a wild plant called teosinte

The original idea was to have plants in neighboring squares crosspollinate at random, then you would gather the seeds and see what grows out of them. However, making evolution totally random doesn’t sound very fun. You couldn’t guarantee that your plants would develop in the direction you want them to take. You would basically have to grow plants without knowing which mutations the seeds carry, then rip off the ones you don’t want to pollinate anything.

What sounds like a better idea to me is having a system where a player can choose an aspect to boost knowingly. If other plants in the location already possess this aspect to some extent, you have a higher chance of succeeding than if you are trying to mutate it.

Rough draft of an interface design

Rough draft of an interface design

You would click on a feature and if you are lucky, it gets a boost in the next generation. However, things have their consequences, so for example if you boost fruit size enough without boosting stalk strength, the stalk will eventually bend or snap under the weight, causing the fruit to touch the ground and be exposed to rotting. Likewise, there might be a cap to fruit sugar content before you have first improved the root and leaves. To me, this seems much more game-like and entertaining than merely deciding which plant is next to which.

Also, if you manage to create a seedless hybrid, you either need to figure out a way to breed it asexually or keep the parent strains alive and continue crossbreeding them, hoping to get another seedless child.

Did you know that watermelons used to look like this in the past?

Did you know that watermelons used to look like this in the past?

 

Leave a Reply