Pan-demonium 2
Pan-demonium 2! Play as an egg as you fight waves of foods trying to kill you to see who is the best breakfast food!
Controls: WASD to move, SPACE to jump, Left Mouse to fire
Patch Notes:
v0.4 - 2/21/25
- Added UI to track the player's health, a red bar at the top of the screen that adjusts in size with the player's health
- Added UI to track the player's money, which is awarded when enemies are killed, this can be tracked in the top right corner
- Added UI to track the time survived, which is in the top left corner
- Added scenes for mainmenu and for game over, with instructions and statistics
- Added functionality to award money when enemies are destroyed
- Created a new bullet that has explosive attributes, and bigger size
- Fixed minor bugs with the explosive bullet as it was stuck at first
- Created a gold attribute so that the player can earn gold when defeating an enemy
- Need to discuss if the player should upgrade through chests or shops or upgrade interface pops up whenever player reaches a certain gold level
- Fixed issue where enemy would not face the player by using another character model.
- FIxed an issue where ranged enemy would not get damaged, it had to do with the bullet code, it was set to only damage the melee enemy but I edited to implement towards the ranged enemy as well.
- Made both the ranged enemy and melee enemy larger
- Edited the enemy spawner to increase difficulty of increasing enemy spawning overtime
- redid the map in terrain. the reason is because i found out terrain is far superior for large scaled maps.
- found some kitchen props on unity. and placed them to be in the map and made them interactable. ie. player and enemies can go into the cups.
- did a sink like hole in the middle with a stair, and did a mountain for baseline
- edited enemy spawner code so enemies now spawn at height 15, which is the height of the map
v0.3 - 2/14/25
- Added double jump to player
- Re-factored "JumpAndGravity" function to allow this
- Added in PerformFirstJump(), PerformDoubleJump(), and ResetJumpBool() to execute the double jumps as well as configure the animator
- Created new animation PlayerJump
- Created new animation PlayerFall
- PlayerJump is immediately called when spacebar is pressed
- PlayerFall is executed after a jump is finished until the player hits the ground
- Tweaked animation for PlayerWalk and HurtPlayerWalk so that they transition easier
- I added a capsule collider to the egg (This allowed the melee enemy to attack a lot better).
- I edited the ThirdPersonController script to allow the player to take damage from enemies and added debug logs to update me with the health and when the player dies.
- I edited the melee enemy's attack code so they are able to deal damage to the player when the attack hits! (I will need to tweak with this code later because I do want meele attacks to be dodged by the player but for now it is working well). (Attack damage is adjustable for future balancing implementations)
- I created a new script file and attached it to the rotten melon prefab (this prefab is what the range enemy shoots out to the player) and when it collides with the player, it does take away damage. The player is able to dodge this attack! (damage is adjustable)
- I added capsule colliders to the enemies (The player is no longer able to phase through them, not sure if that will be an issue later on) for the purpose of assisting the player to do damage to the enemy, these colliders are adjustable to make them wider or taller if need be. (There is an issue when the meele enemies attack, they kinda push the egg back)
- Tried to fix the player rotation issue by eliminating rotation from pressing movement keys WASD, however then, the player is not rotating even when the camera is moving due to the ThirdPerson script we were using.
- Instead, used the camera code from FirstPersonController such that now, player rotation is controlled by the camera instead of movement keys.
- Asked group mates and decide that we will stick to color coding different types of bullets instead of finding appropriate prefabs online which I was not able to find any.
- Bullets should now deal damage to enemies when colliding, however, the ranged one seems to be invincible and the shorter melee enemy cannot seem to be hit by the boomerang because it is too short
- Brainstormed some ideas for next bullet design (ricochet bullets that bounce from walls, tracking bullets, and shotgun bullets) that can be created in the future
- Might have some bug with the shooting mechanism where bullets keeps shooting when left click is only clicked once.
- Changed the enemyAI damaged code to public so bullets can access it.
- made sure that enemies can jump onto lower platforms using offmesh links
- changed colors to every single game world object so that the bullets are easier to spot
- optimized the map
v0.2 - 2/7/25
- Fixed animations on player, player now has 4 new animations
- Idle: the player will wobble slightly and slowly when standing still, since standing as an egg would be hard
- PlayerWalk: The player will move with this animation when above 66 hp (placeholder for now, imagining that this is above 2/3 max hp), he will hop in the direction he is moving, but his actual hitbox will remain on the ground
- HurtPlayerWalk: Activates when the player drops below 2/3 hp (below 66 right now), the hops are quicker and they have less height
- VeryHurtPlayerWalk: Activates when the player drops below 1/3 hp, the hops are even quicker and there is barely any vertical change
- The player can press the 'H' key to purposefully hurt the player to test out the animations
- Added in new variable for Health to the third person controller
- configured animator to go between all states, but will still need some tweaking to make everything look super fluid, good enough for now
- Replaced the character in the main scene with the egg
- Added Attack and walk animations from the asset package to my two current enemies (Adding damaged animation and death animation once we progress a bit more with our player and enemy interaction, THEY ARE READY TO BE IMPLEMENTED)
- Added a new enemy (Ranged enemy) The only issues I am having with this guy is that I can't get the model to face the player, I learned that it is based on the blue Z arrow but I do not know how to rearrange it.
- When I replaced the enemy capsule with the kiwi prefab for the enemy spawner, the ai responded a lot easier, there is one issue where some of them spawn under the map. Need to further investigate.
- Added a new 3D Asset to help with my projectile prefabs.
- Replaced enemy capsule to actual enemies now
- removed the previous terrain map and replaced it with a probuilder map
- built the "sink", "sink drain hole", "cup", and stairs for the sink.
- fixed navmesh problems where enemies doens't follow on stairs and jumps
- built more obstacles on the surface level.
- built a jumping platform for the player but not for enemies
- built a platform with ramp for the enemies and the players can go up to.
- Fixed bug with the ball prefab and crosshair
- Added a boomerang weapon where the projectile is shot and returns to the player
- Browsed some visuals but did not find ones that fits with the game, might need to discuss with group mates to set stone a type of style
- There are some issues with the shootpoint where it does not rotate as the player rotates, therefore it might hit the player itself. I will look into that next week.
v0.1 - 1/31/25
- Fixed bug with player movement and shooting systme where player movement used to create rotation that changes the direciton that bullets shoots.
- Fixed bug where shooting point was inside the player object and was too high to hit the enemy
- Created crosshair UI which is a green box rn, will fix in the future maybe a customizable one
- Modified weapon code so that bullets/balls goes towards the direction of the crosshair
- Added new scene for testing player functionality "CharacterTesting"
- Created new player prefab that uses new Egg shaped mesh
- Added in animations for Walking and Idle
- Realized that animations were actually moving the player instead of keeping the player in place, have not replaced main player prefab yet.
- Renamed main scene to 'MainScene'
- Implemented an enemy spawner object in the sample scene to keep track of spawning enemy prefabs around the player, I still have some issues where enemies clutter around each other and some cases where some of the AI loses path finding to the player until the player starts moving closer. Will fix later.
- Found a enemy food 3D asset, still trying to figure out how to implement the animations that came with the characters since the asset itself is a bit outdated (Created in 2019)
- Added kiwi enemy in sample scene with same code use for enemy meele capsule, without the animations for walking, attacking, or dying yet. Idle works tho.
- Figured out how to create neighboring terrains, the map is now larger
- Created not passable objects, a shelf, two bottles, and two places for the player to jump on.
- Rebaked the navmesh according to the size of the terrain.
v0.0 - 1/24/25
- added in player capsule with controller
- added in plane for him to run around on
- tested to make sure that all movement functionality worked as intended
- Created a melee enemy using NavMesh for pathfinding.
- Allows control of enemy speed.
- Provides the ability to manage the environment the enemy learns from.
- Implemented melee attack using Raycast
- Ensures the enemy attacks in the direction it’s facing when the player is in attack range.
- Debug logs used to verify the raycast is correctly hitting the player at the given attack range
- Added attack damage and health component to the enemy (not currently used):
- Will be relevant once the player’s health and attack system are more developed.
- Will be relevant once the player’s health and attack system are more developed.
- Implemented time between attacks:
- Enemy attacks every second once the player is within attack range. (Can change)
- Implemented a sight component:
- Allows the enemy to detect the player within the environment.
- Added weapon component to the player with shooting point
- Added ball prefab as the bullet to the weapon
- Tested to make sure that weapon does not affect player movement and bullets shoot straight
- Both bullets and weapons have damage, and speed attribute
- added a terrain object to the game
- made sure the terrain object matches up with the navmesh and the plane object
- added a sample obstacle, a mountain to the terrain
- made sure that the navmesh is updated and pathfinding is working for the enemy.
Leave a comment
Log in with itch.io to leave a comment.