Huzzah! Not much to really show since everything happens in Debug.Logs and code, but markets are done.
So what can retail agents do? Right now they can choose between restaurants or super markets...both of them have a different lists of goods. The restaurants will have the more complex good types that cost more, and supermarkets will have cheaper goods. Eventually I will have retail agents responding to market conditions and possibly switch Licenses. That's for another time.
When a market has a positive inventory, they will put themselves available to the market. A list will be updated every day in the game that gets the total market share of all the companies, and creates a random list of markets based on that market share. This only happens once per day, and before agents start choosing markets to eat at. If you have 40% market share, you will have a 40% chance of being picked. An agent will come and pick a market, and then either decide on picking the most popular good available at the market, or the cheapest. Once decided, the market will feed the consumer and exchange cash. The consumer's hunger goes up based on the good and how well the employees are at their job. If a market successfully feeds a customer, their market share goes up, so being good can snowball.
Since this is percentage based on the market share, your market share will go up quickly, but as time goes on, since the change is always a fixed amount, that fixed amount will increase percentage wise less and less. Everyone starts with an integer of 1-10, and it will go up 1 each success. So increase of 10 to 11 is a 10% increase, but a 100 to 101 is a 1% increase.
Anyways, I've unit tested it and each part works, and I'm happy with it for now. The player will have the option of just going wherever they want. For now though, we move on to the last type of company. Service Companies.
Service Companies will probably be the meat of the game when all the systems are in place. They aren't going to interact with Goods. They are going to provide services to companies and to the player. Most markets are usually service based.
To get them online and working with my company, I really just want utilities up and running. As companies hire more employees, they will need more utilities or productivity will be hindered. We will need an ISP utilities which I'm bundling with electricity. They will need IT services to keep everything running. Janitorial services. Mechanics. There will be builders that create more real estate for companies to open more businesses. I will have goods that aren't for eating, but required for construction. Legal services for when I implement a justice system. Accounting services for companies to get their financials straight. Customer service to make sure we don't lose customers. Marketing companies to increase market penetration and market share. Sales forces to get contracts cheaply.
Service companies require experts, and that's basically it. I will eventually put supplies in the game like pens and pencils, but keep it abstract with just a "supplies" account on the ledger, and periodically decrement it. Productivity will suffer if the supplies account isn't kept up.
I have the code architecture in place for service companies, so it should be a simple manner of creating the Licenses and the Job Types for them, and then getting Service Contracts up for their services. Penalize companies if they have a certain number of employees and they don't have required services. Hopefully have that before the weekend is done.
But the goods and contracts are all interacting and moving. Once I have Service companies up I will work on how the player is going to interact with all of this, and start polishing the UI and art to get it ready for Alpha!