With the hierarchy maybe it could become a part of the game play, as lots of people enjoy organizing such things.
For example, there might be some central player-owned block or item that can be given assigned sub-types, and presents them in a sort of drill-down list GUI. The player could then decide to create a community of several units (housing, production, harvesting etc) collected together in one place, a single hut somewhat further away, and a central market area, and all three of those items would appear at the top level of their list.
This could be fun interaction if such things could be treated like a noun, draggable tiles that would let the player re-assign and re-structure their tree whenever they're feeling the need to twiddle.
Rollback Post to RevisionRollBack
My five-point rating system: Yay, kay, meh, erm, gleh
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
That is exactly the same kind of idea I have had. I already have a basic crafter, a basic transporter, a basic merchant, and then the other jobs listed in the description. Once I add a builder/carpenter, and connect the "property management" code to the game, zones could be assigned, developed, and organized all within one gui. Then the game takes a mini sim city twist!
It's too bad you're unable to code at the moment. The kind of code structure you have in mind is very similar to mine. It's almost as if an expansion engine to minecraft itself is needed to make this happen.
A further thought on the collections of collections idea: If each element of the set contains zoning data, then the player could use the heirarchy to specify what size of area they wish a villager to work.
Maybe the north end of town is placed in a collection labeled NorthEnd, and the player specifies a region for that collection, then a security guard could be tasked to patrol the northend zone, or drill down to be stationed at one one of the contained zones of sub-elements.
Rollback Post to RevisionRollBack
My five-point rating system: Yay, kay, meh, erm, gleh
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
Yes, I've had an idea about that as well. I have thought about expanding my idea on documents to solve issues like this. Right now there is a singular identity document, and a singular location document. Making one document that contains many identities or locations, kind of supplies a "guard patrol" and "patrol points". Then you could customize from there.
I'm essentially going to now supply an alternative to the signpost (before was just a radius of signpost), with zoning. This will provide the basis for the next step up in hierarchy. I guess these zones could analogously be considered "townships"
In reality I plan this hierarchy system to be customize-able with a GUI and the default being the hierarchy I mentioned prior. The hierarchy at each level would also have a parallel owner. For example the owner of structure may be a renter, but the property is owned by the landlord. That same property belongs to the county "zone". Sum up some counties, containing villages/mayors, and you get a kingdom owned by the king. This then allows the player, and villagers themselves to create a diversified power structure.
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
Excellent point to bring up. There are plans to balance economic sinks, renewables and non-renewables.
Luckily, I am familiar with the mathematics and economics to accomplish. The game engine should be able to handle any type of system but finding the balance is necessary.
Creating hungry villagers that can buy food by themselves is what I am working on right now. Requiring proper tools for the various jobs will also be required.
After these basics are worked out, it could easily be programmed that villagers would "desire" things, like books, art, or other things in minecraft, that serves no real purpose. However things like this will create the diversified economy. Also, funding wars will provided HUGE economic sinks.
Every attempt at using a source/sink model has turned into skyrocketing inflation until items and coins become worthless, so it's my conclusion that is a bad business model. Can we do better?
Some thoughts on money: Our real-life banks are too full of trickery to be a good model, so let's examine something that comes in below the profit radar, voucher systems.
A marketplace issues a voucher in exchange for some good/service as payment, with the promise that they will accept that voucher at face value in return for their goods/services.
The person who gave something for a voucher then has a promise from the marketplace that they will trade some goods in return. So that voucher can be of value to other people outside the marketplace. One person could trade the voucher to another for an item of value equal to what the voucher was bought with and what it has been promised to sell back.
The face value could be credit for the item purchased, such as a stack of cobblestone or coal. Then the voucher could be redeemed for an equivalent stack.
Rollback Post to RevisionRollBack
My five-point rating system: Yay, kay, meh, erm, gleh
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
I completely agree that a better solution should be searched for. I've thought about this as well and I think the sink/source model provides a basis for a better improved model, that leads me to the one you provide.
The number one reason why most games attempts at using this model fails is simple, as your article points out - loot. Loot is randomly spawned money, essentially, therefore endlessly increasing the money supply. It is essentially the same as printing money in the real world. In minecraft, resources are spread out, or any "loot" spawning could be removed. I would also propose that economy that over inflates because 10 emeralds were introduced wasn't really an "economy" in the first place.
Also, once villagers have an inventory of items, one can calculate how much they "value" an item, and how much they will "pay" for it. This allows for villagers to handle inflation, and their trades will change to reflect that. I have already created this system in an old mod, but it is not yet implemented in this one.
For a randomly spawned village, an economy should exist whether or not the player participates. This could be easily described mathematically, and will be by me, at some point, whether anyone cares or not. It is required to make this work.
Once the player gets involved things become tricky. This is where I have planned on using something similar to your model. Once the player creates, or joins an economy, the goal should be to replace whatever is being used as currency (probably emeralds), with a "voucher". I plan on any player, or villager, having the ability to making a "mint" block, and mint their own money. It will be up to the player (or some fancy math/economic/automation) to control it.
Therefore banks can spawn in villages, and actually serve a purpose. Players can battle with economics. You can flood an opponents market, or buy them out. You can take over a village economically, instead of militarily. I think having some holes in the source/sink model provides a game mechanic for the player. The "voucher" model then provides a way for the player to protect oneself against the same type of mechanic.
Thoughts? I'd like to hear more about what you propose.
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
Also, you really seem to know what you're talking about. What work did you do on colonies? (Very familiar with this) I'm going to be working on this mod much more extensively (hopefully) over the summer, if you're interested. We could do what no one has done before... in minecraft. Actually, I don't think any game has pulled something like this off before.
Yep, the loot-drop system has been so ingrained into the game industry that no one has bothered to come up with other interesting mechanisms of play.
Emerald Nuggets
This is a type of commodity money. Assuming they can be assembled into emeralds, they could be consumed by vanilla villagers in the usual way as a type of one-shot conversion from emeralds to what's on offer. It's almost but not quite a full circle.
If we extend the notion of a bank facility so that it creates emerald nuggets in trade for something, and will also accept emerald nuggets for exactly the same return so that it's a perfect two-way exchange, then the emerald nuggets can be said to carry the merit of whatever it took to make them. In this way a third party could accept an emerald nugget with the knowledge that a bank will give the original construction materials back for it.
On the Colonies project, of the 440 commits on the https://github.com/AngleWyrm/Colonies I did 264, and put in about three months as software lead. There were about a dozen coders who contributed, and half a dozen on the artist side making textures and models, plus some administrative people doing forum organization, game worlds, and transferring issues from the public to the github. It was a lively bunch.
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
Wow, the level of organization is very impressive. It does sound like a lot.
And yes, the bank essentially will fulfill that role fully after a period of play. Heres the outline of how I see an economy develop:
1 - Simple trade in nuggets
2 - Economy expansion limited by inflation/deflation based on unit of currency (emerald nuggets, already in mod)
3 - Units of Credit/Debt - beginnings of "vouchers" and other simple financial contracts based on time, etc. Between villagers as well.
4 - Banking enables a stable form of exchange, but introduces more complex structures like loans and banknotes
5 - Full fledged minting of currency then allows the user to truly craft money, however each would be its own unique currency.
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
And that mountain of programming is enormously impressive on its own, I was wondering if you could help me with some questions I've had?
1 - Structure Generation - Is there a way to catch when the world is generating a structure and grab its location/size?
2 - Minecraft Comes Alive - The mod now depends heavily on an entity being a vanilla "Entity Villager", and makes the transition smooth. Any suggestions other than modifying MCA?
3 - Base Class Modification - What can I get away with really?
What are the advantages of money over carrying around the original items, such as leather or bread? I see two:
Convenience - we could model this by allowing a stack of currency to be comparatively enormous, for example 64000 units instead of 64, so that it's likely a player will never use more than one slot to hold their money. Or maybe 1000 with an option to build a purse that holds 640000.
Liquidity - the ability to convert wealth from one item to another. NPCs that are willing to buy and sell items for currency gives the player a flexibility to exchange the work of picking cotton for the purchase of leather, or whatever. This also encourages players to specialize by making a cattle ranch or some such.
For price variance, I'm partial to the idea of player effort being involved in the price of goods/services. For example, if it's a long way to travel to the nearest desert, then cactus may be hard to come by, and if there's not much cactus around town then the price could bump up. And in the same way if there's a forest of oak nearby but hardly any birch, then perhaps oak would trade at a lower price than birch.
This sort of gets to the notion of rarity, but there's still a matter of demand. What if sand is both popular and plentiful? Or there's a stream of water and everyone has a regular need for water? So maybe scarcity is either an incomplete notion or an imperfect model.
What if we consider it in terms of demand? Each time a given thing is traded it gets a point in popularity.
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
1 - Convenience - Yes! I have had an idea about maybe an emerald nugget -> coin (any metal), because it could be enormously stackable
2 - Liquidity - I have never thought about this directly, but I would imagine any person would theoretically exchange an item for any item they have, so long as the "payoff" for the recipient is matched or exceeded. I think the model I have in prior code should do this, but when I rebuild it I'll keep it in mind.
The prior mod has a mathematical model that determines what a villager will trade for anything. And when I used it in gameplay (short), it seemed very natural. The model is based on an entity having natural "needs" (sink unit per time) such as hunger, and an inventory of items. The entity can calculate how much food/resource it needs for a certain time, and does so at a described interval (I used 7 days). Then, based on this any two resources can be compared in terms of worth, and a decision can be made based on a trade. Connected trades with an intermediary good allowed the AI to skip over bad trades to achieve an even better trade, creating a net positive.
Hunger would remove food and villagers would then pay with their spawned emeralds. Then after manipulating one villager, the price would vary drastically between the two. I added trading between villagers so prices/items would equalize. I found that by manipulating only a handful of numbers, (or even replacing functions in those variables) I was able to essentially define all the decision behavior I needed to making villagers run themselves.
Water is something I want very badly, but right now regular minecraft water wont work. If a bucket could not drop water, and some type of block which allowed water to "flow" was created, I think everything from thirsty villagers in cities requiring water from rivers and maybe aqueducts.
It really is a demand equation. I do want to incorporate ideas of social "status" where (calculate-ably) wealthy/popular individuals will (maybe randomly, or based on an items price) wear/wield an item, creating demand for no reason. This would create very weird behavior in local economies, but would make things very interesting.
I did some research on economic distribution in America that resulted in a discovery of a fairly consistent split of the income pie between the five quintiles of social class as the set { rich:4/9, upper:1/4, middle:1/6, lower:1/10, poor:1/25 }. This was useful in determining stable ratios of rent for cities.
If there were something like a dresser/wardrobe that allowed for changes of clothes, and purchase of clothes token it could add another dimension that The Sims has.
There could be base cost clothing, which would be the textures available for download from many different sites, and artistic outlet for the creative to design costumes.
And there could be pricing associated with the social class. Since you've expressed mathematical competence, we could use the historical income distribution to assign price multipliers. Multiplying the set by 25 gives us { 100/9, 25/4, 25/6, 5/2, 1} so that if a basic outfit were to cost 1 for the poor, then an outfit for the lower class would have a cost multiplier of 5/2, and so on.
ATTACHMENTS
5b3005fd42f72860d2767854730fa831
7ec47247bbc5c5fddef1ceeffb7a6776
Rollback Post to RevisionRollBack
My five-point rating system: Yay, kay, meh, erm, gleh
A thought on making it possible to import clothing textures and yet also maintain some semblence of pricing structure. If we look at class income ratios, and then express it has how many people it takes to make an equal 1/5 of the pie, we get pyramid like so:
It could be a requirement for import that such a pyramid is filled from bottom to top before another is started, which would impose the pricing structure on incoming artwork.
Such a device should probably include an allowance that the player may create at least one pair male/female clothes for every level before imposing a structure limit. This gives reward to their desire and greets them well.
Because we've all seen experience points, and how the exponential growth curve doesn't actually work; it quickly becomes apparent after only a few level ups that it would take years to gain another level, so the mob experience has to go up to try and keep pace, which also doesn't work and eventually they all give up and just throw boss mobs and special end of level quests in to round out the XP. Silly process of justifying a D&D concept.
So as a novel and possibly more entertaining alternative, expertise points. Each NPC has an allotment of ten ranks of skill, and any given skill can have a range of 1-4 ranks
Amateur
Apprentice
Journeyman
Tradesman
Master
So as an NPC works an assigned job they earn expertise points which rank up skill in that profession. Eventually they use up their unassigned ranks and begin consuming the bottom-most rank to continue maxxing out their current skill, a process of forgetting least used skill. In this way the player can choose to assign an NPC to one or two jobs and they can master those, or the player can make them into jack of all trades and master of none. It's also possible for the player to re-assign the primary profession of an NPC through simply giving them work in another field.
A possible variant of this system could be that all NPCs are not created equal, and instead some get more or less than ten ranks at birth.
Rollback Post to RevisionRollBack
My five-point rating system: Yay, kay, meh, erm, gleh
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
This is all amazing I have never ventured this far into the actual structure of the virtual society. While planning NPC/automated aspects, we should also think about how the player will spawn into the game, and the steps the user will experience while interacting with components as they are introduced in gameplay.
I heavily agree with your thoughts on clothing. We could easily manipulate demand for colors, which naturally occur in varying rarities. I would love to take things to a sims level in certain aspects, however for now I think sticking to direct colors makes sense in programmatic terms. Perhaps when "buying" clothes a entity merely consumes dye and their color changes.
When thinking about society structure I begin by seeing it through cumulative gameplay. Villagers will first run themselves, and perform simple trades and individual jobs. Eventually, villagers will hire other villagers to work for them, such as expanding farms/quarries, etc. So each tier will scrape a little of the lower. With some time, this could be equated to match the distribution your documentation provides, given that the economy is designed to support the pyramid structure.
I also have thought about how the classic D&D model is too simplified for modern sandbox games trying to simulate the real world. I have been playing with the idea of modeling leveling and skills on acidity/basicity of a chemical solution which is already described well mathematically. I am studying undergraduate molecular Biology now, and my programming experience is self taught over many years.
I propose treating experience for a given skill like an acidic solution in chemistry. I will avoid the science and focus on the changes it brings to the standard exponential increase in experience point requirement for leveling. It mathematically expands on this model.
Essentially experience goes down over time, since if you stop maintaining a skill, it will degrade. Additionally practicing skills yielding more experience per action should lead to, over time, remembering how to perform harder skills longer, than if you only practiced less xp point yielding actions. This is like saying, if someone only ever smelted iron they would only remember/forget (get worse at) smelting iron (also a higher level/skill than smelting bronze). They would never "level down" through bronze.
This is kind of like how the blood is buffered. Mathematically the interpretations are so powerful it gives us all the things you describe, and more if its wanted.
Perhaps by incorporating different types of inherited traits from parents, or society, to offspring, one could allow some skills to be easier learned than others, through culture or genetics. This could create cities of "smiths" and cities of "farmers", or whatever skills there are.
Interesting notions on the biological model, it sounds much better than typical representations.The usual xp/level curve vs mob xp becomes very delicate balance over time, until it basically boils down to killing that one big thing and nothing else matters, and if there's two then the game play is borked by an OP player.
I've come to the perception that the notion of diminishing returns is an illusion of shadows. For example if we look at the area of a circle formed by pouring water, there is a perception that the circle's growth slows over time. But if we notice that area is a function of radius2 then we're really talking about a two-dimensional quantity. So whenever I feel like a diminishing return seems somehow instinctively appropriate, I theorize that I'm examining a multidimensional quantity such as area or volume and then search for the axis that form it's dimensions.
Rollback Post to RevisionRollBack
My five-point rating system: Yay, kay, meh, erm, gleh
The Meaning of Life, the Universe, and Everything.
Join Date:
9/28/2014
Posts:
44
Member Details
Yes, essentially that is what I'm playing with. Rates of changes between measurable/related quantities. Diminishing returns play an important role but only, when one continues to perform a less skilled action then the level one is going for. In gameplay level "10" versus "70", or "copper" to "iron" should feel the same, so long as the type of experience building is appropriately difficult. One cannot smith tons of copper to somehow learn iron. Additionally this difference in levels/experience should be equally as enjoyable throughout, and not limited by the mathematics of experience building. The acidity model kind incorporates this where a weaker acid (less demanding skill -> copper smithing) can only make the solution weakly acidic (copper smithing), however adding a strong acid (iron smithing) quickly surpasses copper.
So diminishing returns could be all relative, based on the level you are currently at, rather than thinking in linear term of level "0" and "100". And I have planned on using this model primarily for worker skills. Skills in battle in my mind are more dependent on AI and armor, not a "level" like in a "classic" game/rpg.
At least, this is my interpretation when looking at prior leveling methods. Does this make sense in the overall context?
With the hierarchy maybe it could become a part of the game play, as lots of people enjoy organizing such things.
For example, there might be some central player-owned block or item that can be given assigned sub-types, and presents them in a sort of drill-down list GUI. The player could then decide to create a community of several units (housing, production, harvesting etc) collected together in one place, a single hut somewhat further away, and a central market area, and all three of those items would appear at the top level of their list.
This could be fun interaction if such things could be treated like a noun, draggable tiles that would let the player re-assign and re-structure their tree whenever they're feeling the need to twiddle.
My five-point rating system: Yay, kay, meh, erm, gleh
That is exactly the same kind of idea I have had. I already have a basic crafter, a basic transporter, a basic merchant, and then the other jobs listed in the description. Once I add a builder/carpenter, and connect the "property management" code to the game, zones could be assigned, developed, and organized all within one gui. Then the game takes a mini sim city twist!
It's too bad you're unable to code at the moment. The kind of code structure you have in mind is very similar to mine. It's almost as if an expansion engine to minecraft itself is needed to make this happen.
Yeah, I miss it.
A further thought on the collections of collections idea: If each element of the set contains zoning data, then the player could use the heirarchy to specify what size of area they wish a villager to work.
Maybe the north end of town is placed in a collection labeled NorthEnd, and the player specifies a region for that collection, then a security guard could be tasked to patrol the northend zone, or drill down to be stationed at one one of the contained zones of sub-elements.
My five-point rating system: Yay, kay, meh, erm, gleh
Yes, I've had an idea about that as well. I have thought about expanding my idea on documents to solve issues like this. Right now there is a singular identity document, and a singular location document. Making one document that contains many identities or locations, kind of supplies a "guard patrol" and "patrol points". Then you could customize from there.
I'm essentially going to now supply an alternative to the signpost (before was just a radius of signpost), with zoning. This will provide the basis for the next step up in hierarchy. I guess these zones could analogously be considered "townships"
In reality I plan this hierarchy system to be customize-able with a GUI and the default being the hierarchy I mentioned prior. The hierarchy at each level would also have a parallel owner. For example the owner of structure may be a renter, but the property is owned by the landlord. That same property belongs to the county "zone". Sum up some counties, containing villages/mayors, and you get a kingdom owned by the king. This then allows the player, and villagers themselves to create a diversified power structure.
Some thoughts on Game Economics
My five-point rating system: Yay, kay, meh, erm, gleh
Excellent point to bring up. There are plans to balance economic sinks, renewables and non-renewables.
Luckily, I am familiar with the mathematics and economics to accomplish. The game engine should be able to handle any type of system but finding the balance is necessary.
Creating hungry villagers that can buy food by themselves is what I am working on right now. Requiring proper tools for the various jobs will also be required.
After these basics are worked out, it could easily be programmed that villagers would "desire" things, like books, art, or other things in minecraft, that serves no real purpose. However things like this will create the diversified economy. Also, funding wars will provided HUGE economic sinks.
Every attempt at using a source/sink model has turned into skyrocketing inflation until items and coins become worthless, so it's my conclusion that is a bad business model. Can we do better?
Some thoughts on money: Our real-life banks are too full of trickery to be a good model, so let's examine something that comes in below the profit radar, voucher systems.
A marketplace issues a voucher in exchange for some good/service as payment, with the promise that they will accept that voucher at face value in return for their goods/services.
The person who gave something for a voucher then has a promise from the marketplace that they will trade some goods in return. So that voucher can be of value to other people outside the marketplace. One person could trade the voucher to another for an item of value equal to what the voucher was bought with and what it has been promised to sell back.
The face value could be credit for the item purchased, such as a stack of cobblestone or coal. Then the voucher could be redeemed for an equivalent stack.
My five-point rating system: Yay, kay, meh, erm, gleh
I completely agree that a better solution should be searched for. I've thought about this as well and I think the sink/source model provides a basis for a better improved model, that leads me to the one you provide.
The number one reason why most games attempts at using this model fails is simple, as your article points out - loot. Loot is randomly spawned money, essentially, therefore endlessly increasing the money supply. It is essentially the same as printing money in the real world. In minecraft, resources are spread out, or any "loot" spawning could be removed. I would also propose that economy that over inflates because 10 emeralds were introduced wasn't really an "economy" in the first place.
Also, once villagers have an inventory of items, one can calculate how much they "value" an item, and how much they will "pay" for it. This allows for villagers to handle inflation, and their trades will change to reflect that. I have already created this system in an old mod, but it is not yet implemented in this one.
For a randomly spawned village, an economy should exist whether or not the player participates. This could be easily described mathematically, and will be by me, at some point, whether anyone cares or not. It is required to make this work.
Once the player gets involved things become tricky. This is where I have planned on using something similar to your model. Once the player creates, or joins an economy, the goal should be to replace whatever is being used as currency (probably emeralds), with a "voucher". I plan on any player, or villager, having the ability to making a "mint" block, and mint their own money. It will be up to the player (or some fancy math/economic/automation) to control it.
Therefore banks can spawn in villages, and actually serve a purpose. Players can battle with economics. You can flood an opponents market, or buy them out. You can take over a village economically, instead of militarily. I think having some holes in the source/sink model provides a game mechanic for the player. The "voucher" model then provides a way for the player to protect oneself against the same type of mechanic.
Thoughts? I'd like to hear more about what you propose.
Also, you really seem to know what you're talking about. What work did you do on colonies? (Very familiar with this) I'm going to be working on this mod much more extensively (hopefully) over the summer, if you're interested. We could do what no one has done before... in minecraft. Actually, I don't think any game has pulled something like this off before.
Yep, the loot-drop system has been so ingrained into the game industry that no one has bothered to come up with other interesting mechanisms of play.
Emerald Nuggets
This is a type of commodity money. Assuming they can be assembled into emeralds, they could be consumed by vanilla villagers in the usual way as a type of one-shot conversion from emeralds to what's on offer. It's almost but not quite a full circle.
If we extend the notion of a bank facility so that it creates emerald nuggets in trade for something, and will also accept emerald nuggets for exactly the same return so that it's a perfect two-way exchange, then the emerald nuggets can be said to carry the merit of whatever it took to make them. In this way a third party could accept an emerald nugget with the knowledge that a bank will give the original construction materials back for it.
On the Colonies project, of the 440 commits on the https://github.com/AngleWyrm/Colonies I did 264, and put in about three months as software lead. There were about a dozen coders who contributed, and half a dozen on the artist side making textures and models, plus some administrative people doing forum organization, game worlds, and transferring issues from the public to the github. It was a lively bunch.
My five-point rating system: Yay, kay, meh, erm, gleh
Wow, the level of organization is very impressive. It does sound like a lot.
And yes, the bank essentially will fulfill that role fully after a period of play. Heres the outline of how I see an economy develop:
1 - Simple trade in nuggets
2 - Economy expansion limited by inflation/deflation based on unit of currency (emerald nuggets, already in mod)
3 - Units of Credit/Debt - beginnings of "vouchers" and other simple financial contracts based on time, etc. Between villagers as well.
4 - Banking enables a stable form of exchange, but introduces more complex structures like loans and banknotes
5 - Full fledged minting of currency then allows the user to truly craft money, however each would be its own unique currency.
And that mountain of programming is enormously impressive on its own, I was wondering if you could help me with some questions I've had?
1 - Structure Generation - Is there a way to catch when the world is generating a structure and grab its location/size?
2 - Minecraft Comes Alive - The mod now depends heavily on an entity being a vanilla "Entity Villager", and makes the transition smooth. Any suggestions other than modifying MCA?
3 - Base Class Modification - What can I get away with really?
I'm sure there's more...
What are the advantages of money over carrying around the original items, such as leather or bread? I see two:
For price variance, I'm partial to the idea of player effort being involved in the price of goods/services. For example, if it's a long way to travel to the nearest desert, then cactus may be hard to come by, and if there's not much cactus around town then the price could bump up. And in the same way if there's a forest of oak nearby but hardly any birch, then perhaps oak would trade at a lower price than birch.
This sort of gets to the notion of rarity, but there's still a matter of demand. What if sand is both popular and plentiful? Or there's a stream of water and everyone has a regular need for water? So maybe scarcity is either an incomplete notion or an imperfect model.
What if we consider it in terms of demand? Each time a given thing is traded it gets a point in popularity.
My five-point rating system: Yay, kay, meh, erm, gleh
1 - Convenience - Yes! I have had an idea about maybe an emerald nugget -> coin (any metal), because it could be enormously stackable
2 - Liquidity - I have never thought about this directly, but I would imagine any person would theoretically exchange an item for any item they have, so long as the "payoff" for the recipient is matched or exceeded. I think the model I have in prior code should do this, but when I rebuild it I'll keep it in mind.
The prior mod has a mathematical model that determines what a villager will trade for anything. And when I used it in gameplay (short), it seemed very natural. The model is based on an entity having natural "needs" (sink unit per time) such as hunger, and an inventory of items. The entity can calculate how much food/resource it needs for a certain time, and does so at a described interval (I used 7 days). Then, based on this any two resources can be compared in terms of worth, and a decision can be made based on a trade. Connected trades with an intermediary good allowed the AI to skip over bad trades to achieve an even better trade, creating a net positive.
Hunger would remove food and villagers would then pay with their spawned emeralds. Then after manipulating one villager, the price would vary drastically between the two. I added trading between villagers so prices/items would equalize. I found that by manipulating only a handful of numbers, (or even replacing functions in those variables) I was able to essentially define all the decision behavior I needed to making villagers run themselves.
Water is something I want very badly, but right now regular minecraft water wont work. If a bucket could not drop water, and some type of block which allowed water to "flow" was created, I think everything from thirsty villagers in cities requiring water from rivers and maybe aqueducts.
It really is a demand equation. I do want to incorporate ideas of social "status" where (calculate-ably) wealthy/popular individuals will (maybe randomly, or based on an items price) wear/wield an item, creating demand for no reason. This would create very weird behavior in local economies, but would make things very interesting.
I did some research on economic distribution in America that resulted in a discovery of a fairly consistent split of the income pie between the five quintiles of social class as the set { rich:4/9, upper:1/4, middle:1/6, lower:1/10, poor:1/25 }. This was useful in determining stable ratios of rent for cities.
If there were something like a dresser/wardrobe that allowed for changes of clothes, and purchase of clothes token it could add another dimension that The Sims has.
There could be base cost clothing, which would be the textures available for download from many different sites, and artistic outlet for the creative to design costumes.
And there could be pricing associated with the social class. Since you've expressed mathematical competence, we could use the historical income distribution to assign price multipliers. Multiplying the set by 25 gives us { 100/9, 25/4, 25/6, 5/2, 1} so that if a basic outfit were to cost 1 for the poor, then an outfit for the lower class would have a cost multiplier of 5/2, and so on.
My five-point rating system: Yay, kay, meh, erm, gleh
A thought on making it possible to import clothing textures and yet also maintain some semblence of pricing structure. If we look at class income ratios, and then express it has how many people it takes to make an equal 1/5 of the pie, we get pyramid like so:
It could be a requirement for import that such a pyramid is filled from bottom to top before another is started, which would impose the pricing structure on incoming artwork.
Such a device should probably include an allowance that the player may create at least one pair male/female clothes for every level before imposing a structure limit. This gives reward to their desire and greets them well.
My five-point rating system: Yay, kay, meh, erm, gleh
Expertise and Skill Levels
Because we've all seen experience points, and how the exponential growth curve doesn't actually work; it quickly becomes apparent after only a few level ups that it would take years to gain another level, so the mob experience has to go up to try and keep pace, which also doesn't work and eventually they all give up and just throw boss mobs and special end of level quests in to round out the XP. Silly process of justifying a D&D concept.
So as a novel and possibly more entertaining alternative, expertise points. Each NPC has an allotment of ten ranks of skill, and any given skill can have a range of 1-4 ranks
So as an NPC works an assigned job they earn expertise points which rank up skill in that profession. Eventually they use up their unassigned ranks and begin consuming the bottom-most rank to continue maxxing out their current skill, a process of forgetting least used skill. In this way the player can choose to assign an NPC to one or two jobs and they can master those, or the player can make them into jack of all trades and master of none. It's also possible for the player to re-assign the primary profession of an NPC through simply giving them work in another field.
A possible variant of this system could be that all NPCs are not created equal, and instead some get more or less than ten ranks at birth.
My five-point rating system: Yay, kay, meh, erm, gleh
This is all amazing I have never ventured this far into the actual structure of the virtual society. While planning NPC/automated aspects, we should also think about how the player will spawn into the game, and the steps the user will experience while interacting with components as they are introduced in gameplay.
I heavily agree with your thoughts on clothing. We could easily manipulate demand for colors, which naturally occur in varying rarities. I would love to take things to a sims level in certain aspects, however for now I think sticking to direct colors makes sense in programmatic terms. Perhaps when "buying" clothes a entity merely consumes dye and their color changes.
When thinking about society structure I begin by seeing it through cumulative gameplay. Villagers will first run themselves, and perform simple trades and individual jobs. Eventually, villagers will hire other villagers to work for them, such as expanding farms/quarries, etc. So each tier will scrape a little of the lower. With some time, this could be equated to match the distribution your documentation provides, given that the economy is designed to support the pyramid structure.
I also have thought about how the classic D&D model is too simplified for modern sandbox games trying to simulate the real world. I have been playing with the idea of modeling leveling and skills on acidity/basicity of a chemical solution which is already described well mathematically. I am studying undergraduate molecular Biology now, and my programming experience is self taught over many years.
I propose treating experience for a given skill like an acidic solution in chemistry. I will avoid the science and focus on the changes it brings to the standard exponential increase in experience point requirement for leveling. It mathematically expands on this model.
Essentially experience goes down over time, since if you stop maintaining a skill, it will degrade. Additionally practicing skills yielding more experience per action should lead to, over time, remembering how to perform harder skills longer, than if you only practiced less xp point yielding actions. This is like saying, if someone only ever smelted iron they would only remember/forget (get worse at) smelting iron (also a higher level/skill than smelting bronze). They would never "level down" through bronze.
This is kind of like how the blood is buffered. Mathematically the interpretations are so powerful it gives us all the things you describe, and more if its wanted.
Perhaps by incorporating different types of inherited traits from parents, or society, to offspring, one could allow some skills to be easier learned than others, through culture or genetics. This could create cities of "smiths" and cities of "farmers", or whatever skills there are.
Interesting notions on the biological model, it sounds much better than typical representations.The usual xp/level curve vs mob xp becomes very delicate balance over time, until it basically boils down to killing that one big thing and nothing else matters, and if there's two then the game play is borked by an OP player.
I've come to the perception that the notion of diminishing returns is an illusion of shadows. For example if we look at the area of a circle formed by pouring water, there is a perception that the circle's growth slows over time. But if we notice that area is a function of radius2 then we're really talking about a two-dimensional quantity. So whenever I feel like a diminishing return seems somehow instinctively appropriate, I theorize that I'm examining a multidimensional quantity such as area or volume and then search for the axis that form it's dimensions.
My five-point rating system: Yay, kay, meh, erm, gleh
Yes, essentially that is what I'm playing with. Rates of changes between measurable/related quantities. Diminishing returns play an important role but only, when one continues to perform a less skilled action then the level one is going for. In gameplay level "10" versus "70", or "copper" to "iron" should feel the same, so long as the type of experience building is appropriately difficult. One cannot smith tons of copper to somehow learn iron. Additionally this difference in levels/experience should be equally as enjoyable throughout, and not limited by the mathematics of experience building. The acidity model kind incorporates this where a weaker acid (less demanding skill -> copper smithing) can only make the solution weakly acidic (copper smithing), however adding a strong acid (iron smithing) quickly surpasses copper.
So diminishing returns could be all relative, based on the level you are currently at, rather than thinking in linear term of level "0" and "100". And I have planned on using this model primarily for worker skills. Skills in battle in my mind are more dependent on AI and armor, not a "level" like in a "classic" game/rpg.
At least, this is my interpretation when looking at prior leveling methods. Does this make sense in the overall context?