heavensshield's People
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")
Player should be able to pause the battle
relates to #27
start menu text is huge on windows and mac
could have more to do with aspect ratio than dpi/ppi. not sure about linux or ios but this isn't an issue on my android phone
Implement unit placement flow
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
restarting a scenario is ugly
this may be fixed when there's more "start" and "end" visuals for the scenario scenes
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)
program the tower
WHAT AM I FIGHTING FORRRRRR
Fix default scaler profile adaptive performance warning
[Adaptive Performance] Only default scaler profile available. Reset all scalers to default profile.
refactor ShowHideOffscreen to include opacity hiding
prob gotta rename it too
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)
Units can be created out of map bounds
tower health display in scenario HUD
"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
Programmatic enemy animations
blobs should bounce up and down. haunted sword should wave, etc.
Improve depiction of map boundary
it looks pretty hokey that it's just gray outside of the map's bounds
Player should be able to double simulation speed with a button (mayb even 3x speed or more if performance permits)
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 Scene scriptable object
contains the name of the scene and the path (e.g., "Scenes/ScenarioSelection")
make the maps look slightly more interesting
add trees, rocks, bridges and water
place those nice grass details you made, outline the paths
Selection circle (and maybe other non-recttransform UI elements? hologram?) is big on high DPI displays
this is definitely an issue on my android phone. need to recheck if the problem is there on macos or ios (or both)
color unit graphics
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.
Design some levels
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
Refactor "UX flow surfaces button click events" idiom from simple scenes (like MainMenu)
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
Gradual/tweening number display UI component
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
ButtonA prefab doesn't have any padding arounding the text
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?)
need to do a pass for UI scaling issues across all devices
i'm sure there's things i haven't seen or haven't documented
Cutscenes
Don't actually do this! ok? (:
Enemies don't face the opposite direction when moving left
"Continue Story" and "Next Scenario" buttons don't work when you are at the last scenario
i should handle this
Implement LeanTween transitions on ShowHideOffscreen component
yay, async
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
.
UnitSelection UX flow can be activated outside of scenarios
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
๐ 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
Configure EnemyPath and enemy waves automatically based on child ordering in hierarchy
it is a pain in the butt to modify
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
Build for iOS
Still need to test iOS build and deploy.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.