So the time has come...I need to polish the UI and user experience. I finished up the economy and I'm pretty happy with it. It seems stable. I haven't run it through 10,000 turns or anything, but its workable.
So, we have 3 times of companies, we have licenses that easily determine what category of companies within their classes they will be. Now we work on Art.
I played a game that came out recently, and they had a board where you could drag around elements and connect them. I realized I was completely overthinking my Corporate hierarchy screen. Instead of having "employee holders" and "employee cards", I was just gonna have employee cards. Instead of worrying about where to place all of them and having it ordered, just let the player figure that out and save the positions for when we load the screen. Let the user drag them wherever they want and let them connect with whoever they want.
As for the art for the corporate hierarchy screen, I want a white board with post it notes with the employees name on it. When you mouse over the sticky note, a manilla folder will pop up and you can peruse their stats and how long they've worked, their salary and a little picture of them. I spent about an hour in photoshop to make my own stickynote art:
and I'm pretty proud of it. I don't think I want a pixel art aesthetic for the game, but pixel art helps put in the area of what I'm looking for. I figure I'll just add a few different layers to about 5 images so they look a little different when placed. So this will replace the placeholder art I had and completely get rid of "employee holders." Might be fun to organize, who knows.
But I'm kinda sick of looking at the corporate hierarchy code, so I went to redo everything else. Before, I had it where you could choose a recipe, but licenses completely streamlined all my code, as long as I don't have to show recipes. I might just let the player decide which recipe they want to do within their license, and can pick and choose and respond to market conditions. Might have NPC's do that as well, have them check after their contract is up to see if they're making the most profitable good in their license.
So, what I spent most of my weekend on was the market screen. Here is the old screen:
I don't have any labels up yet. Was waiting until I polished and figure out where I want everything. The left side of the screen shows the bids and the asks...right now they are centered around the price of $10.00 per good. The left side first selects a company that you own, and then the buttons below will go active and not if you actually need the good that's selected in the top left. Since fish isn't required for Peach, you can't bid for it. It SHOULD be disabling the ask as well, but hey, no one's perfect. The current market orders is in the bottom right panel, but I don't have any currently up.
So, this is nice, but it doesn't give us really any information. And it sucks. There's so much unused space. What I really want is a price graph, showing the price of the good over time. So I came up with this:
Of course, I don't have labels up yet. But that's actual price data from each day. I have a static dictionary that holds a list for each good, and it keeps the last 100 orders for each good. Then we run it through a line renderer and display it on a panel and viola.
There's a company drop down that is hidden when you don't own a company, which I don't at the moment when I took this photo. I need to put in a button or selector for market/limit orders and buy/sell. I want the "Place Order" button to be contextual instead of the 4 different buttons from above. In the middle of the two dark panels will be the last price that the contract was obtained for, with the ask prices above the current price, and the bid prices below. RIght now there are 3 ask prices, which means there isn't any demand for Apples and it drove the price down. The price shot up to what looks like $20, then drove down to $5.
I don't plan on having tick marks...but I do want a text label for the highest and lowest price on the graph. The current price will be displayed between the prices and labeled correctly. The current orders will be at the bottom, and I think I'm gonna have the player's order history in the bottom right. Unsure at the moment.
So lots more polish to go, but now we're getting some actual data on how the market is fairing.
I want this screen to act for service contracts and job contracts as well. I need to combine the classes somehow, but they use completely different numbers for what they do. The prices work the same, and that's all I need from the contracts in order to display them. So I think I might make an IGraph interface to chuck on them, or maybe learn how to use Generics.
Anyways, the polish and art has begun. I've never made art in my life, so it's a whole learning process for me. Photoshop is great though, and pretty intuitive to use and figure out where the things I need are. I probably need to spend some time with Youtube like I have with C# and figure all of this out.
Next week hopefully have this screen completely polished and functional.