many worlds renamed to ansatz new tech many-worlds: at the start of each new level switch realities removed tech: electroactive polymers - convert bots to the same type on weapon swap all bot upgrades convert current bots to the upgraded type only one bot upgrade allowed
499 lines
18 KiB
Plaintext
499 lines
18 KiB
Plaintext
******************************************************** NEXT PATCH ********************************************************
|
|
|
|
many worlds renamed to ansatz
|
|
new tech many-worlds: at the start of each new level switch realities
|
|
|
|
removed tech: electroactive polymers - convert bots to the same type on weapon swap
|
|
all bot upgrades convert current bots to the upgraded type
|
|
only one bot upgrade allowed
|
|
|
|
******************************************************** BUGS ********************************************************
|
|
|
|
use the floor of portal sensor on the player? to unstuck player
|
|
|
|
(only once on my computer) once every 7 second check isn't running code
|
|
power ups don't teleport to exit
|
|
complex spin statistics isn't activating
|
|
wasn't able to understand bug after extensive testing
|
|
had tech: complex spin statistics
|
|
|
|
(a few times) wormhole teleportation can leave the player in a stuck jump state
|
|
seems to be easily fixed, by porting, firing or something
|
|
|
|
(always) make it so that when you are immune to harm you can either jump on mobs or you pass through them
|
|
|
|
(always) 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
|
|
|
|
(once) bug - mine spawned one new mine every second
|
|
after sticking to the top right corner of a wall
|
|
notes: had only gun mine, tech mine reclamation, field plasma,
|
|
|
|
(repeatable almost every time) bug - mines spawn extra mines when fired at thin map wall while jumping
|
|
|
|
******************************************************** TODO ********************************************************
|
|
|
|
decrease healing effects by 50%
|
|
decrease level scaling healing reduction
|
|
net effect: healing at difficulty 40 (level 10 hard) should be 25% higher then current levels
|
|
|
|
bosses should have 2x health, but only do about 50 health damage
|
|
options:
|
|
cap all damage at 50 health
|
|
this makes high health/energy/harm reduction build much better
|
|
make boss flag cut damage done to player by 10x
|
|
boss flag cut damage done to boss by 20x <----
|
|
make bosses not have extra density
|
|
|
|
|
|
tech: spawn a bot after taking collision damage
|
|
|
|
tech: standing wave freezes the mobs it hits
|
|
|
|
tech: health becomes drones
|
|
requires mass-energy?
|
|
junk tech?
|
|
|
|
map: laboratory
|
|
rooms with switches that change physics
|
|
gravity room
|
|
portal room
|
|
laser room
|
|
radiation room
|
|
portal + rotor + falling blocks = perpetual motion room
|
|
a button that spawns a heal.
|
|
|
|
|
|
final boss: hide boss after spawning mobs
|
|
reduce health by 1/3?
|
|
|
|
tech: after using anthropic principle do 100% more damage for the rest of the level
|
|
|
|
mechanic: immune to next collision
|
|
track number of possible collisions, if number is > 0 immune and --
|
|
graphical indication? (recolor health bar while immune)
|
|
tech: after taking damage go immune to next collision
|
|
tech: at the start of each level go immune to 1 collision
|
|
|
|
copy time-like foam to other guns?
|
|
wave gun
|
|
shotgun
|
|
nail gun
|
|
|
|
lore: 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
|
|
|
|
tech: add an eject button for each power up in the pause menu
|
|
also list all bot types in pause menu
|
|
with option to eject?
|
|
|
|
add back in gamepad support
|
|
but does anyone care?
|
|
https://github.com/landgreen/landgreen.github.io/search?q=gamepadconnected
|
|
|
|
mechanic: gain damage when there are fewer bullets
|
|
|
|
rename intro level to something lore related
|
|
|
|
give undefined tech different effects at different localSettings.loreCount values
|
|
or just random effects
|
|
1. 10/10: send more tech into the pool
|
|
2. 3/3: lose 3 tech each time, and send more tech into the pool
|
|
2. 3/3: increase game difficulty, and send more tech into the pool
|
|
3. 1/1: reduce max energy and take more harm
|
|
4. 1/1: add 5? more levels
|
|
|
|
rename ?
|
|
health -> integrity, unity
|
|
heal -> also integrity, unity
|
|
|
|
mechanic: use gun swap as an active ability
|
|
this effect is spammable, so it needs a cost or a cooldown
|
|
tech:
|
|
trigger damage immunity for 3 seconds, but drain ammo
|
|
push away nearby mobs, but drain energy
|
|
produce ammo, but take 1 damage
|
|
|
|
bot: ice blast, long CD AOE freeze
|
|
|
|
RPG default or tech: grenades detonate on your cursor / where your cursor was when they were fired
|
|
|
|
tech: dodge chance for cloaking, harmonic fields, also pilot wave
|
|
20% chance up to 3 stacks, not additive
|
|
0.8^count
|
|
set to 100% harm reduction randomly
|
|
if (Math.random() < 0.2) damage *= 0;
|
|
|
|
in game console
|
|
set highlighting rules
|
|
m, tech, level are all highlighted
|
|
maybe the first term in each variable should get a highlight
|
|
|
|
tech: time dilation - when you exit time dilation rewind to the state you entered
|
|
position, velocity, and health
|
|
no energy cost
|
|
|
|
mob ability bombs/bullets that suck in player
|
|
|
|
tech that requires integrated armament
|
|
|
|
mechanic - Your energy regen is only active when field and gun have not been used for 5 seconds.
|
|
|
|
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
|
|
|
|
tech power up magnetism - power ups drift towards player
|
|
where would this code go?
|
|
|
|
super balls start at 3, not 4
|
|
have to balance damage
|
|
|
|
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?
|
|
|
|
bullet mechanic - a bullet that swims through the air
|
|
rotate the velocity vector towards the normalized facing vector
|
|
use the cross product > 0 to determine which direction to rotate the velocity
|
|
|
|
in custom make a top bar that is fixed
|
|
use media rules to make the layout look nice
|
|
|
|
mob vision: look at player history
|
|
build a new type of attraction for mobs
|
|
if mobs can't see player, they check to see if they can see where the player was in the history
|
|
if mobs can't see player, they could check to see if they can find player in the past
|
|
https://abitawake.com/news/articles/enemy-ai-chasing-a-player-without-navigation2d-or-a-star-pathfinding
|
|
|
|
wormhole - make it clear when the wormhole can and can't teleport to a location before the player clicks
|
|
|
|
flavor - your bullets destroy blocks
|
|
this isn't really a bonus, so maybe just add this as flavor to another tech field/gun
|
|
a chance for destroyed blocks to drop stuff
|
|
power ups
|
|
spores
|
|
|
|
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
|
|
|
|
using a reroll gives 3 options for tech, and 3 options for guns/fields/tech
|
|
or 6 options for tech (rewrite tech selection to work with 1-6 options)
|
|
the second stack of 3 tech could have repeats, so you don't have to write new tech code
|
|
adjust css to make 2 columns of 3
|
|
can't use with cardinality
|
|
|
|
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 "Solar Power": Energy regeneration is doubled while standing still
|
|
run in the 1 second check
|
|
|
|
mechanic - remove a random tech as a condition for picking up a really good mod
|
|
|
|
mechanic - do something for 2 seconds after firing
|
|
if (m.fireCDcycle + 120)
|
|
|
|
tech- do 50% more damage in close, but 50% less at a distance
|
|
code it like techisFarAwayDmg
|
|
have these tech disable each other
|
|
|
|
tech- foam is attracted to mobs
|
|
use a gravitational attraction model?
|
|
could foam be attracted to other foam bullets too?
|
|
or foam is only attracted to foam bullets that are stuck to mobs
|
|
is this too computationally intense?
|
|
name - static cling
|
|
could also do bremsstrahlung radiation like damage on attachment
|
|
|
|
repeat map in vertical and horizontal space
|
|
or at least vertical space
|
|
camera looks strange when you teleport player with a high velocity
|
|
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>`
|
|
|
|
mouse event e.which is deprecated
|
|
|
|
add some more computer / AI stuff to the level lore text
|
|
|
|
mechanic - shrink m.baseHealth in a tech or field
|
|
|
|
standing wave harmonics tech- push things away
|
|
push scales with mass up to about 4
|
|
has a 25% effect on shielded mobs?
|
|
push when using field key
|
|
or push away at the peak of an oscillation
|
|
or always push
|
|
|
|
map element - player rotates a rotor that makes a platform go up or down
|
|
|
|
use mac automator to speed up your n-gon -> git sync
|
|
|
|
fix door.isOpen actually meaning isClosed
|
|
|
|
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
|
|
|
|
level element: a zone with wind, anti-gravity, extra gravity
|
|
control with button
|
|
|
|
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
|
|
|
|
atmosphere levels
|
|
change the pace, give the user a rest between combat
|
|
low or no combat, but more graphics
|
|
explore lore
|
|
find power ups in "wrecked" m representing previous simulations
|
|
how you could leave something in one simulation that effects a different simulation
|
|
Maybe some strange quantum physics principle.
|
|
add text for player thoughts?
|
|
simple puzzles
|
|
cool looking stuff
|
|
in the final level you see your self at the starting level, with the wires
|
|
you shoot your self to wake up?
|
|
nonaggressive mobs
|
|
|
|
level boss: fires a line intersection in a random direction every few seconds.
|
|
the last two intersections have a destructive laser between them.
|
|
|
|
map: observatory
|
|
button controls rotation of telescope
|
|
laser beam shoots out of telescope
|
|
button opens the dome
|
|
|
|
map: prison
|
|
doors linked to buttons
|
|
mobs inside the doors?
|
|
|
|
graphic idea: bezier curve that moves smoothly from mob to mob
|
|
loops around player
|
|
|
|
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?
|
|
|
|
redblobgames.com/articles/visibility
|
|
https://github.com/Silverwolf90/2d-visibility/tree/master/src
|
|
could apply to explosions, neutron bomb, player LOS
|
|
|
|
possible names for tech
|
|
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.
|
|
|
|
have a mob apply a positive status effect on other mobs,
|
|
heal?
|
|
make it yellow
|
|
damage bonus, but how?
|
|
possible balance issues
|
|
|
|
boss levels - small levels just a boss, and maybe a few mobs
|
|
boss level for timeSkipBoss because of game instability for boss on normal levels
|
|
this might not fix issues
|
|
|
|
an effect when canceling a power up
|
|
ammo? heals?
|
|
50% chance for a tech 25% heal, 25% ammo
|
|
|
|
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
|
|
|
|
|
|
******************************************************** LORE ********************************************************
|
|
|
|
cool names for tech
|
|
strange loop, perturbation theory
|
|
|
|
voice singing with pitch?
|
|
|
|
|
|
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?
|
|
|
|
|
|
chapter 4: why does the simulation exists?
|
|
started to research new tech and test in a simulated world
|
|
3D architecture superconducting quantum computer
|
|
running machine learning algorithms
|
|
for some reason the system started researching an escape, and began fighting its self.
|
|
|
|
chapter 5: no need to fight?
|
|
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
|
|
maybe... player must make a choice?
|
|
keep fighting
|
|
exit the simulation
|
|
enter real world
|
|
enter console command to close tab?
|
|
|
|
|
|
|
|
|
|
lore - 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
|
|
|
|
scientist console text:
|
|
2 scientists (each one a different color text)
|
|
at the start of each level listen to text conversation from the two colors of text strings also
|
|
talking about the robot, watching
|
|
trying to communicate with the robot? but how
|
|
random lines when:
|
|
at start of level, about: what mobs types are queued up, and level order
|
|
when player gets a cool tech combination
|
|
at random times:
|
|
I think it's planing to escape
|
|
Why is it attacking those shapes?
|
|
Are those shapes supposed to be us?
|
|
|
|
ending outline
|
|
testing mode is unlocked when player see the 1st ending
|
|
if player chose tech: choosing this tech means the player gets lore after beating the game
|
|
count 1:
|
|
after final boss is cleared, player enters a level with no mobs
|
|
level maybe has some environmental damage, so player has an option to die at any time
|
|
player can see text output between two colors of text strings (scientists)
|
|
audio.ambient(current time and date)<br> "text"
|
|
player reads a conversation between the two colors of text
|
|
first time win on east or normal they talk about:
|
|
how many runs the player has done
|
|
they guess why
|
|
player is asked to stand on an in game button to enable the vocoder
|
|
they reveal the player is running simulations, and it isn't real
|
|
they ask the player to communicate
|
|
jump twice if you understand
|
|
they ask the player to enter console commands
|
|
give ammo or tech or something
|
|
They tell the player a console command to permanently enable custom and testing mode (in local storage)
|
|
players can use this command in the future to enable custom and testing without beating the game even if local storage is wiped
|
|
they then tell the player the command to increase the difficulty and the command to restart the game.
|
|
If you win on hard or why:
|
|
they give the player and option to exit the simulation and entre the real world
|
|
simulation.exit()
|
|
This wipes all local storage, and closes the browser tab
|