1,056 Commits over 183 Days - 0.24cph!
Optimize single non-spritesheet Sprites
Another TextureAtlas NRE fix when uninitialized
Fixed CellOffset visual display in Spritesheet Importer
Fixed Cell Offset in Import process
Use Pixel Font for Damage Numbers
Increase Map Generation Size with each Floor. Guarantee one item room each floor, adding another every 4 floors
Fixed enemies walking through walls
Fix dash networking
Added Enemy Spawner Component, Sprite and Prefab
PrefabSpawners have SpawnOnStart. Crates/objects will spawn on map generation, enemies will not spawn until entering room.
Doors close when entering Room (if room has enemy spawns). Doors open after clearing all enemies.
https://files.facepunch.com/CarsonKompon/2024/July/20_00-42-AntiqueMeadowhawk.mp4
Tick correct session in SceneViewWidget. Fixes occasional `Error calling 'tool.frame' on 'Editor.SceneViewWidget'`
Hook up File -> Open Scene (Resolve TODO)
Move some scripts into new folders
Fix some Player networking issues
Player and other Entities no longer run OnFixedUpdate when Map is generating
Created EndFloorTrigger and prefab. Goes to next floor when all players are standing on it.
Add EndFloorTrigger to each boss room prefab
Going to next floor loads new scene and connected clients retake appropriate players
Fix re-connected player sometimes spawning with a 2nd gun
Spawn enemies/other prefabs once room generation is finished
Added Item Rooms and RoomType Enum
Created Boss Room Assets
GameManager.IsMapGenerating, Pause everything while generation occurs
Fix Map Generation Hanging sometimes
Added "Generating Map" UI
Update Sprite Tools
Fixed odd png issue
Update Sprite Tools
Update Sprite Tools (again)
Updated all Item Sprites to use the same origin
Improved InteractableUI
More InteractableUI cleanup
Created Item Prefab
Update Sprite Tools
Update All Sprites Again
Item Prefab assigns a random Item when Item is null
Fix TextureAtlas NRE when uninitialized
Fix more sprite component errors when no Sprite is set
Added popup to Create Sprites menu option allowing you to specify import settings for each sprite
https://files.facepunch.com/CarsonKompon/2024/July/18_19-26-TinyWrenchbird.mp4
Whoops creating sprite from menu didnt actually save the file
Update Sprite Tools
Created ItemResource
Expanded upon ItemResource
Update Sprite Tools
Added SS1 Item Sprites for now
Interactables now show info panel when standing on
Added some test items
Made ItemResource only take Sprite, Interactable Icon takes texture from Sprite
Update Sprite Tools
Fix error serializing SpriteComponent without a Sprite
Added Right Click Menu for creating 2D Sprite(s) from image files
https://files.facepunch.com/CarsonKompon/2024/July/18_18-16-TurbulentBongo.mp4
Fix Sprite Component gizmos erroring when no Sprite is set
Added Dash/Roll. Invulnerable while dashing
Added Dash Particles
Update Sprite Tools
Shorter Range on Uzi Weapon
Added Bullet Pop Effect to projectiles
Only run OnAnimationComplete if Game.IsPlaying
Changed SpriteComponent title to "2D Sprite Component" to prevent confusion with existing sprite components
Fix Sprite Objects being dragged in with an incorrect rotation
Added SpriteComponent.GetAttachmentTransform to get Transform of an attachment without having to create Attachment Objects
Added documentation to PlayAnimation function
Made Attach Points much more visible in the Sprite Editor
Hopefully prevent spontaneous crash when crating new Attach Points
Delete the test sprite
Fixed Z-indexing and camera height
Re-organized Room Prefab folder structure
Started on Interactable Entity
Pitch coin sound when picking up consecutively
Update player hitbox
Don't run Entity GameObjectSystem in editor 😅
Fix Map Generation + Prefab Spawner Networking
Fix connected clients not picking up coins/other pickups
Show other players on HUD
Fix Z-Layering for pickups and networked players
Sync Player Coins
Fixed most the collision issues
Move Entity Updates to GameObjectSystem. Big performance boost
Changed up some spawn rates
Replace all spawners with different prefabs using prefab variables (so i can change everything at once a lot easier)
Number Particles fade quicker
Added box spawners to each of the test rooms
Added Damage Numbers to entities
Added PrefabSpawner which randomly spawns a selected prefab in the box
Added random enemy spawns to each room
RoomExit components have a gizmo hitbox so they can be clicked on
Fix room colliders
Add Door Blocker
Make sure open ends are capped properly
Show preview tile above that layer so you can see what you're replacing
Fix Erase Tool not erasing correct layer
Cleaned up paint and erase tools. Supported painting tiles over one-another to replace them (on same layer)
Fixed Tiles not serializing or initializing properly in TileComponent
Fix GameObject not being created automatically. Fix erase tool.
Created RoomResource. Made Tools for generating RoomResources from prefabs.
Associate exit object with transform in resource. Updated all resources appropriately
Add IsStartingRoom to RoomResource
"Update Resource" -> "Save Resource"
Updated all the text rooms
Added Basic Map Generation.
https://files.facepunch.com/CarsonKompon/2024/July/18_00-14-TruthfulYosemitetoad.mp4
Added heal visual to entities (green fade)
Create RoomManager and RoomExit components. Make a handful of test rooms
Added HealPickup class and Medkit prefab
Clean up code folder structure
Cleanup Coin and Pickup classes
Added PrefabDrop class, Boxes have chance to drop Medkits
Fix player spawning with 0 health
Improved Nametag. Shows healthbar above head when less than 100
Updated Player Collider
Destructables no longer go through walls
Fix Shadows lerping in from a seemingly random position
Fix Coin from running certain code in editor
Fixed Coin Collisions (collision matrix w)
Fix Shadow Layering
Call MapInstance.OnCreateObject for all objects instead of just those that weren't supported. Allows users to add/remove behaviour to any loaded map object.
Added Destructable class and prefab. Drops coins for now but update to drop prefabs later
https://files.facepunch.com/CarsonKompon/2024/July/17_00-40-MindlessCormorant.mp4
Better coin spawning, added coin count to HUD
Prevent player x player collisions
Update Sprite Tools
Update SpriteTools (again)
Add Pixel Fonts
Basic HUD, also added Player Nametags
Display proper image on PlayerInfo, update BuildHash to include Health
Imported more CC0 artwork
Creates Sprite Resources for a bunch of pickups and other objects
Updated Sprite Tools
Added Coin Prefab, changes sprite based value.
Update Sprite Tools
Enemies drop coins on death
Never network shadows, each client should be handling them on their own
Added Height value to Entity. Give coins upward velocity when spawned, bouncing off the ground
https://files.facepunch.com/CarsonKompon/2024/July/16_23-46-NiftyDassierat.mp4
Added SFX to coins
Fix sprites not initializing since SceneObject didn't exist before setter was set
Minor SpriteComponent Optimizations. SpriteComponent also updates properly when Sprite is changed after being initially set.
Cache textures for TextureAtlas.GetTextureFromFrame
Make CurrentTexture public on SpriteComponent.