******************************************************** NEXT PATCH ********************************************************
iridium-192: now has a wider explosions range and no knock back
nail gun: irradiated nails do about 33% more damage over 2 seconds
nail gun rivet fire rate is 10% slower
nail gun: needles do 10% less damage, but they fire 10% faster
needle tech: ceramic needles - needles pierce shields
******************************************************** BUGS ********************************************************
(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 ********************************************************
exiting the final boss room without 10/10 takes you to the start menu
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
tech needles: can pass through shields
or just do extra damage
lore add console command for unlocking testing mode
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
rewind, still uses energy
cycle to next field, uses a reroll
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: double your rerolls
set your duplication chance to zero
requires 5 rerolls and 20% duplication chance
might want to use a single variable for all duplication
bot that follows the players history
could have the same shape as the m circle head
1st bot is at 5s, 2nd is at 4.5s, ...
bots don't get too close to player
run smoothing on position update, don't update if close to player, based on ordering
effect: (one of these can be the upgrade effect)
give player energy overfill
AOE damage to mobs
push away mobs
when close to player: damage bonus damage reduction
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 where you can't stop firing, how to code?
mechanic: technological dead end - add tech to the tech pool with a dumb effect
don't show up in custom?
negative effect (one time effects are better to avoid code clutter)
make the player rainbow colors
m.color = {
hue: 0,
sat: 100,
light: 50
}
setInterval(function(){
m.color.hue++
m.setFillColors()
}, 10);
remove all your energy
eject all your rerolls (not bad with dup)
teleport to the start of the level
remove your bots (requires you to have some bots)
your bots are changed to random bots
tech "Expansion Formula": Permanently increase the size of Negative Mass field by 16%(Max 96%)
tech "High Risk": Spawn two bosses per level.
maybe limit to just the power up boss and spawn it at the exit every time to keep it simple
also weaken the player
remove a tech?
lower harm reduction?
increase game difficulty by one level
tech that requires integrated armament
tech- reset level
you trade a tech for a chance at killing a new level boss and farming more ammo
resets health, ammo (but not tech, fields, guns, ... ?)
scramble level order? or same level
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
RPG might need a buff, now that it disables the other cool grenade tech
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
time dilation - slow down the game engine by 1/2, but run an extra player cycle to simulate slow motion
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 = `8% chance to duplicate spawned power ups
chance to duplicate = ${techduplicateChance}`
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
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
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? fight or friend?
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)
"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