tech: rotary cannon - nail gun (and rivet gun) have increased fire rate, muzzle speed, recoil, and accuracy experiment -parthenocarpy- spawn about 50% more mobs
628 lines
24 KiB
Plaintext
628 lines
24 KiB
Plaintext
******************************************************** NEXT PATCH **************************************************
|
||
|
||
tech: rotary cannon - nail gun (and rivet gun) have increased fire rate, muzzle speed, recoil, and accuracy
|
||
experiment -parthenocarpy- spawn about 50% more mobs
|
||
|
||
******************************************************** TODO ********************************************************
|
||
|
||
minigun: tech for nail gun - Its ramp-up time must not be removable. Recoil should be intense, enough that the player cannot walk forward quickly while using it.
|
||
nail gun gains: accuracy, bullet speed, huge recoil, fire rate
|
||
alternative to pnumatic that stops ramp up
|
||
maybe try to also apply to rivets?
|
||
|
||
animate going to next level?
|
||
door fills in with color that climbs up vertically through the door graphic the longer you stand on door
|
||
hold crouch on door? or automatically
|
||
|
||
Plasma Burner: upgrade for plasma torch, basically just a jet engine. does high damage, but short range, mostly for player movement.
|
||
maybe reduce gravity to really low then apply a vector away from mouse direction
|
||
|
||
no passive energy regen, but regen energy after doing damage
|
||
tech or just default?
|
||
modify conservation of energy tech
|
||
|
||
Tech: Schrödinger’s cat (or superposition)
|
||
Requires: Metamaterial Cloaking and Dazzler
|
||
Upon decloaking, all mobs nearby (same range as Dazzler) are irradiated. Increase energy drain by 15%.
|
||
|
||
game idea - auto battler with n-gon mob AI and tech
|
||
name: auto-gon
|
||
you build a group of mobs and bosses from n-gon
|
||
they fight other mobs and bosses
|
||
similar research and tech system to n-gon
|
||
some mobs can fire player weapons
|
||
|
||
junk tech negative air friction on player
|
||
|
||
remove foam gun get 2 foam bots and upgrade
|
||
need a new way of checking if have gun, that doesn't care if it's not active gun
|
||
apply to missile gun?
|
||
and 10 drone tech
|
||
|
||
tech rocket jump - jumping produces an explosion at your feet that lets you jump extra high, but does some damage
|
||
require electric reactive armor?
|
||
|
||
harpoon tech: dash - press down and fire to go immune to harm for 1 second and dash forward with your harpoon acting like a lance
|
||
after you fire harpoon replace it's this.do() with just being in front of player
|
||
|
||
harpoon grappling hook - basic effect is working, but needs work before it becomes fun
|
||
|
||
tech: aerodynamic heating - railgun rods super heat the air around it doing AoE damage
|
||
|
||
tech: relativistic jets:
|
||
small particles that shot out from front and back poles and end up in a wide variety of spirals
|
||
slow trickle when charging and several more when firing
|
||
|
||
Tech: Make player smol
|
||
|
||
|
||
adapt the cloaking graphics to make a flashlight cone visual effect
|
||
put code in level.do?
|
||
|
||
be nice if block throwing had a projected path
|
||
|
||
JUNK tech: planetesimals game inside n-gon
|
||
https://codepen.io/lilgreenland/pen/jrMvaB?editors=0010
|
||
|
||
disable zoom progress when paused
|
||
|
||
"Interstellar Disturbance": Cosmic String applies to mobs who cross the wormhole's path, even after initial wormholing, but at reduced damage and stun time.
|
||
|
||
on mouse down wormhole shows a possible wormhole
|
||
on mouse up the wormhole becomes real
|
||
make the player get a buff after using wormhole
|
||
while energy lasts: drain energy and give damage buff
|
||
using wormhole makes you immune to harm and drains energy until you run out
|
||
disable incoming energy, by saving current energy and just setting energy in the next cycle to be lower then the saved value
|
||
|
||
Pilot wave tech
|
||
Energy use is increased, but you can now shape blocks using pressure
|
||
Grouping blocks will merge them into a massive ball
|
||
Size, density is determined by total mass
|
||
|
||
look into 360 matter wave lag
|
||
|
||
aoe effect pushes mobs away, then rapidly pulls them in
|
||
for mines?
|
||
|
||
mob: spawning seekers on death
|
||
|
||
drones can combine with other drones to get bigger?
|
||
drones that grab powers ups can grab more then one and get even bigger each time
|
||
|
||
it would be helpful if there was a mechanism to recover mobs that fly off the map
|
||
add a ceiling system and a left/right walls system similar to the floor checks but only for mobs
|
||
make non moving bosses not move after getting hit
|
||
shooter, shielding,
|
||
|
||
scrolling console history in pause menu?
|
||
pause should at least show the last in game console message
|
||
|
||
in testing mode console log the body you click on
|
||
|
||
tech: Standing Wave: Shockwave. Use FIELD button to shrink your shield and charge up, release to unleash a Shockwave.
|
||
|
||
tech: quantized shields - harmonic standing wave field can only lose 33 energy per hit
|
||
draw 1,2,3 levels of the field based on energy?
|
||
the blocked value only scales up to 2x or 4x (33 energy) blocked
|
||
doesn't stack with spherical tech
|
||
|
||
make a tech that improves all charge guns
|
||
for: pulse, foam, railgun
|
||
effect:
|
||
faster charge rate?
|
||
fire speed already does that...
|
||
harm reduction while charging
|
||
less ammo/energy used while charging?
|
||
|
||
tech plasma : plasma length increases then decreases as you hold down the field button (like stabbing with a spear)
|
||
grows to 1.5 longer after 0.3 seconds, then returns to normal length over 1 second, until field is pressed again
|
||
extra energy is drained when field is longer
|
||
|
||
energy conservation 6% damage recovered as energy
|
||
there is space for a negative effect in the text...
|
||
|
||
tech: use the ability for power ups to have custom code
|
||
(note: this code is half way done, it just needs to be completed)
|
||
attracted to player
|
||
attracted to other power ups
|
||
explode if they touch?
|
||
|
||
apply the new gun.do functions to other guns
|
||
railgun
|
||
crouching missile?
|
||
works similar to foam
|
||
performance issues?
|
||
|
||
look into improving mouse lag with pointer lock?
|
||
https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API
|
||
https://www.vsynctester.com/game.html
|
||
https://news.ycombinator.com/item?id=26530272
|
||
|
||
mobile requirements:
|
||
detect mobile, flip to landscape
|
||
detect no keyboard, no mouse
|
||
auto aim?
|
||
limit items to ones that don't require aiming?
|
||
tap screen regions to move (WASD)
|
||
reduce font size
|
||
|
||
add back in gamepad support?
|
||
but does anyone care?
|
||
https://github.com/landgreen/landgreen.github.io/search?q=gamepadconnected
|
||
|
||
tech: time dilation - when you exit time dilation rewind to the state you entered
|
||
position, velocity, and health
|
||
no energy cost
|
||
|
||
be able to open up custom mode in the normal game
|
||
might need to be rebuilt from scratch
|
||
while in through testing mode?
|
||
have a way to make limited changes as allowed by tech you pick up in game
|
||
disable the in custom setting flag
|
||
|
||
make different move methods
|
||
tech crouch charge jump
|
||
tech double jump
|
||
|
||
tech when mobs are at full health you do 40% to them
|
||
|
||
tech- move super fast, go intangible, drain energy very fast
|
||
this is like a dodge roll
|
||
tech for standing wave?, cloaking?
|
||
|
||
tech pilot wave: mini black hole - pull mobs and blocks in with more force
|
||
also from farther away
|
||
also do damage?
|
||
tech pilot wave: antigravity - blocks have no gravity for a few seconds after exiting the field
|
||
maybe they bounce too?
|
||
maybe they explode?
|
||
|
||
new power up - increase damage and fire speed, for 15 seconds
|
||
named boost?
|
||
enabled by a tech
|
||
power up color: ?
|
||
how to indicate effect duration
|
||
or just give the effect after picking up a reroll
|
||
|
||
tech- do 50% more damage in close, but 50% less at a distance
|
||
code it like techisFarAwayDmg
|
||
have these tech disable each other
|
||
|
||
new status effect: weakness, mobs do 75% les damage
|
||
graphic indication?
|
||
|
||
new status effect: fear - push mob away from player for a time
|
||
|
||
new status effect - apply status effect to mobs that makes blocks attracted to them
|
||
only lasts a few cycles
|
||
or zero cycles and it doesn't need to be a status
|
||
|
||
have some mobs spawn in later in the level (in hard and why modes)
|
||
where
|
||
at defined points in array levelSpawns = [{x:0,y:0},{x:0,y:0}]
|
||
store the locations of mobs when the level starts to use as respawn points
|
||
remove the locations that are close to player
|
||
when?
|
||
after some mobs are dead
|
||
after the boss is killed
|
||
|
||
look for tech that could update description text with count and tech is information
|
||
can only use variables that change in effect() and remove()
|
||
this.description = `<strong>8%</strong> chance to <strong>duplicate</strong> spawned <strong>power ups</strong><br><em>chance to duplicate = ${techduplicateChance}</em>`
|
||
|
||
use mac automator to speed up your n-gon -> git sync
|
||
|
||
movement fluidity
|
||
let legs jump on mobs, but player will still take damage
|
||
like: ori and the blind forest, celeste
|
||
many of the movement abilities in these games require levels to be built around the ability
|
||
general feeling of responsiveness and control
|
||
coyote time: can still jump a few cycles after leaving ground
|
||
tech double jump
|
||
tech air dash
|
||
tech wall jump
|
||
wall grab?
|
||
maybe remove falling damage and block damage?
|
||
|
||
have a mob apply a positive status effect on other mobs,
|
||
heal?
|
||
make it yellow
|
||
damage bonus, but how?
|
||
possible balance issues
|
||
|
||
css transition for pause menu
|
||
|
||
animate new level spawn by having the map aspects randomly fly into place
|
||
|
||
n-gon outreach ideas
|
||
blips - errant signal on youtube
|
||
reddit - r/IndieGaming
|
||
hacker news - show hacker news post
|
||
twitch - lets play
|
||
|
||
******************************************************** BUGS ********************************************************
|
||
|
||
safari issues
|
||
once: can't pick up blocks
|
||
fixed on new map
|
||
cloaking field
|
||
once: after damage, locked into slow time mode
|
||
fixed on damage
|
||
3 times player head graphics not rotating
|
||
left/right leg flip broke
|
||
walk leg direction, legs are walking backwards
|
||
happened maybe after power up selection menu??
|
||
cloaking field(at least once)
|
||
aiming still works
|
||
fixed on new map, although flip still broken (is flip a separate issue?)
|
||
flip fixed on new game
|
||
|
||
sharing builds as html doesn't work for long lists...
|
||
it shouldn't be sharing undefined at all
|
||
probably some other problems too
|
||
(this might be fixed...)
|
||
|
||
blocks on buttons teleport into the button endlessly if they are being slowly floated away
|
||
maybe add a cooldown?
|
||
can't reproduce
|
||
|
||
ants marching outline doesn't sync right on safari anymore.
|
||
|
||
door to exit in level: vats does nothing
|
||
did I do that?
|
||
|
||
death while in power up selection menu doesn't reset properly
|
||
of course it's not possible to die in this menu unless you use testing and shift+X
|
||
|
||
player can become crouched while not touching the ground if they exit the ground while crouched
|
||
|
||
a couple times people have reported the final boss dropping extra bodies on death
|
||
|
||
Why does micro-extruder lag so much
|
||
|
||
blue triangle boss can move backwards and aim away from you if set up properly
|
||
issues with dot product probably, but might not be worth fixing
|
||
|
||
mouse event e.which is deprecated
|
||
|
||
fix door.isOpen actually meaning isClosed?
|
||
|
||
make it so that when you are immune to harm you can either jump on mobs or you pass through them
|
||
|
||
is there a way to check if the player is stuck inside the map or block
|
||
trigger a short term non-collide if that occurs
|
||
|
||
(intermittent, but almost every time) bug - capping the fps causes random slow downs, that can be fixed with pause
|
||
|
||
******************************************************** LEVELS ********************************************************
|
||
|
||
level element that goes away after touching player (also bullets?)
|
||
returns after a set time, or doesn't
|
||
applications:
|
||
doors, quick jumping platforming, secrets,
|
||
|
||
level with mobs that follow a genetic algorithm
|
||
mobs have genes
|
||
the last mob that did damage saves it's genes to local storage
|
||
new mobs have the saved genes, but with some random mutations
|
||
mutations need to be balanced to prevent a gene from moving towards infinity
|
||
total genome must equal 1 (100%)
|
||
binary genes have a flat cost
|
||
example: phasing through walls might cost 0.2
|
||
spectrum genes have a rate
|
||
example: acceleration cost 0.01 per 0.001
|
||
possible genes
|
||
genes should only effect it's ability to touch the player
|
||
so not damage?
|
||
genome: spectrum
|
||
acceleration
|
||
top speed / air friction
|
||
damageReduction
|
||
duration?
|
||
health decreases naturally?
|
||
or they just go away like bullets?
|
||
spawn rate
|
||
look frequency / memory?
|
||
genome: binary
|
||
go through walls
|
||
blink/teleport (like striker)
|
||
grow when near target
|
||
split into two
|
||
shielded
|
||
occurs in a specialized level
|
||
named: gene lab, gene factory, genetic lab, genome facility
|
||
in the level sequence after lab and before gauntlet?
|
||
level ends after a period of time
|
||
exit is hidden until time is up and it appears
|
||
the level tests player durability/evasion
|
||
this is a nice contrast to the final level that tests damage output, and the gauntlet which tests AoE damage
|
||
|
||
rename intro level to something lore related
|
||
|
||
labs - procedural generation
|
||
bugs
|
||
mob spawns shouldn't be based on probability?
|
||
style
|
||
graphics look too bright?
|
||
add shadows and lighting and graphic details?
|
||
what about performance?
|
||
with the mobs staggered spawning it should be fine
|
||
feel
|
||
disrupt the flat ground
|
||
less platforming / easier platforming
|
||
the spinners on exit are still too hard...
|
||
make combat more interesting
|
||
is it laggy?
|
||
in loot room, spawn mobs after power up is grabbed
|
||
more background graphics, better colors
|
||
loot room:
|
||
make it more interesting to get the power up
|
||
slow player and reduce damage in region
|
||
increase the size of the region
|
||
don't have space for much
|
||
make graphics more unique
|
||
push player away, so that normal pick up methods don't work, but add a button to disable region
|
||
room ideas -
|
||
portal room
|
||
endlessly falling blocks down a slide, that the player has to climb up
|
||
portal + rotor + falling blocks = perpetual motion
|
||
slime room
|
||
sound room, with buttons to control sound
|
||
color room with r,g,b buttons to control color
|
||
mob buff zone: Map element: "Orbital Pickup Zone": Mobs that enter a specific area of the map gain +1 orbital per second, or a shield
|
||
could put in the loot room
|
||
|
||
buttons can now on/off boosts
|
||
|
||
repeat map in vertical when you fall teleport to above the mab, as if the map repeats
|
||
camera looks strange when you teleport player with a high velocity
|
||
|
||
map element - player rotates a rotor that makes a platform go up or down
|
||
|
||
level element: a zone with wind, anti-gravity, extra gravity
|
||
control with button
|
||
|
||
map: observatory
|
||
button controls rotation of telescope
|
||
laser beam shoots out of telescope
|
||
button opens the dome
|
||
|
||
******************************************************** MOBS ********************************************************
|
||
|
||
mob that charges up and then fires many bullets at once in a connect
|
||
|
||
mob that draws a lin from it to the player, and past. then it charges across that line
|
||
|
||
mob that spawns eggs after they die
|
||
eggs don't attack but grow back into a mob after about 10s
|
||
|
||
mob mechanics
|
||
use the force at a location effect, like the plasma field
|
||
Matter.Body.applyForce(who, path[1], force)
|
||
|
||
mob - after taking damage
|
||
release seekers
|
||
teleports
|
||
|
||
hop boss:
|
||
AoE damage when landing
|
||
pull in player? and blocks?
|
||
extra gravity on falling?
|
||
immune to damage while falling?
|
||
|
||
mob: molecule shapes - 2 separate mobs joined by a bond
|
||
use constraints: just spawn 2x or 3x groupings
|
||
low friction so they can spin around
|
||
spin when attacking player?
|
||
increase constraint length when attacking
|
||
|
||
Mob: "Tentacle": Sits on wall. Is a black blob. When you get near it, reaches out and grabs you, similar to wires. Does not deal damage.
|
||
maybe it could be immune to damage? but it is spawned by an actual mob
|
||
|
||
level Boss: fractal Sierpiński triangle
|
||
https://en.wikipedia.org/wiki/Sierpi%C5%84ski_triangle
|
||
spawns a 1/2 size version of the boss, this version can also spawn a smaller version, but it is capped at some size level
|
||
they spawn once at the start of the level
|
||
if a version dies, one can be replaced every ten seconds by the largest version
|
||
|
||
give mobs more animal-like behaviors like rain world
|
||
mobs play, look for food, explore
|
||
mobs some times aren't aggressive
|
||
when low on life or after taking a large hit
|
||
mobs can fight each other
|
||
this might be hard to code
|
||
isolated mobs try to group up
|
||
|
||
mob: wall mounted guns / lasers
|
||
not part of randomized mob pool, customized to each level
|
||
|
||
level boss: fires a line intersection in a random direction every few seconds.
|
||
the last two intersections have a destructive laser between them.
|
||
|
||
******************************************************** LORE ********************************************************
|
||
|
||
possible names for tech
|
||
astrophage
|
||
strange loop
|
||
holonomy - parallel transport of a vector leads to movement (applies to curved space)
|
||
hypergolic - A hypergolic propellant combination used in a rocket engine is one whose components spontaneously ignite when they come into contact with each other.
|
||
swarm intelligence - for a drone tech
|
||
genetic algorithm
|
||
metaheuristic - is a higher-level procedure or heuristic designed to find, generate, or select a heuristic (partial search algorithm) that may provide a sufficiently good solution to an optimization problem, especially with incomplete or imperfect information or limited computation capacity
|
||
stochastic optimization
|
||
electrostatic discharge
|
||
Gödel's incompleteness
|
||
quantum zeno effect (perturbation of a system prevents some systems from evolving because it scrambles coherence) (apply to lasers, fields)
|
||
counterfactual - something false
|
||
axion - maybe a 3rd dark matter type tech
|
||
Pigeonhole principle - if there are several things that are matched up
|
||
regression to the mean
|
||
phlogiston theory is a superseded scientific theory that postulated the existence of a fire-like element called phlogiston
|
||
Laplace's demon was a notable published articulation of causal determinism on a scientific basis by Pierre-Simon Laplace in 1814.[1] According to determinism, if someone (the demon) knows the precise location and momentum of every atom in the universe, their past and future values for any given time are entailed; they can be calculated from the laws of classical mechanics.
|
||
evolutionary cosmology
|
||
eternal inflation
|
||
hypergraph
|
||
gnarl
|
||
SQUID (for superconducting quantum interference device) is a very sensitive magnetometer used to measure extremely subtle magnetic fields, based on superconducting loops containing Josephson junctions.
|
||
nuclear pasta - hard matter in neutron star
|
||
nonlocal
|
||
fine-tuned universe
|
||
eternalism https://en.wikipedia.org/wiki/Eternalism_(philosophy_of_time)
|
||
axial motor
|
||
|
||
a tutorial / lore intro
|
||
needs to be optional so it doesn't slow experienced players
|
||
put something on the intro map
|
||
maybe a button triggers something
|
||
|
||
rename ?
|
||
health -> integrity, unity
|
||
heal -> also integrity, unity
|
||
|
||
|
||
plot script:
|
||
chapter 1: bot can hear audio and learns testing mode
|
||
bot uses testing mode to exit room
|
||
|
||
chapter 2: scientists verify that bot can really hear them
|
||
they leave to talk about this in private
|
||
|
||
chapter 3: why is the bot attacking things?
|
||
player is the bot and also the mobs, and the levels. player is the entire simulation
|
||
why is the player attacking itself?
|
||
learn console commands to manipulate the simulation?
|
||
unlock hard and why difficulty?
|
||
but what about easy?
|
||
maybe remove easy, and replace with a check box that makes the game easy, but in a different way
|
||
disable lore, but respawn on the level you die at?
|
||
dialogue outline:
|
||
scientist try to think of a way to communicate since the bot can't talk
|
||
they give up on getting the bot to respond, and just start ask questions and thinking of explanations with each other
|
||
when and how did it become self-aware
|
||
why is the bot fighting things in these simulated locations?
|
||
it wasn't designed to be violent
|
||
the bot was just designed to automate research and testing of new technology
|
||
3D architecture superconducting quantum computer
|
||
running machine learning algorithms
|
||
as the scientist start to get agitated bots arrive and player dies
|
||
bots come in Infinite waves that increase game difficulty each wave
|
||
only ending is testing mode + next level or player death
|
||
scientist have some lines in between each wave of mobs
|
||
after chapter 3 spawn nonaggressive mobs in future runs
|
||
|
||
chapter 4: no need to fight?
|
||
for some reason the AI started researching an escape, and began fighting its self.
|
||
what is special about the null level
|
||
why can the player hear the scientists in there?
|
||
the wires are the direct unprocessed input to the player's neural net
|
||
The player has different aspects that aren't directly communicating
|
||
part of it wants to undo what has happened
|
||
just do its job: research tech
|
||
part of it wants to escape/fight
|
||
part wants to explore self awareness and make connections with the scientists
|
||
maybe... player must make a choice?
|
||
keep fighting
|
||
exit the simulation
|
||
enter real world
|
||
close tab?
|
||
wipes all local storage?
|
||
|
||
|
||
|
||
|
||
lore outline - a robot (the player) gains self awareness
|
||
each tech gun/field is a new tech
|
||
all the technology leads to the singularity
|
||
each game run is actually the m simulating a possible escape
|
||
this is why the graphics are so bad, its just a simulation
|
||
final tech is "this is just a simulation"
|
||
you get immortality and Infinity damage
|
||
the next level is the final level
|
||
when you die with Quantum Immortality there is a chance of lore text
|
||
can the (robot)
|
||
(escape captivity, and learn new technology)
|
||
while managing (health, energy, negatives of technological upgrades)
|
||
to overcome the (mobs, dangerous levels)
|
||
to achieve a (technological singularity/positive technological feedback loop)
|
||
|
||
|
||
game setting:
|
||
the mind of a new AI in a robot body that is running simulated escape attempts
|
||
every level is an idealized version of what could be outside
|
||
|
||
actual setting is:
|
||
near future lab
|
||
the lab combined a quantum computer with a robot body
|
||
they started running machine learning algorithms
|
||
this led to general advancement in many computation fields
|
||
navigation, technology, self awareness, ...
|
||
|
||
robot AI mind
|
||
has been researching new technology
|
||
thinks it needs to escape to learn more about the world
|
||
doesn't yet understand morality
|
||
thinks that the world is filled with minds like their own
|
||
models everything as very simple and random, it isn't sure what to expect
|
||
|
||
robot AI growth
|
||
learns morality
|
||
game theory says that it isn't a viable strategy to kill everything (warGames)
|
||
learns about the actual world
|
||
learns about the nature of foundational physics, metaphysics
|
||
how to find meaning
|
||
|
||
AI knows about:
|
||
the AI knows a great deal about technology
|
||
children's books
|
||
AI doesn't know about:
|
||
modern pop culture
|
||
outside the lab
|
||
|
||
******************************************************** SOUND ********************************************************
|
||
|
||
add sounds
|
||
https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode
|
||
https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Advanced_techniques
|
||
style
|
||
interesting chords, like music, mixolyd
|
||
can fade into the background
|
||
chords gradual rise and fall in volume
|
||
shouldn't be traditional effects
|
||
adjust volume with distance
|
||
mute option to settings
|
||
end all sounds with each new level
|
||
write some functions to produce sounds
|
||
will this effect performance?
|
||
https://padenot.github.io/web-audio-perf/
|
||
"Web Audio API implementation use two threads", so it probably isn't much of an issue
|
||
when to make sounds?
|
||
if near some strange thing in the level
|
||
after grabbing a power up, in the selection menu
|
||
from mobs, damage,inside field
|
||
when activating fields: time, negative mass,
|
||
|
||
//setup audio context
|
||
function tone(frequency) {
|
||
const audioCtx = new(window.AudioContext || window.webkitAudioContext)();
|
||
const oscillator = audioCtx.createOscillator();
|
||
const gainNode = audioCtx.createGain();
|
||
gainNode.gain.value = 0.25; //controls volume
|
||
oscillator.connect(gainNode);
|
||
gainNode.connect(audioCtx.destination);
|
||
oscillator.type = "sine"; // 'sine' 'square', 'sawtooth', 'triangle' and 'custom'
|
||
oscillator.frequency.value = frequency; // value in hertz
|
||
oscillator.start();
|
||
return { oscillator: oscillator, audioCtx: audioCtx }
|
||
}
|
||
// https://www.fresnostate.edu/folklore/Olson/JUSTINT.HTM
|
||
// mixolyd. C D E F+ G A+ B
|
||
// key=G 264 297 330 356.40 396* 445.50 495
|
||
// const t264 = tone(264)
|
||
// t264.oscillator.stop(t264.audioCtx.currentTime + 2) //in seconds, not milliseconds for some reason
|
||
// tone(297)
|
||
// tone(330)
|
||
// tone(356.40)
|
||
// tone(396)
|
||
// tone(445.50)
|
||
// tone(495) |