To be honest it started with me reading about the challenge. I doubt that without the challenge this skill would exists. The first idea was very different from the game now. The idea was a spinning wheel that you could spin once every hour. you collect points and at the end the player with the most points wins. ISP was a reroll, free spins, x5 multiplier and the subscription gave 10% bonus per spin Then it shifted to ships in a harbor that give you points and just last week the 5 resources replaced the points and the ISPs were changed which lead to a few night shifts :)
What it does
You will be in charge of your own virtual harbor and compete with other players around the world. Your task will be to unload ships, store the resources and sell them at the best time for maximum profit. Once every hour a ship will arrive in your harbor. Your task is to unload it quickly. A new ship can only set course to your harbor if you unloaded the previous ship. Every ship will carry a random amount of Gold, Silver, Copper, Oil or Coffee which can be sold or stored. The price for each resource changes daily so it might be smart to store it initially and wait for a better price. But don't wait too long, there is limited storage and once its full you have to sell all additional cargo, no matter what the price. With the money you make from the sales you will climb up the leaderboards. There will be regular competitions and the best manager will receive an amazon gift card at the end of a season. (hopefully starting 1.Jan.2020 or 1.Feb.2020) Starting with a full storage into the new season might be a clever tactic but your opponents know this too and can temper with the market prices. You will be able to buy a "Global Market Crash" which will drop the prices of a resource for everyone for 24 hours. This can turn a well planned start into a disaster or secure your win on the last day. In bird culture this is considered a D move. But as every action has a reaction, there will be an option to buy a "Global Market Rally". Once you activate the Rally, the prices will rise for everyone for 24 hours. If you have a full storage and want to sell, this is the item you need but keep in mind that your competition will benefit from the higher prices too. You will also be able to buy additional storage units. These Units will increase your capacity permanently. A good way to wait out market crashes and sell big when the price is high. If you unload 6 or more ships a day you will get the option to offer "free beer at the harbor tavern". Once you activate/consume this item it will make all the ships that you missed in the past 12 hours return to your harbor for unloading (and a free beer) incase you need more free beer, this item will be available for purchase as well. To get a little extra help you can hire Franz Blitz for a month. This German sea dog will be able to unload ships every 5 minutes. But he will still stop at 24 ships per day to give the hard working crew a well deserved rest. As long as you have Franz in your crew, you won't hear from Alexa anymore. He is in charge now.
The core idea behind all ISP is that you will not get an advantage that a player without money cant get. The ISPs will make your life a lot easier but it will still be fair for everyone. The Global Rally and Global Crash have the potential for a "money fight" one player wants to crash the market and others want high prices. In theory this has potential for unlimited purchases or until one group runs out of money.
How I built it
I hosted a PostgreSQL DB on AWS, created an Alexa Hosted skill and added Jargon SDK for internationalisation. That's pretty much it. Everything was developed in a browser, even the DB design.
Challenges I ran into
The upsell is only working with an account address set. Since this is just a developer account and has never been used for shopping, there was no address set and the errormessage you get is not helpful. A similar issue: Subscriptions didn't work until I entered my credit card details and set it as my standard payment. Before i had no payment options set. The buy option only works with the primary language. For development it should be easier to change it. I am using an alexa hosted skill and develop in the browser. When I have multiple tabs open in the editor and switch between them, the editor loses the line and starts somewhere random so i have to search for the right lines again. The one time purchases of the beta testers could not be reset. They can only do it once and then have to contact the support. Shooting the video was harder than expected. I had a powerbank, the right power cable but changing the Dots wifi to the wifi hotspot of the phone was very tricky. It's impossible with just one phone. It was very cold 2°C with wind, so my drone straight up refused work. The location was more popular than expected so there was always some annoying background noise during the takes. It was not possible to shoot for 5 minutes straight. The Idea was just to show the table and blur out the background and only at the end the drone starts to fly away and the viewer sees that you are in an actual harbor and not at someone's home.
Accomplishments that I'm proud of
I like the sale ideas of the skill. Noone has to buy anything and still have the same chances as people who spend money. you can buy convenience but thats it. It still has a lot of potential to sell consumables if people start to influence the market prices. When the game is ready for its first season everyone will get one of each consumable for free so the market fights can start.
What I learned
The chrome extension Alexa Skills Kit Simulator Enhancer is truly amazing. Please implement it so every developer has it. It makes testing so much easier. Adding ISP to the skill was a good experience. It worked different from what i expected. Leaving the skill when doing an upsell or how to handle stored consumables when the user disables and enables the skill. Or see 2 chapters above for the little problems you run into when you are doing it for the first time.
What's next for Harbor Manager
Adding APL. Maybe also some sounds to get more of the harbor feeling. Adding notifications when a new ship has arrived is another idea.(as a subscription alternative or bonus) Maybe implement the GameOn SDK for better leaderboards. I am also growing more and more fond of the idea to change the unloading mechanic. To unload a ship you have to answer a simple math task but you can do it 24 times in one session instead of coming back every hour. Maybe i will start a new simulation. I am thinking: A realtime stock market trade. Every player starts with 50.000$ and can order/sell virtual stocks via alexa. Learning about the stock market without the risk of losing your own money. Seasonal leaderboards and maybe the global crashes as isp make it back into the new game. There is just never enough time for projects like this :D