Giter Site home page Giter Site logo

liam-harrison / celeritas Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 2.0 885.75 MB

Celeritas is a 2D space-shooter with ship-building and weapon modification mechanics.

License: MIT License

C# 78.15% ShaderLab 3.06% HLSL 1.12% HTML 17.61% Objective-C++ 0.05%
game

celeritas's Introduction

Hi there ๐Ÿ‘‹

stats

Top Langs

celeritas's People

Contributors

100575155 avatar lachlanbecirovic avatar liam-harrison avatar liamcmoore avatar rdpolarity avatar tearussell avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

celeritas's Issues

[MODULE] Ship Hull Strength

Basic Module

Basic functionality: Increases the health of the ships hull by 33%.

Upgrade Functionality: Increases the strength of the ship hull by a further 33% for each upgrades (33% -> 66% -> 99% etc)

[DOCUMENTATION] Game loop diagram

Provide a diagram of the main 3 game loops (every 5 seconds, every 30 seconds, every 30 minutes).

Also, CLARIFY and LOCK IN terms for game aspects (especially above loops) that is familiar to every group member without needing explanation.
EXAMPLE:
-WAVE = one rush of enemies, multiple waves make up one level
-HULL = ???

[MODULE] Extradimensional Storage Unit

Custom Module

Basic functionality: Creates a space in your ship where additional modules can be placed, allowing for a higher module cap.

By default this is a module that takes up 1x2 space and allows for 2x2 worth of modules to be placed inside.

Upgrade Functionality:
Increases one of the dimensions within the storage unit by one, alternating. (2x2, 2x3, 3x3, 3x4, 4x4, etc)

[MODULE] Weapon Projectile Count (Volley)

Basic Module

Basic functionality: Increases the number of projectiles fired from the players weapon, these additional projectiles are spread in a straight line away from the player ship. Initially, the module provides 2 additional projectiles.

Upgrade Functionality: Each level of the module increases the number of projectiles fired by 2. (3 -> 5 -> 7 etc).

[MODULE] Collateral Damage

Custom Module

Basic functionality: Dramatically increases weapon damage whilst also allowing your projectiles to damage you.

  • Damage increase: 50% per level
  • Self Damage: 100%

Upgrade Functionality:

  • Damage upgrade per level: 50% (50% -> 100% -> 150% etc)
  • Self Damage per level: -10% (100% -> 90% -> 80% etc)

[REQUEST] Hull and Module Build System

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[REQUEST] Modules (Up to 6 of each type)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[MODULE] Ship Repair Speed

Basic Module

Basic functionality: Typically, ship hull will only repair between waves. This module allows the players ship hull to constantly regenerate at a rate of 3% per second.

Upgrade Functionality: Increases the rate of hull repair by an additional 3% (3% -> 6% -> 9% etc)

[MODULE] Projectiles Return to you

Boss Module

Basic Functionality: After reaching the end of their travel distance (Including hitting a foe whilst having no further projectile logic), your projectiles return to where your ship was at the time the projectile was fired.

Upgrade Functionality: For each upgrade your projectiles travel out in a random direction after having made contact with their spawn location. Returning once more if upgraded a second time, and continuing on for each upgrade beyond.

[MODULE] Mine Converter

Custom Module

Basic functionality: Instead of firing projectiles from your guns, you now drop mines directly behind your ship at the same rate. These mines stay in place for up to 6 seconds before detonating, firing their projectiles at the nearest target (or a random direction is no target can be located in range.) Alternatively, if an enemy approaches within 0.5 metres of the mine, it detonates early (If a weapon has very limited range, the mine should only detonate within weapon range).

Additionally, this module provides the mines with +50% damage and +3 projectiles (Fired in a nova pattern)

Upgrade Functionality: Mines last 1 less second, deal +20% damage and have +1 projectile for each upgrade level. Additionally, their detonation trigger range is increased by another 0.5 metres if applicable.

[MODULE] Fire Rate

Basic Module

Basic functionality: Increases your weapons rate of fire by 25%

Upgrade Functionality: Increases your weapons rate of fire by a further 25% per level (25% -> 50% -> 75% etc)

[MODULE] Deflective Plating

Basic Module

Basic functionality: Decreases damage taken by the ship hull by 15%

