Pan-demonium
Try to survive as long as you can against the onslaught of incoming food! The more food you destroy, the more xp you will gain. The more xp you gain, the more you will level up and get stronger!
Controls: WASD or Arrow Keys to move
ChangeLog for 11/29/2024 - v1.1
- Reduced the maximum number of enemies drastically, this should prevent lag as the game progresses to the later waves
ChangeLog for 11/22/2024 - v1.0
- Fixed bug where energy drink does not do damage
- Lowered weight of weapon projectiles so that they have less knockback on enemies
- Fixed bug where the player could heal over their max health
- Made player a singleton so that it can be accessed by the other classes easily
- Fixed bug where choosing the "Increase weapon damage" upgrades would not actually increase the damage of the weapons
- Fixed bug where choosing the "Increase attack rate" upgrade would not actually increase the attack rate of the weapons
- Fixed bug where knife was not properly targeting the closest enemy
- Adjusted rotation of knife so that it is always flying blade-first towards the enemies
- Lowered base fire-rates for all weapons
- Lowered base weapon damage for all weapons
- Increased speed for some enemies to make it more challenging
- Fixed bug where player moved faster when moving diagonally as opposed to in a straight line
- Added new variable enemySpawnInterval which will slowly make the enemies within each wave spawn quicker and quicker as the game progresses - this will bolster the effects of the later waves while making the earlier ones easier
- Fixed bug where soupCan also did no damage to player
- Added in waves 21-30, by the end of wave 30 the player is either unkillable or has died
- Updated the code for start canvas so that it randomly select three weapon in the starting interface.
- Updated some UI so that the text does not behave weirdly (ex. disabled wrap)
- Modified the YouLoseCanvas by adding a background image so the text is easier to read.
- Fixed the rare healing so that it does not heal over maximum health
- add sound effect for burst weapon
- updated more vibrant map to combat elements not clear
- made map little bit easier, less obstacles
ChangeLog for 11/15/2024 - v0.9
- Added health text to the health bar
- Made the UIs a bit bigger so it is easier to access and visualize
- Changed the font size so the text does not get wrapped in a weird way
- redrawn tileset for map background to accomodate for auto tiling rules
- created more robust auto tiling rules for mud and water tiles
- rethink map size, map was made with more obstacles
- implemented a Burst Fire Weapon that fires three projectiles in a straight line, alternating between left, top-right, and bottom directions
- Added new enemy type: EnergyDrink
- EnergyDrink spawns starting at wave 16
- EnergyDrink is quicker than other enemies at base speed, and every 5 seconds the EnergyDrink will have a very fast burst of speed for 1 second, before slowing down to recuperate
- Added in 5 more waves, 16-20. All include EnergyDrink, wave 20 includes all enemy types thus far
ChangeLog for 11/8/2024 - v0.8
- Added a rarity system to the upgrade level system
- Rare options appears only half as much as normal options
- Play tested and adjusted the probabilities so that it makes sense
- Added new weapon: Flamethrower
- Flamethrower quickly shoots balls of flames in radial pattern around the player
- Created matching projectile as well
- Replaced the plate from the start options with the flamethrower for easier testing, but the plate is still a possible weapon upgrade
- redrew tile map, so new map ui
- cleaned up elements on the map, more easier to recognize where to go and where not to
- built more obstacles so it is harder for the player to maneovure when there is a swarm
- made map to be really big
- made sure certain enemies ( potato chip and milk ) don't go under the water/tree layesr
- Spike Trap Weapon: Implemented a SpikeTrap Weapon to drop traps at the player's position, dealing burst damage to enemies and self-destructing after a duration.
- Knife Targeting: Fix Knife to target the nearest enemy.
ChangeLog for 11/1/2024 - v0.7
- Added rare upgrade options to all the ones that already exists with stronger effects
- Changed the color between rare or normal upgrade options
- Tried to balance the rare upgrade options so that it is not over powered.
- Removed Sound Effects from Knife Script: Cleaned up sound-related components from the Knife class.
- Implemented Splash Sound on Enemy Hit: Added the "splash" audio clip to enemies, ensuring it plays upon taking damage.
- Played Coin Sound on XP Orb Collection: Configured XPOrb to play "coin" sound upon player collection.
- Immediate XP Orb Absorption: Enabled XP orbs to move quickly toward and disappear upon player contact, while still allowing the collect sound to play fully.
- enlarged the map
- cleaned up the background tilemap so it is just green grass.
- separated the mud, tree and water tiles more clearly, each element goes in its own tiles
- added autotiling rules for both mud and water so they could be drawn easily
- made parts of the map more compact and challenging for player
- Added in 5 new waves of enemies
- Added in a vacuum mechanic that vacuums the XP orbs towards the player, this prevents them from getting stuck outside of the map
- Removed excess code relating to spawning enemy logic (Since enemies are now able to pass over all terrain, we do not need to check if their spawn location is "valid" anymore)
ChangeLog for 10/25/2024 - v0.6
- Solved the enemy collisions with tree by modifying the collision matrix
- Enlarged player area
- Smoothed out some of the boundaries and clippings between the player and trees
- Modified places where the map is confusing
- Changed the layouts of the weapon selection menu and upgrade selection menu to make it more visually appealing and aligned center
- Adjusted the size of the health bar and exp canvas to make it more obvious and easy to read
- Changed the youlose canvas slightly to make to more readable and clear
- Added sound effect for knife hitting enemies using AudioSource in the Knife and Projectile scripts.
- Prevented physics pushback by using OnTriggerEnter2D and setting projectiles to Kinematic.
- Added XP collection sound to XPOrb script, playing sound when the player collects an orb. (
- Added new enemy "PotatoChip"
- PotatoChip is unique in that it likes to be grouped with other potato chips, they will still chase the player but will try to swarm together if they can
- While the potato chips are close to each other, they become significantly tougher, so the player will want to cull them before they become too large
- Added in 4 more waves, 7,8,9,10
- Potato chips start appearing in wave 7, and wave 10 will be a boss wave containing only potato chips
- Added values to playercontroller so that the player takes damage from all current enemy types
ChangeLog for 10/18/2024 - v0.5
- Complete overhaul of enemy spawning logic, enemies now spawn in waves
- Each wave has a max number of enemies that can be active on the stage at the time of spawning
- If the number of enemies on the stage is less than max enemies, then the wave will spawn enemies until that number is reached
- Each wave has it's own enemy types
- Added in new enemy: SoupCan
- Soupcan is very slow, but very hard to kill and does a lot of damage, it also is more resistant to knockback
- Added IncreaseSpeed upgrade option which increases the player's movement speed
- Found some bugs with player projectile stuck in trees
- Fixed the bug where when additional weapon selection option is selected, player is still being attacked
- Added sprites to each player upgrade options
- messed around with layering, put trees and water into the same layer called PlayerOnlyCollisions. So now enemies don't have to collide with trees.
- Got rid of the box collider hard boundaries. Used the tree collision layers instead
- Expanded the map downwards and towards the left.
- Made certain changes to the trees and water placement on the map so the user has more places to hide and go around instead of getting stuck.
- Improved the Plate weapon by changing its movement from linear to a circular orbit around the player to make it easier to hit enemies.
- Implemented an upgrade system that increases the Plate's orbit radius and adds more plates with each level.
- move the plate projectiles closer to the player by modifying the orbitRadius.
ChangeLog for 10/11/2024 - v0.4
- Adjusted all colliders for enemies and for the player to make them feel a lot better. I used either capsule colliders or polygon colliders with less edges so that the sides were more smooth. This makes colliding with enemies and terrain much more fluid.
- I changed the enemy spawn calculation function completely. Now there is a dynamic value called totalDifficulty which is calculated based on the current time of the game. Every 2 seconds, random enemies are picked from the list of total enemies and spawned until the currentDifficulty reaches totalDifficulty.
- Each enemy now has a difficulty value, ranging from 0.5-2
- Doubled fire rate of knife because it feels more fun
- Changed weight of player and enemies so that colliding feels better
- Added a increase max health upgrade option
- Added a heal current health upgrade option
- Added a timer that records the player's survival time
- There are some colliding issues with the bacon where it does not decrease player health sometimes
- Added the total time survived to the youlosecanvas when the player dies
- checked player collisions with trees and water, seems to have no issues, no clipping whatsoever
- made the player a little bit slower when it is on mud
- added a hinted border around the actual border of the map so there is less confusion, done with trees
- Camera Adjustment: zoomed out the camera to provide a better view of the game world, making it easier for the player to navigate without running into dead ends.
- Enemy Spawning Fix: adjusted the enemy spawning system to prevent enemies from spawning on top of obstacles like trees and water.
- Weapon Behavior: updated the weapon system so that projectiles disappear when they go off-screen, as it killed the enemy generated off screen before.
- Two Plates Orbiting the Player: Added another plate to orbit the player, since the single plate is hard to manipulate
ChangeLog for 10/04/2024 - v0.3
- Set up an OrbitObject that follows the player, with SplashDamage orbiting around it
- Ensured SplashDamage only collides with enemies using OnTriggerEnter2D and trigger colliders.
- Prevented SplashDamage from pushing the player by setting Rigidbody2D to Kinematic
- Configured Layer Collision Matrix to limit SplashDamage collisions to enemies only.
- Ensured SplashDamage is not destroyed and continues orbiting smoothly
- Added new weapon: Oil - Oil shoots out 4 globs, one in each direction
- Added new weapon interface containing stats about the weapon and some basic methods
- Added generic projectile class for any linear projectiles
- Renamed OrbitObject to PlateWeapon
- Renamed SplashDamage to PlateProjectile
- Renamed to KnifeWeapon and KnifeProjectile
- Added empty Weapons object to player, this holds all active weapons
- Added EquipWeapon to PlayerController, allowing the player to add a weapon to their active weapons
- Added two new enemies: Cheeseburger and Bacon
- Cheeseburger is tanky and slow, spawns on slower interval
- Bacon is fast and easy to kill, spawns two at a time on a medium interval
- Moved all projectiles to their own layer: PlayerProjectiles - this prevents any projectile from colliding with any object that isn't on the enemy layer
- Moved all enemies to their own layer: Enemies
- Added new canvas StartCanvas, where the player begins with selecting one of the 3 weapons.
- Completed the leveling up function with 3 options, increase attack speed, increase attack rate, and select an additional weapon which opens the start canvas and allows the player to select a new weapon.
- If a repeated weapon is selected, it will now fire one additional projectile.
- Used the knife sprite for the upgrade icons (need to create new ones)
- Modified the equip weapon method so now the players equiped weapons will be stored in a list
- created prefabs for weapon option UI and levelingup option UI
- Reorganized the UI to make it more straightforward.
- Moved the levelingUp() function from player controller to levelupcontroller.
- Enlarged the map and updated the borders accordingly.
- Added new tilemaps in the grid. One for water and one for trees.
- Set up Water and Tree tilemaps to block the user from going through these elements.
ChangeLog for 09/27/2024 - v0.2
- Player now flashes red when taking damage from enemy
- Created Exp and level system for the player
- Created expbar UI which increases fill when XP value of player increases after absorbing an XP orb
- Created a canvas for when the player levels up and a continue button (this will be updated in later iterations for players to select different upgrades)
- Player's orientation now changes depending on the direction it is traveling towards
- Enemies now drop XP orbs when killed, the player can walk into them to collect the XP and add to the player's XP counter
- Enemies now flash red when taking damage
- Decreased size of enemy, and slowed speed from 0.8>0.6 to make it easier on player
- Temporarily disabled the splash attack due to bugs
- Modified broken hitboxes on Player and RotisserieChicken
- Enemies now have a TakeDamage(float damage) function, due to this change now the enemies will manage their own health and all weapons call this function to deal damage rather than dealing the damage directly
- New map design that is more sophisticated and fits the overall design language of the rest of the game.
- Revisited the game border logic and implemented a more robust game wall with colliders.
- Fixed the issue where the bullet was pushing the player around.
- Split the splash damage and orbit logic to make sure it only deal damage when hitting the splash
- Created an orbit system that moves the SplashVisual around the player on the X-axis only with radius of 0.5.
- Implemented damage logic for SplashVisual to deal damage to the enemy
ChangeLog for 09/20/2024 - v0.1
- Added rotisserie chicken pixel art sprite to enemy
- Added in new gameobject EnemySpawner, which will control all enemy spawning
- Made it so an enemy will randomly spawn on the edge of a circle with radius r around the player's position every 5 seconds
- Adjusted angular dampening of chicken so that it will not rotate as much when bumping player/getting hit with bullets
- set background tilemap's order in layer to -2, and set collision tilemap's order to -1. This was to make sure that the tilemap is always in the background
- Enemies now take damage when getting hit with bullets. After taking 5 damage (5 bullets rn) the enemy will die
- Added a sprite for the player object
- Created a canvas named YouLoseCanvas which shows up after the player dies and there is a respawn button which restarts the scene and respawns the player in the starting position.
- Created another canvas called HealthBarCanvas which displays the health bar of the player on the top right corner of the screen. The fill decreases as the player hp decreases.
- Players now take damage from the RotisserieChicken object
- Add asset for bullet to fit the theme
- Added a splash attack mechanic that deals damage to nearby enemies over time.
- Set up a visible splash effect using the Knob sprite, scaled to match the splash radius.
- Implemented rotation for the splash attack around the player.
- Ensured enemies are tagged correctly and take damage from both knife shots and splash attacks
- Redrew sprite sheet for background map to include some more textures
- Applied new sprite sheet to the map
- Added new tilemap to account for a hard border so the player doesn’t go off camera.
Leave a comment
Log in with itch.io to leave a comment.