Giter Club home page Giter Club logo

gwj53's People

Contributors

angelchama avatar haydoggo avatar imafirehazard avatar kyverii avatar ldandybrunet avatar plexsoup avatar

Stargazers

 avatar

Watchers

 avatar

gwj53's Issues

Add button to remove shake_and_flash

add shake_and_flash property in Global.
Add checks to all particles and knock back effects and camera shake.

(good for epilepsy and slow computers)

You can lose after you defeat all enemies

After defeating all enemies, you can still die to any remaining projectiles on screen, sending you to the junkyard.

  1. Play naturally.
  2. Eliminate all but 1 enemy mechs
  3. Reduce player HP to 100
  4. Eliminate last mech while in the path of one of its projectiles
  5. Take damage from last projectile

Expected result
Player victory

Actual result
Player loses

Player impact
It can be frustrating to lose due to unfortunate positioning. Especially so when the player is locked in place after defeating the final mech.

Make enemy hitboxes more generous for the player

  • Enemies can be difficult to hit with the laser or missile.
  • Missiles will occasionally appear to hit enemies, but deal no damage.
  • Friendly lasers have the weakest hit registration of all current weapon.
  • Shotgun does not appear to have these issues.

For MVP: Ratify and Iterate on Design

Tracked by https://docs.google.com/presentation/d/1Jb92QlMrf8zeSP-lPKnFi0Qnvu1gNCSONkcWnr_ncO0/edit#slide=id.p

The gameplay transitions between two stages, starting with the mech builder, and moving to the mech battler.

The player is induced to build a mech in the mech builder stage. They do this by spending scrap on cards which provide the player parts. The player attaches these parts to their mech and the do battle with it.

The battle phase is still in the design phase and is expected to be roughly 60-70% of the gameplay.

Add minimap

levels are quite large. Player can find themselves without obvious enemies.

Need arrow pointing to remaining enemies or minimap.

Card System Design Exploratory Questions

  • When the player refreshes their card pool, do they keep current cards, or are current cards discarded?
    • If discarded, what happens to discarded cards?
  • Where does a purchased card go?
    • Is there a pool of purchased, but unequipped parts?
    • Is the player forced to equip a card when it's purchased?

Create boss enemies(s) for shootemup

Bosses will occupy mechs that the player discarded, or built previously, or something.

The AI needs to be able to operate the same mechs that the player might have used.

Create additional modules

In addition to shotgun, missile, and laser, create 2 new weapon types.

In addition to Ice Ice Baby, create 1 new ability type.

Core Gameplay Improvements

In no order of priority

  • advanced player movement feature (dash)
  • "bullet hell" projectiles, remove hit scan weapons
  • increase player move speed +++
  • increase map size (design is in progress)
  • establishing shot, prefight (zoom out and countdown)
  • cleaning up player and enemy hitboxes
  • removing reroll system, establishing "market"
  • retooling game launch scene order
    • Game Start -> Junkyard -> Narrative intro -> Battle scene 1 -> mech builder
  • default player mech improvement (better/more weapons)

Add win/lose condition monitor to StreetBattle01.tscn

Generic spawners spawn waves of enemies. Once the waves are gone, the round should end.

Win condition monitor could count enemies killed, or it could be a time limit.
Something needs to end the scene, present a reward and return to the mech hangar for rebuilding.

Add click to move option

For accessibility, some people will need click-to-move instead of wasd.
(presumably along with auto-targeting)

AI mechs are getting stuck on each other and on corners

Look at the pathfinding code,

look at the nav polygon,

look at their collision shapes.

Last resort, give them random back-up behaviour if they're immobile for too long.
Maybe give them a raycast and have them turn away from terrain.

add offset to gun reloads

James pointed out that guns all fire more or less simultaneously.

It might be more satisfying if they're staggered.

Add offsets to the initial load time, or give them random deviation so they drift over time.

relocate movement out of legs

move the code for movement into entity instead of legs.

Legs can provide get_velocity() instead of executing move_and_slide().
entity can add up all the velocities and apply some diminishing returns multiplier.

Develop Mech Building Scene

Player uses [parts] to build [mech] of their dreams.

  • requires parts from another scene
  • can be slots, hardpoints, or physics based.
  • delivers avatar to shooting scene.

Build 3 levels for shootemup

2 levels for local battles with mooks and thugs
1 boss battle

--- MVP cutoff after this line is optional ---

additional levels as required / time permitting

Generate SFX

Generate game SFX at https://sfxr.me/ for:

To-do:

  • Part buy
  • hover and click sound for menu buttons
  • Laser shooting
  • Alt. laser shooting
  • Missile shooting
  • Mech walking
  • shotgun shooting
  • mech taking damage
  • missile shooting
  • missile detonating
  • auto-cannon shooting
  • auto-cannon impacts
  • a "schwing!" sound from a 1v1 fighting game (see Kyveri ref)
  • Steel door open and close
  • Picking up a part in a junkyard (crunchy)
  • putting a part on a mech (snap, pop, or click)
  • removing a part ("")
  • Special "start" sfx when entering the game for the first time (The effect should have reverb and fade for the transition to gameplay)
  • Mech destroyed sound

Crowd noises (new ask)
crowd noises would really spruce up the battle scene. could we get the following noises?

  • Crowd talking before a show level of crowd (this can loop during the match)
  • Crowd really excited like someone scored in a sport (like when an enemy mech is destroyed)
  • Crowd groans like a boxer took a bad hit (When you take too much damage or die)

Make an outro screen.

After winning the third match, we should have a win-game screen.
Setup a stub for dialogic.

Tweak establishing shot

Disable mech input while zoomed out, only spawn the mech in (or even just unhide) after zoom in.

Create game-wide toggle for auto targeting.

To meet accessibility guidelines, we need to implement auto-targeting for some players.

Therefore, we should add an autotargetting toggle somewhere in the settings menu.

enabled: an AI cursor/mouse will automatically seek nearest enemy.

Refactor AI targeting to allow for teams

Right now, AI goes toward player. (PathfindToPlayer.tscn)

The design doc calls for 1v1v1 Battle-Royale style last man standing arena battles.

That means AI mechs need to be able to target each other.

Mech Building Card System

Cards are broken up into following categories:

  • Weapon
  • Defense
  • Movement
  • Ability

Whenever the player is delt a new hand of cards, they are guaranteed at least one card of each category.

Cards also posses other features:

  • Name
    • e.x. "Shotgun"
  • Rarity
    • Common
    • Uncommon
    • Rare
    • Legendary
  • Power Draw
    • How much power it takes to equip
  • Cost
    • How much scrap it costs to buy the part
  • Combat/Stat changing values

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.