168 Commits over 123 Days - 0.06cph!
Update loading image
Fix minimap with new tile scale
Update bullet sprites
Player Sprites
Updated Tileset
Update Money Pickups
More tileset updates
Coin pickups have different size with their associated value
Update Key/Bandage Sprites
Updated Box + Chest sprites
Updated enemy sprites
Fix enemy sprite issues
Upscale tileset
Make the Generating Map UI look nicer
Use pixel font for damage numbers
Rename minimal.scene -> game.scene
Basic MainMenu with FrontPage
More front page work
Started Lobby Menu
Move GameResources into Roomlite category
Added CharacterResource
Proper Lobby Menu Basis
Lobby Menu shows current character stats and allows you to change characters
Fix minor issue
Game now starts when everyone is ready in the lobby
Hooked up the Main Menu play buttons
Update StartupScene
Associate Icon with WeaponResource, displayed in Lobby menu
Add StartingSpeed to CharacterResource
Add BulletCount to WeaponResource
Player starts with Character's starting weapon
Added Shotgun Weapon
Added shotgun sprite and some other stuff
Start with random character if testing in game scene without starting from lobby menu
Fix player surface reference
Buff Squirt Fire
Fix wiggle bullets
Can't outrun coins when getting sucked in
Controller Support
Fix DamageTrigger logic
Update ShopItem in OnStart for connected client
Suck coins into player
Fix ItemComponent NRE
Fix silly mistake
Player no longer has friction when running against walls
Enemies no longer have friction against walls
Fix players not colliding with enemy bullets lol
Enemy projectiles are now entirely client-side so there's much less load on the host and gameplay is much more fair for each client
Shop items are greyed out if you can't afford them
Speed the player up 1.5x when not in a room with enemies
Replenish item room for number of players
Hide pre-spawned shop doors on the map, revealing once discovered
If a player disconnects, their player gets removed but state is regained when reconnecting (so they dont lose everything)
Fix ShopItem desync for connected clients
Fix item shadows
Force enable player during retake
Don't show dropped players in the list
Fix medkit not healing for connected clients
Fix recoil networking
Projectiles can't leave the room they originated in, and doors block all bullets
Prevent any movement when map is generating
Check if Interactable is valid on ShopItem (should fix NRE when entering new floors)
Added basic chatbox
Basic Voice Chat (no UI)
Expose "Does Restock" as Prefab Variable on Shop Item
Add Locked Door, Shop Rooms have 50% chance to be locked
Add more shop rooms
Fix item room bounds
Chest fixes + Vitals now has CanTakeDamage and IsInvincible (can take damage but no health is depleted)
Added Shop Item and first Shop Room
Shops actually take your money now
Added `give_coins` and `give_keys` commands
Added Chest, requires Key to open. Has small chance of dropping an item
Okay maybe don't do that bc it breaks fucking everything
Minimap TAB view is zoomed out further
Minimap based on Camera instead of Player
Run GenerateMap parallel so the loading UI doesn't freeze up during generation
Update SpriteTools (should fix any shadow issues)
Remove old un-needed code
Hopefully fix issue with items spawning overlapped
Fix massive bullet shadows appearing for a frame on connected clients
Only spawn rooms on network once finalized instead of after each attempt
Toggle pathfinding overlay with a ConVar (defaults to false)
Added HomingModifier and Homing Bullets item
https://files.facepunch.com/CarsonKompon/2024/November/12_12-24-AccomplishedBabirusa.mp4
(Effect exaggerated for video)
Fix not being able to pickup coins
Fix bullet bounce colliding with things it shouldnt
Fix Player Range upgrades not being applied properly
Added BounceModifier and Bouncy Bullets Item
https://files.facepunch.com/CarsonKompon/2024/November/12_11-38-QuickwittedKagu.mp4
Broadcast damage/health FX
Re-implement damage numbers
Fix dungeon generation lag
Add simple death state
Dead players respawn on next floor
Enemies only target living players
Fix networking issues with projectiles
Fix shadows not showing proper on connected clients
Added Player.Living separate from Player.All, fixed NREs when player is dead
Add GameManager.LoadFloor(index)
Network item inventory
Added GameOver UI which displays when all players are dead
Reset enemy aggro target after killing player
Fix projectiles checking collisions on all clients
Game fully resets when both players Ready Up on the Game Over UI
https://files.facepunch.com/CarsonKompon/2024/November/12_09-45-BleakGalapagospenguin.png
Added Spectator UI when you're dead but other players are still alive
https://files.facepunch.com/CarsonKompon/2024/November/12_09-58-SpectacularGangesdolphin.png
Flag certain objects with `dontdestroy` tag. All objects without this tag are cleaned up upon room generation
EndFloorTrigger takes the amount of living players instead of all players
Fix NRE when spectating player dies
Network some GameManager variables + fixed player reviving issues
Damage RPCs
Improved Generating Map UI
Limit aim to 8 directions, apply a bit of movement velocity to fired bullets
https://files.facepunch.com/CarsonKompon/2024/November/11_18-47-DeadlyZebrafinch.mp4
Camera smoothing so you don't get motion sick when moving your mouse quickly
Make pickup drops a little less exaggerated
Made screen shake much more subtle
Update shadows/collisions so that shadows are the true collision indicator
Dispose of leftover objects when changing floors
Fix bullet_woom_man_2 prefab
Fix Projectiles executing in editor in situations when they shouldnt
Fix misaligned room
Remove logs
Fixed Networked Item Pickups
Fix networked projectile rotation
Fix BulletGenerators having Shadows
Fix BulletGenerator Networking
Fix item networking
Skeleton Key Fix?
Bullet Shadows + ShadowOverride on Entity
More networking fixes
Fix networking coins
Fixed going to the next floor when networked
Fix RoomManager shutting doors as soon as they'd open
Possible multiplayer fixes
Use BulletGenerator instead of bullet prefab so Wood Man can have a more interesting pattern
Enemy ModifyWishVelocity instead of ModifyVelocity 🤦
Enemy now uses IEntityModifier to set velocity
Add `give_item` command
Fix some more NREs
Fix EndFloorTrigger counting players twice sometimes