Advanced Search
Search Results
33 total results found
pageboi
Combat System
Overall Design Choices
The classes in this game all follow some overarching design choices which are described here. Roles Player characters can fulfill one of four roles: Tank Heal Melee DPS Ranged DPS Hybrid classes, or uniform, all-encompassing character build paths th...
Geomancer - Celsian
Life is like a rock - full of wonders and often too easily thrown away. My brother thinks that I am a geologist, but I am not. It directly follows that there has to be a Geomancer class. Class Philosophy The geomancer uses earth-based spells. Th...
Benthic Whispers - Vanados
Background Her parents had suffered three stillbirths and wished for nothing more than a healthy child. As her mother got pregnant with Agatha, she went to a fortune teller, who told her that she would only ever have one healthy child. All others shall belong...
Crusade Boi / Fanatic - Meritus
I have a hammer, a sword and a spoon and I shall create the work of god, slay his enemies and feed those in need. The food is the life, and may god nurture us all. Eat, pray, slay the unbelievers - what a lovely afternoon! Background Meritu...
Joining and Leaving a Server
Currently, the game can only be joined on a dedicated server. This server needs to be built with a separate build template, which currently only runs on linux. A dedicated server uses the "dedicated_server" feature, which allows for queries to determine whethe...
Movement
Player movement is controlled by the handle_movement function in the player script, which is called in _physics_process. It uses the direction variable that is synced from the player_input node. player_input generated the direction vector based on the directi...
Animal Boi - Krashali
Are you still gonna eat that? Shapeshifter, but locked to one form per role. Melee form is sort of a raven, not sure about other ones
Spell Dictionary
Spells are the combat skills that players, NPCs and interactables use to affect players and NPCs. They can be divided into damage, heal, dot, hot, buff, debuff, and aura spells. All spell data are contained in the data/db_spells.json file. The spell data are ...
Wheel
Raspberry Pi OS does not have the wheel group by default. It can be added with sudo groupadd wheel A user can then be added to the wheel group with sudo usermod -aG wheel username The -a flag appends the group, such that the user is not removed from all gr...
doas
doas can be installed with sudo apt install doas After this, a config file must be created, optionally after installing vim with sudo apt install vim sudo vim /etc/doas.conf The content of the config file should then be set to permit setenv {PATH=/usr/lo...
ssh
The Raspberry Pi OS can be set up with an rsa key already authorized. If this is not the case, a new public key must be added. The new key must be moved into the file /home/username/.ssh/authorized_keys Afterwards, the default port for ssh connections must b...
BaseSpell Class
Spells inherit from the BaseSpell class, which contains some functionality that is shared between all spells. This class contains the dictionaries that store spell data, the cooldown timer, and the flag that determines whether a spell uses mouseover targeting....
gitolite
Gitolite is used to manage git repositories on the raspberry pi. It requires git v1.6.6 or higher, and perl v5.8.8 or higher. Gitolite can be installed using doas apt install gitolite3 The adminkey can be left blank to perform the setup manually, as is done he...
Interactables
Interactables are objects in the game world that can be interacted with, and trigger a specific effect when this is done. Effects can be spells cast on the interactable target, or other specified targets, or changes made to the game world. Technically, virtual...
Creating New Spells
New spells are intended to be simple to add, if they do not do esoteric things. In particular spells that deal damage, heal, apply a buff, debuff or absorb shield, or combine these elements, should be fairly simple to implement. To add a new spell, a few steps...
Spell Container
The spell_container scene consists of a node of type Node, and is used as a parent node for all individual spell scenes that a unit or interactable has available. The spell_container script contains a few functions. spell_entrypoint is the function that recei...