Upgrade Functionality: Decreases damage taken by the ship hull by an additional 10% for each level (15% -> 25% -> 35% etc)

[REQUEST] Basic Locomotion

Is your feature request related to a problem? Please describe.
Implement a V0 version of ship locomotion according to SPAZ controls.

Describe the solution you'd like
The ship should rotate towards toward the mouse, and the WASD controls should move the ship in the appropriate direction for the key pressed. Both ship translation and rotation should have configurable inertia.

[MODULE] Ship Speed

Basic Module

Basic functionality: Increases the speed and acceleration rate of the players ship by a small flat amount and a large percentage amount. (50/50%, these numbers are relative to those used on the 'hull module' wiki page.)

Upgrade Functionality: Each level increases the effect of the module by 50/50%.

[MODULE] Weapon Damage

Basic Module

Basic functionality: Increases the damage dealt by weapons by 15%

Upgrade Functionality: Damage increased by a further 10% for each level (so 15% -> 25% -> 35% etc)

[BUG] Null Reference when Loading

Describe the bug
Weapons do not fire properly. May be related to projectile effects levels not being set properly for runtime.

To Reproduce
Steps to reproduce the behaviour:

  1. Run game

Expected behaviour
Expect the autofire behaviour to shoot multiple bullets/second. Or, if autofire isn't working for some reason, to shoot a bullet every click.

Screenshots
Weapon at runtime
Weapon at runtime

Ship weapon prefab
Ship weapon prefab

Additional context
Unity was giving a NullRef exception until this code was added to EffectManager > AddEffect

if (wrapper.EffectCollection == null)
  return;

Ship prefab does have levels set, as shown in the screenshots.

[MODULE] Knockback

Custom Module

Basic functionality: Your attacks apply significant momentum to enemy ships in the opposite direction of the location they were hit.

