Galleass.io — Development Update July ‘18
Full Contract Redeploy — So many new features…
Galleass.io development is chugging along whenever my son gives me a free moment in the evening or early morning to hack out some code. I created a screencast and wrote the following article to outline the last month or two of work. One amazing thing about full decentralization is each development iteration exists forever like a fork. I’ve deployed new contracts, but you can always go play the above version here, using IPFS.
Here is the latest (randomly and procedurally generated) version on Ropsten:
The first message a new player receives is a letter from the Fishmonger:
I think it will be important to focus on stories as I build out Galleass. It needs to be fun and the storytelling can be in anyone’s hands; Creating an NPC can be as simple as creating an Ethereum account and interfacing with the Galleass contract fleet programatically. I want to make sure I empower and incentivize the community to create their own stories and missions.
The first mechanic of the game is fishing regulated by a commit/reveal randomness scheme. If you’re not familiar with catching lunkers on-chain, check out this Gitcoin bounty that explains the process of building a fishing bot:
Players use a Dogger to catch fish and sell them to the Fishmonger:
The Fishmonger produces Fillets and players are rewarded with Copper that is used to progress to the next stages of the game. Fillets are used to create Citizens, and Copper can be exchanged for other goods (ERC-20s) at the market:
Citizens are ERC-721 tokens and, depending on what food is used to create them, have differing attributes like stamina and dexterity. Citizens are used in all sorts of ways in Galleass. Send one with enough strength to a Forest tile that you own and you can construct a Timber Camp that will passively generate Timber.
Citizens are also the only tokens that are directly bought and sold for Ethereum. Hopefully this will incentivize players to sail around the world looking for the best types of food to feed their Citizens.
Citizen genetics are responsible for how they look. This will also be a fun mechanic to play with, but hopefully I find a better artist than myself to help out with this :) Everything is open source and the Photoshop file is right here!
If you would like to create a Citizen, you’ll need to build a Village and eventually a Castle:
Sailing on the blockchain is neat concept. A player sends a simple and inexpensive transaction to signal their ship to sail. With each new block mined, the ship moves a certain number of pixels based on the speed of the ship. The ship’s speed is based on the craftsmanship of the Citizen that constructs it and the sailing ability of the Citizen that pilots it. As the ship moves, the player doesn’t have to spend any Ethereum, she simply waits until it has traveled enough blocks to get to the destination and sends a final transaction to drop anchor.
This same concept is employed for the clouds in the sky. The sky is just another smart contract. Everyone sees the same clouds painted in the same place because their browser reads the starting location and the speed of each clouds directly from the Ethereum blockchain.
The previously mentioned Timber Camp also works in a passive way. As certain blocks are mined within a specific range of hashes, Timber is produced.
As the tile collects Timber the owner need not interact with the contract until she is ready to gather all of it at once with a single transaction.
A smooth user experience is a real challenge for Dapp developers as they have to spend time waiting for blocks to be mined. In Galleass, each transaction is represented by a wooden plank in the bottom left of the screen with a progress indicator and a hash. It also switches over to the transaction cost in Ethereum after the status is cleared:
The next big development phase will be creating seaworthy vessels that can sail from one island to another. This will allow the game to scale to many more islands with more land for players to own and use.