Modular Development

When developing Selestium each component will be created be in a modular fashion so we can reuse it in other games. This will increase the time that it takes to develop, but allow us to build a linear style of development.

For example, building a menu system. We will be able to drag and drop the same system into another mini-game, make changes to the graphics, and hit run.

Another example, the shooting mechanic will be draggable into another mini-game allowing the same shooting mechanic. We can then change the variables if needed.

This would allow us to take our current MVP game (Pylon Defense) and add one or two new modules and make it into a battle arena where two teams verse each other.

Current Modules

Character

  • Character Stats

    • Mobility – Increases your movement speed and maximum jump height

    • Resilience – Increases the amount of damage you can take before dying

    • Recovery – Increases the speed at which you regain lost health

    • Body – Increases the number of attacks per second with melee swings

    • Mind – Increase the effectiveness of your abilities

    • Constitution - Increases your health

    • Intellect – Decreases the cooldown of your ability

    • Technical - Decreases your hacking ability cooldowns

    • Presence - Decreases your visibility when stealth

  • Healing return over time (Destiny 2 style)

    • When you are damaged, after X seconds you will regain health at a speed of Y health per Z seconds based on your Recovery stats.

  • Skill and Abilities

    • A character needs the capabilities of having skills and abilities added to them. Please refer to the skills and abilities module.

    • A player character or NPC can have unlimited abilities added to them. The skill tree will stop them from reaching all abilities.

    • They will add abilities to their skill bar.

  • Death (MVP)

    • When the player dies they will need to review at the closest review location.

    • Their gear durability will decrease

  • Death (Concept)

    • When you die, you go into a digitized world of the current locations. Here while your character is being reconstructed you can fly around disabling parts of enemies to improve your chances of winning. Alternatively, you can enable parts that the enemy has disabled.

    • After X seconds your character will be reconstructed where they lay unless it has suffered Y damage extra or a creature/player has disabled its restore.

      • In this case, your character will respawn at the nearest review point, have death negative for Z minutes and have equipment that loses its durability.

Shooting Formula

Each weapon and subtype weapon runs on the base formula to determine its effectiveness in-game. As of 31/01/22 Weapons will have set formula stats and adjustable abilities.

  • Speed of Reload

  • Add any effects that the abilities of the weapons have (Max 3 abilities)

  • Recoil of weapons

  • Aim stagger on hit / Aim stability. While holding the weapon how stable are your hands.

  • Rate of fire / Rounds per minute / Swing Speed for Melee

  • Weapon weight

    • Movement speed reduced with more weight

  • Range of bullet

    • Could also be determined by velocity against gravity. Creating the downward curve. But this can be annoying in games and create a hard learning curve.

    • It will be easier for players if the range is say 400 m, with a harsh fall-off curve near the end.

  • Magzine size / Overheating for energy weapons

  • Damage

  • Armor Piercing

  • Aim Assist

    • Each gun will have an aim assist that drags the aim over to the player. Look at Destiny 2 as an example.

    • Once on the target, it won't help aim towards critical points, but just to the target. It will also help stay on the target when they move.

Melee Formula

  • Add any effects that the abilities of the weapons have (Max 3 abilities)

  • Size

    • Determines the range of the weapon

  • Combinations

    • Left-click and right-click to alternate combinations and with quick hits (left-click) and hard hits (right-click)

  • Movement speed based reduced based on weapon weight.

  • Attacks per second are determined by character attack speed and the weapon's weight.

  • Damage

  • Armor Piercing

  • Passive reflection

    • Holding a melee weapon gives you the ability to passively block attacks by a percentage based on the weapon's passive reflection

  • Reflection type

    • What type of attacks can this block

      • Melee, living, energy, technology, skill.

Networking

  • Instances and server management

  • Create, Join, Invite, Leave, and Manage Teams.

  • Joining a queue (Random team if your team is not full)

  • Lag management

Systems

  • NFT Leveling up system

    • Reward XP from completing rounds that level your NFT.

  • Skill modules (for internal use only, so we can craft abilities without hard coding them, blueprint ready, and only ran on the server). All skills need to run on the server and that way all the blueprints I create will be called from the server.

    • Increase or decrease stats

    • Heal

    • Get player information

      • Stats

      • Items

      • Skills

      • Added buffs or negatives

    • Get target information (same as a player)

    • Damage

    • Damage over time

    • Teleport object (object can be player, enemy, etc)

    • Push object

    • Remove buff or negative

    • Create an object (thinking summoning, like a pet)

    • AI control (think like fear)

    • Player control (think like fear)

    • Targetable or not

    • Camera control (like blind the player or farsight)

  • Example

    • The game designer will build an ability called "Burn". They open blueprints and use the parent blueprint which contains all functions related to abilities. This blueprint that is now a child, will only be run on the server.

    • We grab a function that creates a status effect on the player.

    • We create the "Burn_Status" ability as a child of the status effect parent class

    • We set the condition when this ability hits the player add status effect "Burn_Status"

    • In the Burn_Status blueprint. we get the current player and call the function "Deal Damage" we create a tick feature and add a cool down method to call this function every X seconds for Y seconds.

    • The Burn ability is added to the database structure of abilities.

    • We then add this to the skills of the player or to the weapons database list.

    • Players can access the skill in-game after we commit the build to a test server before approving the change to the live server.

Shooting Formula

Each weapon and subtype weapon runs on the base formula to determine its effectiveness in-game. As of 31/01/22 Weapons will have set formula stats and adjustable abilities.

  • Speed of Reload

  • Recoil of weapons

  • Aim stagger on hit / Aim stability. While holding the weapon how stable are your hands.

  • Rate of fire / Rounds per minute / Swing Speed for Melee

  • Weapon weight

    • Movement speed reduced with more weight

  • Range of bullet

    • Could also be determined by velocity against gravity. Creating the downward curve. But this can be annoying in games and create a hard learning curve.

    • It will be easier for players if the range is say 400 m, with a harsh fall-off curve near the end.

  • Magzine size / Overheating for energy weapons

  • Damage

  • Armor Piercing

  • Aim Assist

    • Each gun will have an aim assist that drags the aim over to the player. Look at Destiny 2 as an example.

    • Once on the target, it won't help aim towards critical points, but just to the target. It will also help stay on the target when they move.

Melee Formula

  • Size

    • Determines the range of the weapon

  • Combinations

    • Left-click and right-click to alternate combinations and with quick hits (left-click) and hard hits (right-click)

  • Movement speed based reduced based on weapon weight.

  • Attacks per second are determined by character attack speed and the weapon's weight.

  • Damage

  • Armor Piercing

  • Passive reflection

    • Holding a melee weapon gives you the ability to passively block attacks by a percentage based on the weapon's passive reflection

  • Reflection type

    • What type of attacks can this block

      • Melee, living, energy, technology, skill.

Enemy

  • Enemies and enemy ability

  • Rounds system

Last updated