(Don't have good numbers of this one, whoever implements it will have to play around to see what feels good. The knockback should be less significant on larger ships due to their mass,)

Upgrade Functionality: Significantly increases knockback power for each level of upgrade.

[MODULE] Energy Convalescence Drive

Custom Module

Basic functionality: Energy Convalescence Drive. Increased projectile damage per meter travelled

Upgrade Functionality:

  • 5% damage increase per meter to a max of 6m, with a 2% increase per level (level 1 damage increases by 5%, level 2 damage increases by 7%, level 3 damage increases by 9% etc)

[BUG] Weapons appear to collide with ship, causing movement issues.

Describe the bug
The ship weapons appear to interact with the ship hit box. As the weapons are locked in position this applies a constant source of backwards inertia to the ship.

To Reproduce
Steps to reproduce the behavior:

  1. Launch game
  2. attempt to move ship forwards
  3. Ship appears to stutter as it constantly impacts weapons
  4. Occasionally (Unable to consistently reproduce) the ship will travel backwards, as though it were being rammed by its own guns.

Expected behavior
The ship guns should probably have no hitbox. Players shouldn't be punished for having large weapons, and being hit be a projectile that should have near missed due to aiming isn't a great feeling.

Read through proposed module system

AVAILABLE IN DEVELOPMENT CHANNEL.

Read the document and all comments and questions, and leave your own if necessary. This is to ensure, in future, we are all aware and thinking about these issues. Even if they are issues to solve later, at least we can be aware of them now.

[MODULE] Ship Shield Strength

Basic Module
Basic functionality: Increases the shields of the player ship by 50%

Upgrade Functionality: Increases the shields of the player ship by a further 50% (50% -> 100% -> 150% etc)

[REQUEST] Charge Animation

Is your feature request related to a problem? Please describe.
Charge weapons should be animated when charging.

Describe the solution you'd like
Some sort of animation when charge weapons are charging!

Describe alternatives you've considered
Doesn't have to be traditional animation stuff, can also be particles and/or shader stuff! Just need it to be obvious that something's happening.

Additional context
n/a

[Module] Lock On

Custom Module

Basic functionality:

  • Hotkey (Default 'f'): Target currently underneath mouse is 'locked on'. All projectiles fired from the ship fire at the target rather than at mouse until hotkey is pressed again to remove lock/change target.
  • Locked on target takes an additional 25% damage from your weapons.

Upgrade Functionality:

  • Locked on target takes a further additional 25% damage from your weapons. (25% -> 50% -> 75% etc)

[MODULE] Shield Kinetic Diverter

Custom Module

Basic functionality: Converts up to 100 shields each time you fire, for every shield point converted the damage of the projectiles fired is increased by 1%.
Shields converted this way do not reset the shield regeneration timer.

Upgrade Functionality:

  • Maximum shields converted reduced by 20 each level ( level 1 converts up to 100 shields, level 2 converts up to 80 shields etc)
  • Extra damage (ED) as a percentage from shield conversions is equal to the number of shields converted (C) divided by 120 minus 20 times the level (L) multiplied by 100. [ ED = C / (120 - 20L) * 100 ]

[MODULE] Erratic Projectiles

Boss Module

Basic Functionality: Projectiles fly out in a zig-zag pattern, gaining more area coverage. Projectiles effected by this module also gain dramatically increased projectile speed and distance, so they continue to travel a similar distance from your ship in the same amount of time.

  • Projectiles Zig-zag at a 45 degree angle, travelling 10% of their travel distance before rotating 90 degrees in the opposite direction and repeating the process.

Upgrade Functionality:

  • Projectiles Zig-zag at a 45 (45->55 -> 65 -> 75 -> 85 (Capped)) degree angle, travelling 10% (10% -> 9% -> 8% -> 7% -> 6% (capped)) of their travel distance before rotating 90 (90 -> 110 -> 130 -> 150 -> 170) degrees in the opposite direction and repeating the process.
  • Projectile Speed increased by 45% (45% -> 75% -> 150% -> 300%). This speed increase allows the projectile to reach the same distance from the ship after the projectile lifetime expires. This number is arrived at via the equation: D = 1/COS(Angle) rounded up to neat numbers.

Erratic Example

[MODULE] Containment Module

Custom Module

Basic functionality: Containment Module. increasing damage for every 0.5 seconds without firing, starting from 1.5 seconds to a max of 5 seconds. 2 extra projectiles after 5 seconds of no firing.

Upgrade Functionality:

  • 3% extra damage per 0.5 seconds (S) of no firing, starting from 9% at 1.5 seconds of no firing, increasing by 50% per level (L), where S is a multiple of 0.5, up to 5 seconds [ 6 * S * 1.5 ^(L-1) ]
  • 2 extra Arc projectiles after 5 seconds of no fire, increasing by 2 for each level (2 for level 1, 4 for level 2, 6 for level 3, etc)

[MODULE] Projectile Compressor

Custom Module

Basic functionality: Projectile Compressor. Reduces maximum number of projectiles to 1 and increases damage and size of remaining projectile relative to the number of projectiles lost.

Upgrade Functionality:

  • Projectile size increased by 25% per projectile lost per level, starting at 25% for level 1 [ Percentage size increase = 25/100 * Level * Number of lost projectiles]
  • Projectile damage increased by 5% per projectile lost per level, starting at 10% for level 1 [ Percentage size increase = 5/100 * (Level + 1) * Number of lost projectiles ]

[REQUEST] Weapons implemented (As many as practical)

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[REQUEST] Enemy Pathing and AI

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[REQUEST] Menu Screen Implementation

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[MODULE] Weapon Projectile Count (Arc)

Basic Module

Basic functionality: Increases the number of projectiles fired from the players weapon, these additional projectiles are spread in an arc away from the player ship. Initially, the module provides 2 additional projectiles that arc on a 15 degree angle from the initial projectile.

Upgrade Functionality: Each level of the module increases the number of projectiles fired by 2. (3 -> 5 -> 7 etc). Each set of two projectiles increase the firing angle by 15 additional degrees, so the 4th and 5th projectiles would both be on a 30 degree angle from the front of the ship on the left and right.

Arc+Volley Interaction

[MODULE] Mass Compression Unit

Custom Module

Basic functionality: Massively increases ship mass and increases ramming damage.

  • Ship Mass: Increased by 5 flat mass, then increased by 25%.
  • Ramming Damage: Damage dealt to enemies via collisions with your ship is increased by 50%.

Upgrade Functionality:

  • Ship Mass: Increased by an additional 5 flat mass, and 25%. (5/25% -> 10/50% -> 15/75% etc)
  • Ramming Damage: Damage dealt to enemies via collisions with your ship is increased by an additional 50%. (50% -> 100% -> 150% etc).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.