696 lines
26 KiB
Plaintext
696 lines
26 KiB
Plaintext
******************************************************** NEXT PATCH **************************************************
|
|
|
|
|
|
******************************************************** TODO ********************************************************
|
|
|
|
mobs that are given the players location at the start can get confused if the map is reversed
|
|
suckers
|
|
|
|
can mob bullets damage other mob?
|
|
maybe if they switch collisions and classType === "body" or obj.classType === "bullet"
|
|
|
|
grenade gun seems weak
|
|
|
|
path finding system
|
|
|
|
figure out how to get friction effects on map/body to apply to player
|
|
|
|
vertical reversed version of reservoir level, start at top and press buttons to lower slime
|
|
|
|
growBoss and cellBoss are too similar
|
|
|
|
might have to nerf upgraded bots
|
|
|
|
variant of Occam's razor - remove 50% of your tech for each removed get:
|
|
2 bots?
|
|
50 energy max
|
|
|
|
tech immune to harm after mob kill
|
|
require no other mob kill tech?
|
|
cloaking field tech?
|
|
|
|
final boss invulnerability
|
|
until mobs are cleared?
|
|
in between phases
|
|
for all of one phase
|
|
|
|
JUNK tech - do something fun to the mob display health method
|
|
|
|
new platform element, spring
|
|
toggle to on when player touches platform
|
|
platform extends in any direction
|
|
|
|
boss that gives nearby mobs invulnerability
|
|
invulnerability needs to toggle off and on
|
|
boss is only mildly aggressive
|
|
repulsed by player up to a point
|
|
attracted to mobs
|
|
|
|
training
|
|
save training level progress as local variable
|
|
reset progress to zero if you clear all training levels
|
|
maybe only save progress if you made if past the trainingHeal level
|
|
make the training button more obvious if the account has only played 1-2 times
|
|
larger?
|
|
position?
|
|
animated text?
|
|
uses the lore voice/text code?
|
|
replace all mob clear triggers with button triggers?
|
|
tutorial rooms:
|
|
look around with your mouse?
|
|
easier deflecting level, with 1-2 attacking mobs
|
|
gun rooms: (different mobs type in each room)
|
|
different mobs in each room
|
|
how to introduce mob shields?
|
|
"hopper" "slasher" "shooter "grenadier" "striker" "laser" "stabber" "springer" "pulsar" "launcher" "launcherOne" "exploder" "sneaker" "sucker" "sniper" "spinner" "grower" "beamer" "focuser" "spawner" "ghoster"
|
|
spores - use 1 ammo to take out several mobs at once, you have to block with your shield until the mobs die
|
|
drones - use mouse to bring drones around a couple corners
|
|
foam - slow boss mob, and run away
|
|
laser - reflect off walls to hit mobs
|
|
field rooms:
|
|
standing wave - bullets come from every direction
|
|
perfect diamagnetism - drop field to rapid stream of bullets and fire gun at them
|
|
negative mass - fly over a bunch of ground based mobs , hoppers
|
|
molecular assembler - guide drones around the corner
|
|
plasma torch - nothing fancy, just kill mobs
|
|
time dilation - get past some mobs
|
|
cloaking - sneak past mobs to collect some heals
|
|
pilot wave - toss blocks at mobs
|
|
worm hole - teleport past lasers
|
|
puzzle/platforming rooms:
|
|
use the double constrained platforms
|
|
stealth room
|
|
probably should make 2+
|
|
combat rooms:
|
|
boss gauntlet, spawn with nothing but a few power ups and fight 10 bosses
|
|
use no gun, just bots to kil stuff
|
|
|
|
balance time dilation with bose einstein (you can freeze everything and take no damage)
|
|
code is still there, need to balance
|
|
balance with energy drain?
|
|
|
|
overflowing energy does harm?
|
|
or just reduces harm reduction?
|
|
|
|
make a line of constrained mobs move like a snake
|
|
apply forces with directions determined by time and position on the snake
|
|
|
|
tech: basic research - heal power ups spawn as research power ups instead, and using research heals you (needs to be pretty low, like 3% health)
|
|
tech: maintenance - heals no longer spawn, but using research heals you 100%
|
|
|
|
foam tech - make it move slower, last much longer, and push away other foam bullets
|
|
not sure about bouncing off walls, but that might be fun too
|
|
|
|
tech extend fracture analysis to give bonus damage to frozen also, but reduce the 400%->300%?
|
|
|
|
pulsar mobs retarget too easily
|
|
also they drift around too much
|
|
|
|
convert blocked mobs into bullets
|
|
only for the very small bullets that move fast after being blocked
|
|
delete bulletmob and spawn a nail-like bullet with the same properties as the bulletmob
|
|
|
|
electric motors: increases movement speed and jump height, but jumping and moving costs energy
|
|
overwrite the key event listeners?
|
|
JUNK tech?
|
|
|
|
mob that fires bullets in 4,5,6,7 different directions at once, no aiming
|
|
grow a bit before it fires to indicate state
|
|
|
|
bug once: switching from shotgun to harpoon somehow set b.activeGun to not defined
|
|
https://discord.com/channels/645222059647172618/646505973610971165/919116288008290324
|
|
|
|
quasarBoss: inverted pulsar boss that hits everything except where its aiming
|
|
|
|
intro map: diegeticly draw a mouse with field highlighted
|
|
also indicate space?
|
|
dynamically adjust drawing after picking up a gun
|
|
|
|
increase mass and movement speed at the same time
|
|
increase jump differently because it scales extra with mass
|
|
m.defaultMass = 4.5
|
|
m.definePlayerMass()
|
|
|
|
give history boss legs?
|
|
|
|
field tech - disable blocking, but does high damage to mobs inside field
|
|
and maybe slows mobs it damages
|
|
|
|
mob/boss that fires a laser at player, but give player time to avoid
|
|
laser isn't always on
|
|
they target where player was 1 second ago
|
|
they turn to face player?
|
|
|
|
bug - death while paused crashes game?
|
|
|
|
tech rocket jump - jumping produces an explosion at your feet that lets you jump extra high, but does some damage
|
|
require electric reactive armor?
|
|
|
|
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
|
|
|
|
auto-gon - auto battler with n-gon mob AI and tech
|
|
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
|
|
|
|
harpoon grappling hook - basic effect is working, but needs work before it becomes fun
|
|
|
|
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
|
|
|
|
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 ********************************************************
|
|
|
|
vanish element bug, crashes on touching element, happens for 1 person maybe with junk tech?
|
|
|
|
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
|
|
|
|
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.isClosing 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 ********************************************************
|
|
|
|
map: observatory
|
|
button controls rotation of telescope
|
|
laser beam shoots out of telescope
|
|
button opens the dome
|
|
|
|
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
|
|
|
|
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
|
|
|
|
******************************************************** 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
|
|
strange loop
|
|
homeostasis
|
|
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
|
|
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
|
|
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
|
|
hall effect thrusters
|
|
spaghettification
|
|
particle accelerator
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|