1,016 Commits over 183 Days - 0.23cph!
Fix typos
Rocks properly detect when they have come to a complete stop
Make BroadcastHit an Authority call
Apply friction to rocks once they've hit the ground
Added "Place Bugs For Me" button
Basic Hint System. Give hints for the different revealed cell colours.
Finished Shop and it's functionality. Can purchase new weapons from the shop with earned coins.
Remove more debug logs
Bugs only drop coins on death, not on deletion
Player Coins
Add to coin count on bug death
Fix segment order on InspectorPanel
Don't consume pebble HitCount when hitting an already hit cell
Added Cost to WeaponResource
More coin drop fixes
Created ShopPanel and button to open Shop
AttackingInput does nothing when in Shop
Added Weak Rock Weapon
Remove CPU debug log
Mantis -> Dragonfly
Update Thumbnails & Thumbnail Generation
CPU fires more accurately at revealed bugs
Started support for CPU Board/Opponent
CPU Boards save their bug references properly
CPU Opponents now attack on their turn, chosing a random weapon when attacking.
Fixed lingering highlight component when hovering multiple bugs quickly
Create Coin Prefab and Component
Spawn Coins on Bug Death
Remove some unneeded debug logs
Position bugs on their cell properly
Bees float on sin wave with offset based on cell position
Remove unnecessary collisions from game_environment prefab
Model references in BugResource
Thumbnail generation Editor Tool for BugList UI
PlacingHud now shows bug thumbnails instead of coloured icons
Draw thumbnail icons on BugList, drawing correct segment type
Display thumbnail icons in inspector panel
Don't tint the bugs to their colour anymore.
Reposition body in prefabs, give each proper colliders
Determines head/body/corner/tail pieces and the needed rotational offset
Added BugListSegment to BugListEntry
Hovering a BugListSegment highlights the segment on the board if visible (and shows its inspector)
Assign categories to Bug GameResource
Rename Bug -> BugResource
Rename Weapon -> WeaponResource
BugResource now has definitions for different body part prefabs.
PlacingInput now determines which prefab to use on each cell when placing.
Fixed issues with calculating segment rotation on creation.
Fix "Value cannot be null." when ControlWidget cannot be created for property
Disabled the environment camera object
PlacingHud orders by segment count
Rock spawning bug fixes
Store relevant references/information of initial bug setup per-player
Basic BugList UI that shows remaining segments for both players.
Fixed "Hidden" banner styling. Resolves Facepunch/sbox-issues#5746
Fix NRE in UpdateMaterialOffset
DockManager only looks for types with DockAttribute.
Fixes "Inspector" dock not being created if you had another class named "Inspector", ect.
Prevents errors when loading a project that either doesn't have a startup scene set or has their startup scene deleted
Gave a few SpriteComponent properties "Visuals" Category. Removed FlashAmount in favour of FlashTint.
Fixed Opacity not working on Tint Property
Added SpriteFlags, starting with Horizontal Flip and Vertical Flip.
https://files.facepunch.com/CarsonKompon/2024/June/28_21-54-ShockingYearling.mp4
SpriteComponent doesn't draw backface by default. Added Draw Backface SpriteFlag.
https://files.facepunch.com/CarsonKompon/2024/June/28_22-54-InconsequentialBantamrooster.mp4
TextureAtlas.FromSprites orders list by name so order doesnt matter
TextureAtlas.FromSpritesheet re-orders list so order doesn't matter
Change asset.party org
Merge branch 'main' into spritesheet-importer
Add FlashColor and FlashAmount to SpriteComponent
Fixed sprite editor rendering the sprite with flash on
Implement IsLooping on SpriteComponent
BroadcastEvents pass the SpriteComponent as argument
Added OnAnimationComplete action to SpriteComponent
Update README.md
Merge branch 'main' into spritesheet-importer
Console no longer errors when clicking on objects that can't be serialized. Resolves Facepunch/sbox-issues#5737
Disable the game_environment camera
Started HintPanel and added it to game Scene
Lower board pieces a little bit
Cells are created with random rotation
Fix InspectorPanel spacing/height
Change all "dev" resources to their new names with adjusted values
Copied the dev_scene content into the game Scene.
InspectorPanel highlights the current segment in segment list
Update Flat Top description to be more accurate
Add soundscape to game scene
Start with 3 Pebble Smashes instead of 2
Created Prefab and GameResource for Flat Top Weapon
Add HitCount so some rocks can hit multiple bugs/cells
Changed Pebble Splash amount from 4-6 -> 5-6
Start with 2 flat tops instead of 3
Created InspectInput, active during Playing state. Highlights visible segments on hover
Created InspectorPanel. Highlighting a visible bug shows info in a floating panel.
Store segment index. Display missing segments on InspectorPanel
Fix MainHudPanel BuildHash
Healthbar colour changes based on amount
Removing a bug after readying will unready
Cells mark as orange when hit and occupied. Green once empty.
Fling rock SFX
Clear all bugs SFX
Only clear cells in Playing State
Outdoor ambience
Player join SFX
Rock break SFX
Reticle Click/Cancel SFX
Reticle Aiming SFX
Add bug splat particle on death
Set some prefabs to Never Network in snapshot
Damage Number Prefab + Component
SelectedWeapon, defaults to weapon with unlimited shots
Started Pebble Splash weapon. Can change selected weapon from hud now.
Deplete from weapon inventory on use. Can't select weapon with 0 left
Finished PebbleSplash Weapon. Each weapon has its own thrown prefab.
Remove a bunch of debug logs
Update some timings. Segments also linger for a sec before dying if they die in 1 hit
Pebbles no longer destroy each other on collision
Can't ready up until you've placed all bugs
Added StartingHealth to Bug Resource
Segment Healthbars. Fades in after taking damage
Added WeaponHud, only displays when your turn in Playing State
Created Weapon GameResource and starting Rock weapon
Added Icon to Weapon resource
Player WeaponInventory, WeaponHud now has WeaponButtons for each weapon in inv
Segments share a unique ID when from the same bug.
Highlighting occupied cell highlights all of the bug's segments
Right Click to pick up bug in placing phase
Removing bug marks cell(s) as unoccupied
More networking fixes
Create boards in dev_scene
PlacingHud more visually readable and makes more sense
Custom Voice Component that ignores spectators
Bugs become semi-transparent on game start
Added colliders to bug segments
Added Bug Health and Pebble Damage. Segments reveal when damaged
GameHud pulls players from active Boards so we can support spectators
Basic Spectator Support with no UI
Don't allow spectators to select cells
Hit cells highlight red
Cell States are networked properly. Fixed some underlying issues
Show GameHub in Placing *and* Playing states.
Reposition PlacingHud since GameHud draws at the same time now
Added ControlsPanel w InputGlyphs that contextually shows controls
Update GameHud BuildHash
Reset AttackingInput state when disabled
Thrown Pebbles networked properly
Fix camera weirdly looking at last shot position
Fixed ControlsPanel BuildHash
Added Pebble Prefab. Pebble is thrown w/ physics on Fire.
Fix pebble collisions
Camera Follows pebble after thrown
Pebbles destroy on hit or after timer. Break particle on destroy.
Swap to the other players turn after tossing pebble
Added AttackingInput. Enables when your turn in Playing state. Creates reticle at mouse position
Began ReticleState. Can no longer target your own board when attacking.
Added Reticle Aiming with timed X/Y sin movement
BroadcastFire Authority call for finalizing attack
Fix checkerboard pattern since I changed some other stuff 😅
Focus camera on the opponents board when your turn
GameHud Header changes text based on state
2nd player banner now properly shows opponent info
Rename GameInput -> PlacementInput. Disable the Component when not needed.
Networked BugSegments now position themselves properly
Don't create more boards if more than 1 player joins the lobby.
Opponents bugs are hidden when created
Added Local Player to Player Hud
Finished basic header UI for GameHud
Remove plane from Board Prefab
Include UI assets in resource files
Fix checkerboard pattern for networked opponents.
Created a few UI sounds
Implement sounds for selecting, deselecting and placing
Resetting Bugs resets the state of Board Cells
Added Reset Bugs and Ready/Un-Ready Buttons to PlacingHud
Game starts when both players are Ready
Pick starting player on game start. Focus camera on the active player
GameInput ignores Cells that aren't owned locally
Added GameHud panel for Playing State
Move starting amount to Bug Resource. BugInventory is now a Dictionary
Allow selection in Placing State
Created Bugs are now Networked.
Don't allow player to start a selection on an existing segment
Adjust bug colours to not be confused with selection/occupied colours.
Added ResultsHud. GameHud -> MainHudPanel.
Added Drawn debug to board gizmo
Created PlacingHud and WaitingHud. Created Waiting for Opponent State.
Default CanSelect to false in GameInput
Update org
Wait for a second player before entering Placing State. End the game if player leaves for whatever reason.