This development update will be focused on the newly added “Packages” section of VokCel. As has been demonstrated in prior posts, VokCel allows users to create voxel content as they please and with this new section, it also allows them to pack what they’ve created into packages that they can then distribute via sharing, trading, selling and so on.
The contents of a package
A package can contain any number of items of all the types that a user can create in VokCel. These are: pieces, figures, avatars, animations, sounds, game sessions and save profiles.
The additions to a package are cascading. If you add a figure or avatar to it, then all the pieces that make up that figure or avatar are also added automatically. If you add an animation to it, then the figure or avatar that the animation comes from is also added and the pieces that make up the figure or avatar are also added as well and so on. Below is a summary that highlights cascaded-relationships:
- Game-sessions and Save-profiles:
- Anything related to the game that the user created, from in-game characters, quests, links, etc.
- Sounds, animations, avatars, figures and pieces that are all used within the actual game.
2. Sounds:
- The actual packed sounds.
- If the sound is attached to an animation, the animation is also packed.
- If the sound is attached to a figure or avatar, the figure or avatar is also packed.
- If the sound is attached to a piece, the piece is also packed.
3. Figure/Avatar animations:
- The actual animation.
- The figure or avatar that the animation is attached to.
- The pieces that create the figure or avatar that the animation is attached to.
4. Figures/Avatars:
- The actual figure or avatar.
- The pieces that create the figure or avatar.
5. Pieces:
- The actual piece.
Along with all these things, a note can be added to a package that describes its contents and the intentions of its creator(s).
All the contents of a package are zipped into a .vokpak file that can then be distributed and installed by anyone with VokCel.
Types of Packages.
There are 2 types of packages: collaborative packages and published packages.
Collaborative packages allow a group of users to come together and work on a common project together. It could be that they are collaborating to build a fantasy-world for example. The main project administrator would create the new package and it would be distributed among everyone who is intended to collaborate on its creation.
For published packages, they simply contain the contents to be distributed without a modifiable package within them. This means that published packages cannot be modified or edited once received, unlike collaborative packages.
Extracting packages
Packages are extracted depending on their type. For collaborative packages, all the contents of the package: pieces, avatars, animations, game-sessions, etc. are installed into the system they are extracted from. The modifiable package will also be installed into the system.
For published packages, all the contents are installed without the modifiable package.
A thing to note is that if a package contains a save-profile
within it, then it is assumed that the destination has the game-session that
the save-profile would relate to. If it does not, then the save-profile will
not be installed at the destination. This can be likened to having a game, like
a zombie-game, and then sending your friend a save-file of that game. The
save-file will only work if your friend also has the same zombie-game from the
same source. It cannot work otherwise.
Additional notes on packages
Those are the basics of creating and distributing packages. An additional thing to consider is that subsequent installations that have the same items from the same source will overwrite each other. For example, if a user received and installed a package that had an intricate helmet from another user more than once, then new versions of that helmet will overwrite old versions. However, if a user received the same helmet, but from different sources, then it might end up being duplicated on their system. Of course, they can always delete the duplicate!
The whole point is to ensure decentralized independence; the users can simply create and distribute packages amongst themselves without any middle-man involved. Should they choose to sell the packages, then they get to keep all the money without paying for any commissions and such (barring anything like elective discovery services, which would help them increase their reach, of course).
It goes without saying that users would also have to safely create and distribute packages and when it comes to installation, to only trust packages from known and vetted sources.
In conclusion, a convenient way to think of packages, is to think of a text file that can be edited. A person could create a text file, write into it and send it to other people, who would also do the same, if they are collaborating on it. These people could then publish the file to the general public for consumption.
That's it for this post. With this development, VokCel is fully done, in terms of all the segments and capabilities it provides. The next posts will deal with actual in-game experience, before version 0.1 launches. I'll also finally be able to set up an x(twitter) account, along with a better social media presence!
Gust.
Hey Gust, I stumbled upon this blocky project of yours and I think it's great! I use Magicavoxel but like to see what else is going on in the world of voxels, that I might be able to also use something else. I'm hoping things are going well for you and Vokcel. I look forward to updates. Happy Holidays!
ReplyDelete