-
Notifications
You must be signed in to change notification settings - Fork 1
/
suggestions.txt
72 lines (66 loc) · 5.88 KB
/
suggestions.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Suggestions people have made:
- Full fledged reset button (reverting both bugs and tiles to saved data) - definitely will be implemented
- Progress display (A naive one that just displays the amount of updates since a reset is implemented, but calculating the length of the song in advance could be difficult and hard to make performant)
- Overall UI simplification and clarification (Potentially hard, but always being done.)
Things I know I want to do (which could get very long):
- Zoom feature (Which might need better graphics to really shine and will be complicated to implement.)
- Performance optimization (Not enough effort has been made in this realm yet.)
- Functions to rotate and flip a selection (flips implemented, 90 degree rotation still necessary; latter is partially done but not quite there yet.)
- Rotate turn tiles with the rotate selection tool (make this function optional), or perhaps add a tool to increment through flow control options.
- Randomized trivia for the loadscreens.
- When the pointer setting tool is selected, apply an overlay to pointee tiles when hovering over a tile.
- "Megamap" that displays a 64*64 to 512*512 pixel image showing the entire field in miniature.
- Add an "amount of revisions" property to savefiles; increment on saves and add to the file name by default.
- Responsive window size (to make the program look better on larger monitors. Time consuming!)
- Properly implement versioning and use this to make the save format more robust and less likely to break compatibility with old files (Ongoing)
- Simple "undo" function? It will not be so simple.
- Improve the overall UI/UX of exceptionally large fields.
- Add hotkeys for changing UI properties more efficiently.
- Eyedropper tool should change the audioFX array.
- Create something with D3.js that analyzes a file and does some visualization (Doing analysis in-program. Maybe export it later).
- Add a visual effect to the Audio FX pen to indicate that it's changed a tile.
- More analysis functions!
- Bidirectional splitters (take either horizontal or vertical input and rotate 90 degrees CW/CCW depending on user settings.)
- Add an option to make the "Turn Bug" tool turn bugs counterclockwise.
Things I might do but am not sure about:
- Make selection flip and rotate tools optionally change the direction of turnsignals.
- A basic scripting language to allow for arbitrarily complicated conditional code and such on the field (potentially very difficult and time consuming, besides ballooning file sizes).
- Antialiasing for large file minimaps.
- Make bugs in storage translucent instead of completely invisible, at least optionally.
- Flow control feature to move the viewing field to the pointers.
- Show the selected tilebuffer on the minimap as an overlay (make this optional)
- Flow control features to dynamically adjust bug properties (possibly really cool, but programming would be annoying, especially on the save/load/revert frontier)
- Flow control features to dynamically adjust SONG properties! (Currently only tempo; would require similar expansion of file I/O to dynamic bug properties)
- Add Web MIDI API support to allow instrument input (Not sure since only Chrome and Opera support it)
- Add a way to save and load audio FX presets?
- Ability to move bugs by clicking and dragging (seems like it could create a lot of difficulties)
Suggestions and planned features that have already been implemented:
- Actually show the tile buffer (as filled up by the select tool) somehow, like a translucent overlay
- Indicate current part of the window on the minimap
- Scroll bars on the instrument list
- Implement the promised upgrades to field size (Always in need of tweaking)
- Implement an eyedropper tool (Might need some bugfixes and does need some UI tweaking)
- Fill up the soundset and keep sample quality as high as possible within a 20 MB limit (GM bank implemented, plenty of room for more sounds, though)
- Tool to adjust tile pointers via point and click (which would be a a lot easier than adjusting by menus.)
- Indicate currently selected tool with an overlay
- Indicate the position of bugs on the minimap, somehow (A small dot shows up when you mouse over the storage slots)
- Apply click and drag to the minimap.
- Make the instrument menu grow temporarily larger on mouseover
- Improve the arrow pen - have a function to temporarily stop painting, etc.
- UI options display (Needs more options, period).
- Some sort of feature to compute changes in volume and effects between two tiles and 'extrapolate' changes between them (could use more expansion, perhaps).
- Save the user's UI properties in localStorage.
- Graphical menu for flow control FX (Implemented through buttons; make more efficient.)
- Fill bucket tool for the selection buffer
- Multiple color schemes for the UI (The user can set their own colors.)
- Add the rest of the BiquadFilterNode FX (trivial)
- Adjust implementation of query tool to allow querying tiles under the query window (Perhaps by moving it based on cursor location)
- Flow control tile to jump to a random tile within a radius defined by the flow control value.
- Add a delayed playback audio effect.
- "Center camera" flow control effect (it calls moveViewingField in rendering.js)
- Open up more audio FX parameters to the user (requires save file versioning update, extrapolator improvements)
- Overhaul audio FX to allow multiple effects to be added to a single note (which would require a major overhaul to playback involving loops and functionalization, new UI functions for adding audio FX, expansion of save data; one way to do this would possibly be adding audio effects to bugs).
- Note names instead of mere numbers (Update the query tool to use note names, requires functionalization of note-naming code)
- Allow player to rerun the analysis function at will without reloading.
- "Splitter tiles" that change which direction a bug is sent in after a bug moves over them
- Add tooltips to the bottom bar buttons.