Feature Update (0.1.15a)
We continue our development of the kernels system which will be used for CrushOS, the machine that buys and sells minerals.
This week, the focus has been entirely on kernels. Kernels are an innovative feature that aim to serve as the backbone for all computer-like machines (such as vending machines, personal computers if we make them, etcetera). Think of kernels as computers that can have different kind of operating systems.
In other games, machines such as these tend to have syntax that varies; the idea is that we'll have a unified syntax, although the operating system and the features of the object will determine what behavior it will have.
As an ambitious system like this requires strong testing, we have been implementing professional programming testing: Unit tests. This is where individual components of the software are tested, in order to validate each individual unit performs as we want it, right down to the smallest testable part like the function, method or procedure. This level of rigorous checking isn't usually employed in MUD development, but is useful to ensure it remains bug-free and sturdy.
The Input Command
The input command allows you to interact with objects that have a kernel in them; with them, you can write commands to the machine.
This unified system should allow you to figure out how to interact with a kernel. We'll be expanding the functionality on it as time goes by and no doubt adding several utilities to it.
Here is an example of it in action with unknown commands. You can also see how it shows a log of the two errors on the screen.
CrushOS
The first Kernel Type we will develop is being called 'CrushOS'. When an object is created with a Kernel and a Container, CrushOS will be able to function. CrushOS's purpose is to be able to buy and sell raw minerals being mined.
This ties to the mining system that we developed. If you haven't read about it, you can here:
The idea is that a miner will collect materials, haul them to a CrushOS device that is owned either by staff or a player. Using the permission system, the owner of the device will be able to adjust various functionalities of the machine; they could set it to only buy or only sell, or do both.
Here is an screenshot of its WIP help command:
The functionality of this machine is still pending, but with this backend, we're all ready to act on it!
What's Next?
We're going to proceed with some functionality of CrushOS. As we've explained before, this machine is going to serve as a starting point to sell ores, although it's being made with the goal of letting players also own them and handle their own mineral purchase and selling.
We're getting close to finishing this functionality now that this backend is over!
Once that is done, we're going to have our first money-earning activity.
To get it done, we need to implement a way to store additional information in the Operating System – such as the prices, minerals crushed, etc.