all mobs that move through walls and blocks now have a transparent fill player and power ups float in hazards tech: apomixis - after reaching 100% duplication spawn 4 level bosses tech: quantum foam - +153% foam damage, fire 0.35s into the future bullets are bigger, and easier to see
484 lines
18 KiB
Plaintext
484 lines
18 KiB
Plaintext
******************************************************** NEXT PATCH ********************************************************
|
|
|
|
all mobs that move through walls and blocks now have a transparent fill
|
|
player and power ups float in hazards
|
|
|
|
tech: apomixis - after reaching 100% duplication spawn 4 level bosses
|
|
tech: quantum foam - +153% foam damage, fire 0.35s into the future
|
|
bullets are bigger, and easier to see
|
|
|
|
******************************************************** 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 ********************************************************
|
|
|
|
increase bullet size, but don't increase bullet damage
|
|
|
|
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
|
|
|
|
tech: when you switch guns switch all bots to a different bot
|
|
|
|
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
|
|
|
|
map: laboratory
|
|
rooms with switches that change physics
|
|
gravity room
|
|
portal room
|
|
laser room
|
|
radiation room
|
|
a button that spawns a heal.
|
|
|
|
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
|
|
|
|
|
|
paste this into console to see fps
|
|
javascript:(function(){var script=document.createElement('script');script.onload=function(){var stats=new Stats();document.body.appendChild(stats.dom);requestAnimationFrame(function loop(){stats.update();requestAnimationFrame(loop)});};script.src='//mrdoob.github.io/stats.js/build/stats.min.js';document.head.appendChild(script);})()
|
|
|
|
|
|
******************************************************** LORE ********************************************************
|
|
|
|
cool names for tech
|
|
strange loop, ansatz, Bayesian statistics
|
|
|
|
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
|