GithubHelp home page GithubHelp logo

akdb / pso-tracker Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 0.0 437 KB

Tracker for Phantasy Star Online speedruns

License: GNU Affero General Public License v3.0

JavaScript 87.31% CSS 5.59% HTML 7.10%
html item-tracker javascript parcel phantasy-star-online speedrun speedrunning svg

pso-tracker's People

Contributors

schwjm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

pso-tracker's Issues

Add more background options

Requirements:

  • Allow picking any color (find a good NPM package)
  • Allow the "blinds" pattern (align with the blinds in the palette cells if possible, though that might require moving the blinds outside the cells altogether and keeping the cells more transparent, only do this if it looks bad to not do it)
  • The new options should persist between sessions as the current background choices do

Window doesn't launch at correct size

Steps to reproduce:

  1. Launch the tracker
  2. Resize it
  3. Save the Window Size
  4. Close the tracker
  5. Launch the tracker again
  6. Revert Window Size

Observe that the window changes to the original size you saved, but why didn't the window launch at that size to begin with?

Number of layouts dropdown does not update when changing profiles

Steps to reproduce:

See #23

  1. Define a new profile in PaletteProfiles that only has 1 layout.
  2. Switch from a FOnewm profile on layout 3 to this profile
  3. Observe that the dropdown still allows layout 3 and launching fails
  4. Select layout 1 and launch
  5. Save and refresh the lancher and switch back to a FOnewm run, observe only one layout may be chosen

Allow launching with all controls enabled but no visual aids

I'm finding "mouse-only" option more useful than originally thought. However, it'd be nice to still have the keyboard shortcuts work (especially since mouse-only is limited to using the first increment only). Basically, the option would work the same but keyboard shortcuts would still work. If there's need for a mode with no hotkeys, it can be added separately.

HP should allow increments of 1

Leveling as a FOnewearl from 16 to 17 gives 5 HP, allowing you to hit the target +39 HP boost to survive Dark Falz Divine Punishment. The HP only allows increments of 2 and 10 presently, not accounting for extra levels, which has been used intentionally and can happen accidentally in extremely high-EXP map distributions.

HP bar icon should have a gradient

Originally, HP was given a solid color to be consistent with the palette icons. However, eventually it was decided to put gradients on the equipment icons. HP could be given a gradient to more closely match the HP bar in game.

--no-minify is required non-ideally

"build": "npm run archive && parcel build --no-cache --no-minify --public-url ./ src/*.html",

SVG.js breaks down when minified by terser (some of its internal classnames are clobbered even when asking terser not to do that, and it relies on some pseudo-reflection to match SVGElement subclasses up by name). Parcel also does not allow excluding certain files or modules from the minification process, it's all or nothing for the whole build.

As a result, build outputs do not actually benefit from minification. --no-minify ideally should be removed when it would not break things to do so.

Once issues are resolved upstream or new configuration options are available, this issue can be addressed.

Allow customizable layouts

Requirements:

  • Create an interface that lets you load and save custom profile layouts (each layout only applies to one Run Profile)
  • Always start from an existing layout (e.g. maybe use the launcher to go to the editor)
  • Create a palette of reserve icons that can be selected and attached onto the main palette, and also allow moving unwanted items off of the palette into the reserve area (will drag and drop work with SVG? maybe click + target is fine.)
  • The reserve palette should be two rows only while the main palette can be any shape as long as all hexes are connected
  • Allow editing of keybinds (which will also allow people with non QWERTY keyboards to have more logical keybinds if there's any issue right now)
  • User can save one custom layout for now (do you really need more than one?)
  • Show "Custom #X" in the launcher layout menu

Exclusions:

  • Editing trackable parameters or adding trackables not normally in a profile seems better suited for a future item if it's needed, since there are some complicated parameters

Changing profiles can forget the window size

Steps to reproduce:

  1. Interact with one profile (e.g. FOnewm)
  2. Save your window size
  3. Load a new profile and interact with it (reset or increment something)
  4. Close the tracker window
  5. Launch the tracker window with the same profile as step 3. The size is at default. Revert Window Size has no effect.

Integrate with LiveSplit

The standalone tracker is nice but it is somewhat inconvenient to run in a separate browser window because you miss out on features like global hotkeys, window always on top, etc. Key customization could also be handled automatically if we could draw this on LiveSplit.

Consider Chromium Embedded Framework?

Add profile for All Missions

Requirements:

  • Same palette as FOnewm Any% with the following changes
  • Rafoie, Razonde, and Rabarta are all targeted to level 1
  • HP is not targeted to anything

Also, Razonde is not an acceptable alternative to Gizonde for every scenario so it should not be linked as such on any profile.

Barta initial value should be 1 (but minimum 0)

Forces will generally want to play with Barta, so it's annoying to mark it off on every run. Instead, start it at 1 but allow marking it down to 0 if you play without getting the disk at the start.

This is one of many features that fall under "tracker customization" that I'll write in more detail eventually.

Visibility of values is poor at lower resolutions/bitrates

Due to the placement of text, the current fonts, and the current font shadow (overlaid blur) strategy, certain numbers are not super clear. In general, the readability probably could be improved but some specific cases stand out:

  • Zonde 1
  • MST +8
    image

Ideally, can this be significantly improved without extreme solutions like shrinking the icons significantly across the board or moving the text entirely outside the cell. Better fonts, better contrast strategies, what can be done?

Notable test parameters: 300x256 window size, 1800 kbps stream bitrate

Add profiles for Hunters

Requirements:

  • Get icons for hunter focused weapons and powerups as listed below
  • Add HUmar, HUnewearl, HUcast, HUcaseal
  • Have the icons change colors as incremented instead of using numbers (representing the photon colors green, blue, purple, red, yellow)
  • Default, Palette: Saber (1/3), Dagger (0/2), Sword (0/1*), Partisan (0/1), Handgun (0/2), Mechgun? (0/1), ATA+ (increments of 0.5 and 1), ATP+ (increments of 1, 2, and 5)
    • Sword can target 2 for HUcast?
    • Handgun can go to 3 for HUcaseal
    • Weapons can go to 5 max
  • Consider how to account for weapon specials (maybe individual hexes for Heat, Dim, Draw, Shock, Charge? maybe a hex with tiny subhexes?) - This might go into another issue.
  • Update the readme to be a little less Force-centric

Create a casual technique tracker

Requirements:

  • Implement the remaining technique icons
  • Create a palette that uses all of the techniques, and nothing else
    • Increments of 1 only, Force maximums
    • Ryuker/Reverser are "toggle"
  • Allow adding character profiles (allow storing multiple sets of 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.