Giter Site home page Giter Site logo

heavensshield's People

Contributors

mucrow avatar

Stargazers

Brandon avatar Micah avatar

Watchers

 avatar

heavensshield's Issues

Create Scenario scriptable object

Contains the name of the scenario, the associated chapter, and a path to its scene (e.g., "Scenes/Scenarios/0002-BattleOnTheRiver")

Make SelectionCircle prettier

i should probably just create trailing SelectionCircleParticle instances and have them fade...

or maybe compensate for parent scaling so when there is no unit placement preview, SelectionCircleParticles aren't vertically squished

or if i keep it structured close to the way i have it, i should at least programmatically generate the alpha and rotation sequence

maybe it's better if i list the issues with the current selection circle:

  • rotation speed looks visually faster if the circle expands (e.g., we should make it based on the particle's velocity instead)
  • particle density is too low when the circle expands
  • updating the angles and alphas is time consuming and i need to keep fixing it when i change things

Design level selection

design the menu after the main menu where the player can choose the level they want to play

remove political capital from the game

the system where you unlock scenarios and upgrade units is now out of scope

what can be fun instead is a simple high score system. we can display it to the player on the score tally modal

(the reason i suggest anything in its stead is because earning political capital is already implemented. players just can't buy anything with it)

skeleton full gameplay loop

some requirements i can think of off the top of my head:

  • start menu -> main menu
  • main menu -> start menu
  • main menu -> scenario selection
  • need game data storage scheme
  • main menu has button that plays next story scenario
  • scenario selection shows a dynamic listing of scenarios
  • scenario selection only shows unlocked scenarios
  • scenarios have a start and end
  • can quit scenarios to the main menu
  • can quit scenarios to scenario selection
  • quit from scenario to the scene that the scenario was started from
  • rewards are carried out from scenarios into the game's global state (political power?)
  • stub start menu -> settings menu with back button
  • stub main menu -> barracks with back button
  • simple cutscene scene (could be handy to implement this as an additively loaded scene)

"Confirm" button in unit placement flow needs to listen for changes in player money

currently, the "Confirm" button will keep whatever state it has when it is first slid onscreen.

so, for example, if an enemy were to be killed, and suddenly the player could afford a unit that was too expensive, the button should become interactable but in the current state of the codebase, it simply stays disabled

(note: i did not test this, i just presume this to be a bug because i did not implement a "money change event" system)

future packBuild.js improvements

  • test on macos
  • delete leftover directories and files (Builds\v0.0.10\MobileTowerDefense-Windows-v0.0.10, Builds\v0.0.10\MobileTowerDefense-Android-v0.0.10.apk)
  • or just use the archiver API to skip the copy step
  • messaging about what is in progress or finished
  • warn if nothing was packed

Prevent tap event if a drag occurred

i think it may be better to manually generate the tap event based on time between touch press and touch release so we can also cancel it if the user drags the touch

Enemy variant chance

add functionality to make enemies choose from a pool of sprite variants when they spawn

Create a game design document

i should write a rough document describing the game's mechanics.

right now this looks like a list of the different unit types and the different enemy types in my head, but because i'm currently making a game that is extremely similar to SN Mobile Technology's Fantasy Defense, i will caution my future self against thinking inside any boxes like that.

i think copyright issues are a concern, but mainly i just considerate a matter of artistic integrity and respect for my fellow developer.

Enemy prefab hierarchy

i'd like to separate enemies with sprite-based animations from enemies with randomized sprites from enemies with programmatic animations. i think these are mutually exclusive sets and having less LoopingSpriteAnimator instances means less objects with Update code

Fix unit groups warning

i wrote this warning.

probably we can just move enemy instantiation into the ScenarioManager since the ScenarioManager can just have a reference to the Units group / game object

Render sorting

currently, if you create a unit 1 tile north of another unit, it will look like the new unit is standing on the older unit's head

New units can be created on occupied tiles

please handle all of these situations:

  • player should not be able to place new units on the enemy path
  • player should not be able to place new units on a tile with an existing unit
  • player should not be able to place new units on a tile with scenery (rocks & trees)
  • player should not be able to place new units on a tile with special objects (treasure chests?)

Limit camera position

currently, the camera is allowed to move out into the void beyond where the map ends. i should implement some sort of limiting.

Fix EventManager warning

There are 2 event systems in the scene. Please ensure there is always exactly one event system in the scene

this happens because there are sometimes two instances of the Globals prefab (transiently, when a scene is first loaded).

we can fix this by having Globals instantiate the event system (or the UI) after it knows it is the true singleton _instance.

Implement attack effects

slash particle for warrior, fireballs and arrows for archer

the textures for this already exist, i just need to do the programmatic animation

i'd like to do additive blending on them but idk how to do that in unity. plus it'll probably look crappy anyway since they're all monochromatic

Implement scene switching

via a GameManager object probably. (dont stick this in Globals. Globals should only be concerned with the persistence and management of global objects)

Fix adaptive performance provider warning

No Adaptive Performance provider package installed. Adaptive Performance requires a provider to get information during runtime. Please install a provider such as Adaptive Performance Samsung (Android) from the Adaptive Performance Settings.

Audio megaticket

first box:
โšช not started
๐ŸŸ  initial sketch done
โš ๏ธ needs more mixing
๐Ÿƒ passable
๐Ÿ’Ž polished!

second box:
๐Ÿ”ฒ not implemented
๐Ÿ—๏ธ partially implemented
๐Ÿ’  fully implemented

four songs (ordered by priority):

  • ๐ŸŸ ๐Ÿ’  battle music (during scenarios)
  • ๐Ÿ’Ž๐Ÿ’  menu music (start menu/main menu/settings/etc)
  • ๐ŸŸ ๐Ÿ’  victory jingle/sound effect
  • ๐ŸŸ ๐Ÿ’  defeat jingle/sound effect

sound effects (ordered by priority):

  • โš ๏ธ๐Ÿ’  mage flame hit enemy
    • extremely long tail at the end of these sound effects is clogging the audio manager
  • โš ๏ธ๐Ÿ’  archer arrow hit enemy
  • โš ๏ธ๐Ÿ’  warrior slash enemy
  • โšช๐Ÿ”ฒ tower being attacked
  • โš ๏ธ๐Ÿ”ฒ enemy attack tower
  • โš ๏ธ๐Ÿ”ฒ mage flame charge
  • โš ๏ธ๐Ÿ”ฒ archer strafe
  • โš ๏ธ๐Ÿ”ฒ warrior swing sword
  • โšช๐Ÿ”ฒ "menu back" sound effect
  • โšช๐Ÿ”ฒ "menu forward" sound effect

Battle units can be created outside of scenario scenes

reproduction steps:

  • as a secnario is about to be "won", open the unit selection UI by clicking on a map tile
  • pick a unit
  • wait for the scenario to exit
  • click confirm once you're at a non-scenario scene and you'll be able to place a unit
  • death !

Create UI flow objects as parts of scenes

UX flow objects should be created by the manager of a scene

for example, scenarios (levels) will be managed by the ScenarioManager (currently called LevelManager) which is the object that should instantiate the UX flow UnitSelector (and other UX flows, through the UIManager)

this is so that UX flows can have access to scene-specific data

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.