Giter Club home page Giter Club logo

zxyz's Introduction

ZXYZ

Top-Down 2D Dungeon Crawler PROTOTYPE

Key Bindings:

W, A, S, D TO MOVE [ ARROW KEYS OPTIONAL ]

LEFT CLICK TO BASIC ATTACK

RIGHT CLICK TO SPECIAL ATTACK

SPACE TO DASH

E TO OPEN PAUSE MENU / SETTINGS

UPDATED BY N.MATTINSON 4MAY2024

zxyz's People

Contributors

mikemmattinson avatar nickmattinson avatar

Stargazers

 avatar

Watchers

 avatar  avatar

zxyz's Issues

EnemySpawn

  • tutorial enemies are spawning at origin
  • we need to implement invoke or delayed spawn for all enemies.
git fetch origin
git checkout 44-enemyspawn

cameraMovement

  • get camera to follow player
  • include smooth movement (match methods with player movement. i.e. fixedUpdate() or Update())

See Attack Through Walls

Enemy and player can see and attack through walls. Possible solution is A* algorithms.

git fetch origin
git checkout 19-see-attack-through-walls

Leaderboard

To repeat bug:

  1. start game
  2. click Leaderboard
  3. observe console warning
    [LeaderboardCreator] Username cannot be null or empty!
    UnityEngine.Debug:LogError (object)
    Dan.Main.LeaderboardCreator:LogError (string) (at Assets/LeaderboardCreator/Scripts/Main/LeaderboardCreator.cs:314)
    Dan.Main.LeaderboardCreator:UploadNewEntry (string,string,int,string,System.Action1<bool>,System.Action1) (at Assets/LeaderboardCreator/Scripts/Main/LeaderboardCreator.cs:174)
    Dan.Main.LeaderboardCreator:UploadNewEntry (string,string,int,System.Action1<bool>,System.Action1) (at Assets/LeaderboardCreator/Scripts/Main/LeaderboardCreator.cs:153)
    Leaderboard:SetLeaderboardEntry (string,int) (at Assets/Scripts/Leaderboard.cs:34)
    UnityEngine.Events.UnityEvent`2<string, int>:Invoke (string,int)
    StateManager:loadLeaderboard () (at Assets/Scripts/StateManager.cs:111)
    UnityEngine.EventSystems.EventSystem:Update () (at ./Library/PackageCache/[email protected]/Runtime/EventSystem/EventSystem.cs:530)
git fetch origin
git checkout 62-leaderboard
  • Modify StateManager.loadLeaderboard() to check player.username not null

PlayerAttack

  • for the basic player attack, I want a small circle to follow the mouse pointer around, if the pointer is within the range of the basic attack, the circle glows green, if the pointer is too far, then the circle glows orange. The player can still attack in that direction but the attack will only reach max distance. The attack will spawn a line (of electricity) from the player to the mouse pointer. slight AOE because I want to give the player a little breathing room (very small circle).

  • I want hitpoints to spawn above the enemy with how much damage the player dealt. red font and rises above the enemy's last position and fades out.

  • the advanced attack is a right click AOE attack that deals damage within a larger circle, can be anywhere on the screen.

git fetch origin
git checkout 14-playerattack

Leaderboard

  • create leaderboard UI
  • add buttons to reach UI from main menu, settings, and game over UI
  • add ability to see other player's highscores or times
  • the name and score don't refresh with player
  • Move input player name to MainMenuCanvas
  • Verify the Player.cs has name
  • Use the Player.name similar to Leaderboard score
  • #58
git fetch origin
git checkout 23-leaderboard

image

UIOverhaul

  • create main menu
  • create pause menu
  • create HUD
  • add inventory
  • Player health bar
  • Player attack
  • Player defense

Power-Ups

I want there to be 2-3 powerups laying on the ground or that drop from the enemy's that the player can pick up to enhance gaming experience.

  • attack buff
  • defense buff
  • health increase
  • add png images
git fetch origin
git checkout 15-power-ups

issueSync

this is a test to see if I can use the hashtags in the github desktop when commiting changes to my project.

  • here is item one
  • this is item two.

worldMap

Create the world map tilemap and tilepalette

  • tilemap
  • tilepalette
  • place tiles
  • composite collider

addPlayerPrefab

  • create 2d circle
  • add components to player
  • rename player
  • fix layers for player (sorting and normal)
  • add player movement script
  • add player input script
  • add player data script
  • add player save system

Super Enemy

super 7/5

  • update unity for 7 enemies
  • create additional case in enemy
git fetch origin
git checkout 69-super-enemy

EnemyReferencesBroken

  • When the enemy is attacking, the enemy that attacks is the last enemy instantiated, not the enemy that is looking at the player.
  • when the player kills the first enemy, the last enemy also gets destroyed which I believe is the cause of the damageNumbers disappearing.
  • Many of the references are messed up.
git fetch origin
git checkout 35-enemyreferencesbroken

DamageNumber

  • if the attack is less than defense, show a damage number of 0!!! that way the player gets feedback when attacking
git fetch origin
git checkout 67-damagenumber

DadTest

  • make a new enemy prefab using the already existing prefabs
  • make the new enemy a different color
  • add enemy to the list of enemies that can randomly spawn
git fetch origin
git checkout 22-dadtest

FixEasyEnemyTwo

  • modify enemy health
  • modify enemy attack
  • modify enemy defense
  • modify distancebetween
  • modify cooldown

Respawn

  • RESPAWN. When player dies, if they want to restart, and if the score is greater than zero, the whole map restarts, player returns to HUB and score is reset. Health resets, attack and defense reset.
  • RESUME. When player pauses game to look at settings or leaderboard, send player back to where they were currently at. Dont' change this feature that is curently in the game
  • if the score is smaller than your current high score, then no change, high score updates leaderboard
  • restart / respawn buttons improperly labeled
git fetch origin
git checkout 56-respawn

SettingsBroken

when you press escape to go to the settings scene, when you press the back to game button, it breaks the game. maybe change settings from it's own scene to a canvas that activates and appears above the game within the same main game scene.

enemy

Enemies should have level, health, attack, defense, AI pathfinding, basic attack with cooldown, spawnpoints, and can roam a certain distance from spawn.

  • enemy script

  • int level

  • int health

  • int attack

  • int defense

  • can die

  • basic pathfinding

  • intermediate pathfinding

  • basic slash attack with cooldown

  • spawn points

  • roaming from spawn

  • spawn from spawn points

EnemyRandomSpawnRate

  • make new enemies spawn at random times, preferably 4-10 seconds.
git fetch origin
git checkout 53-enemyrandomspawnrate

Add timer

  • Timer should count up
  • leaderboard created to show off lowest times of completion

Enemy Spinning

Player pushes into enemy and enemy spins around.

  • change enemy dynamic, kinematic or static attribute and mass so that the enemy doesn't spin
  • change sorting layer of enemy to be above buffs
  • Add a Collider Component to your Player and Enemy Prefabs:
  • Create a CollisionManager Script:
  • Modify the Enemy Script: Add a method HandleCollisionWithPlayer() in your Enemy script to handle the collision behavior.
  • Attach the CollisionManager Script:
git fetch origin
git checkout 57-enemy-spinning

PlayerPrefs

if people want to play the game a second time or sign into itch.io after awhile, the username should be remembered and persevere throughout (as a player pref) as well as their high score.

git fetch origin
git checkout 58-playerprefs

Superman

NICK'S THOUGHTS:

  • LineRenderer for enemies broken
  • usernameDisplay in GameUI not wrapping (and relocate closer to top right of screen and anchor there)
  • Enemies all currently instantiate with the same states because of lines 29-32 in entity.cs [modulate the enemy and player stats using [SerializeField] for health, attack and defense.
  • Enemy Defense too strong
  • Player Defense too strong

Limit health, attack and defense and/or make the enemies harder as the game progresses...

In Player.cs:

  • Limit health
  • Limit attack
  • Limit defense
  • Awake()
  • set initial player health 200
  • set initial player attack 3
  • set initial player defense 1
  • update player's max attack distance (see #14 )

In Enemy.cs:

  • Awake()
  • Create health
  • Create attack
  • Create defense
  • SetHealth(Player: player)
  • SetAttack(Player: player)
  • SetDefense(Player: player)
git fetch origin
git checkout 63-superman

Audio

  • theme music
  • game background music
  • sfx

Power-Up_Spawner

  • implement item drops from enemy death
  • randomly choose if item is dropped (Random.range())
  • randomly choose buff from array of GameObjects

EnemySpawnAtOrigin

need to change it so that the enemy spawns at enemyspawnposition

git fetch origin
git checkout 42-enemyspawnatorigin

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.