Transfers and a GUI

The first update to Cryptoverse has arrived! If you need an introduction to Cryptoverse, you can find one here. The latest CLI builds are on our downloads page for Windows and OS X.

The Team

The biggest update, in my opinion, has been the new team members. So far they’ve all chipped in on the design of Cryptoverse, but here’s some of their other specialties:

Ian: Frontend, backend, and talented musician.

Kristofer: Frontend CLI and backend developer.

Usiten: Working on the frontend for a GUI version of Cryptoverse.

Publicly sharing a project is nerve wracking, but I have no regrets! The post on r/gamedev brought these fellows onboard! They’ve already made their mark on Cryptoverse, and if you’re interested in helping you can contact us through our subreddit.

Unity3D GUI and Plugin

The modular nature of Cryptoverse has made collaboration easier than I expected, and Usiten has already made a beautiful GUI for viewing the universe. Please check it out on Windows or OS X. If you just want to see a preview, check out the video below,

If you’re interested in making your own Unity3D project that integrates with Cryptoverse’s blockchain, check out our plugin. It’s completely free under the MIT license.

Last Week’s Results

The public alpha was a great first test for the Cryptoverse protocol. There were bugs, oh yes, but that’s what these alphas are for. The biggest issue impacted attack commands, where blocks containing attacks with surviving ships would be rejected by the server. Other than that, jumping and probing of new systems worked well, with 43 star systems discovered by a dozen different users in the past week.

This Week’s Update

In addition to the bug fixes, this week’s update adds the transfer command, allowing you to change ownership of your ships. Use this to consolidate fleets generated on different machines, though the ability to export your account information is planned to make this unnecessary. The real benefit of transfers will come when harvestable resources are added and traded among players.

Learn More

The design, gameplay, and protocol of Cryptoverse is still evolving, so we’ve set up a wiki to organize our efforts. To keep track of our progress and the tasks we’re working on, check out our JIRA.

What’s Next?

Moving away from abstract ships, to unique ships with customized modules, is a big change that’s on the horizon. How that works could be an entire blogpost on its own, but for now we have to lay the groundwork for it. This means cleaning up some tech debt, like adding merkle trees to manage block size.

Also, as you can see from the screenshots above, Usiten is also experimenting with some improved galaxy generation techniques. Again, it could be a whole blog post on its own, but the screenshots were too cool to leave out!


Release Notes – Cryptoverse – Version Core 1

Story

  • [CV-17] – Add CLI command for defining a string as the meta data to be included with their probed star logs
  • [CV-33] – Add CLI command for transferring ships to another fleet

Task

  • [CV-15] – Add a transfer action that changes a vessel’s fleet association
  • [CV-16] – Add database support for star log meta data
  • [CV-18] – Add meta data hash to star log headers

Bug

  • [CV-14] – CLI doesn’t adjust for difficulty increases
  • [CV-24] – Event types are not pre-populated when a fresh database is created
  • [CV-25] – Fix events not being included when probing from CLI

First Alpha

Introducing Cryptoverse

Cryptoverse is a game of stellar exploration, trading, and war. It is also my attempt at a decentralized MMO, with a distributed infrastructure and no need for moderation. It’s built on blockchain technology, similar to bitcoin and other cryptocurrencies. Right now it’s in alpha, and I need your help to shape its future!

How does it work?

Right now it’s a barebones command prompt for probing new systems, jumping your ships to other systems, and attacking enemies. The process of probing for new systems can be done without any ships, and is actually how new ships are added to the game world. Every time you probe a new system, you’re also verifying the actions of other players and adding them to the collective history of the game’s universe. In return, you’re rewarded with 10 new ships! The difficulty for probing on the test server is currently low enough that a decent computer will find a new system every couple of minutes. As more players probe for systems, the difficulty will increase so new ones are only discovered every two minutes. Jumping between systems is more dangerous the farther one goes, so it’s advised to jump among the intervening stars to minimize losses to your fleet. Attacking ships is very dangerous, and each ship you send to kill an enemy is also lost, so you’ll have to keep probing new systems to earn more ships.

What’s planned for gameplay?

  • A more game-like client in Unity3D to replace the CLI
  • More ships and an extended tech tree
  • Resources that can be harvested by specialized ships
  • The ability to transfer ships and resources to other players
  • Static structures like jump gates that can be used to jump farther distances

Future changes to the protocol (technical)

  • Peer-to-peer support so servers can keep each other up to date
  • Fee support, so you can tip resources to people probing new star systems, enticing them to include your action into the shared history of the game
  • Client-side validation of updates from server

To keep updated on new features and vote for the ones you like, check out the Trello board for Cryptoverse.

How do I play?

Download and run the command line interface matching your operating system here. If you’d prefer to build the CLI yourself, you can pull it from GitHub. Once running, it will generate a local.db file next to the executable. This is important, so don’t lose or share it, since it contains the private keys for your fleet! The client will sync with the game state of the test server, which may take a moment depending on how much has happened.

You’re now ready to start probing for new systems by entering “probe” into the command line. Depending upon the number of people probing and the speed of your machine, this can take seconds or minutes. Once it’s done your newly discovered star system will be sent to the test server, where others can download and probe for new systems on top of it. In doing so, you’ve also earned yourself 10 ships! By default, ships start out in the genesis system, the first one that was probed. To find your ships, use the list deployments command “ldeploy”. Your ships can be ordered around by using the “jump” or “attack” commands. For more information type “help” into the CLI, or for help with specific commands try “help <command>”.

How can I help?

The Cryptoverse server and CLI are open source under the MIT license, so feel free to fork us on GitHub! If you have any questions or feedback, shoot me an email.