Commit Graph

166 Commits (2d20b0c08aee7a0342d5de9e712ffec1f31f6593)

Author SHA1 Message Date
En Yi 6b4723b963 Fix jump water penalty not applied correctly 2024-11-16 11:05:26 +08:00
En Yi 0556318ca0 Fix urchin destroying spikes again 2024-11-15 21:31:33 +08:00
En Yi 5b29ad4ba4 Update swimming hit- and hurtbox proper 2024-11-13 23:06:26 +08:00
En Yi 6b59064772 Adjust player acceleration in water 2024-11-13 22:36:05 +08:00
En Yi 9d5b54435b Increase water upthrust 2024-11-10 18:29:20 +08:00
En Yi 6509b33c5a Rework urchin collision with crates
Changelog:
- Fix error in urchin spawning in main game
- Reduce urchin's collision box
- Adjust crate destruction:
    - Delay with arrows and bombs, instant with anything else
2024-11-09 23:40:54 +08:00
En Yi abdf246382 Adjust explosion hitbox 2024-11-09 12:56:51 +08:00
En Yi db8849a7de Add urchin particles and update menus 2024-10-05 20:22:16 +08:00
En Yi 1382cf1370 Deal with urchin's particle effects 2024-10-05 19:18:42 +08:00
En Yi 8efa3015ad Update urchin hitbox and bbox
This is so that wooden can be destroyed by urchin. Urchin can still be
crushed by a wooden crate though.
2024-09-30 22:47:27 +08:00
En Yi 3520715655 Allow urchin to be crushed
LIMITATION
- Urchin can be crushed by wooden crates.
2024-09-29 17:58:07 +08:00
En Yi d3db15a018 Add urchin sprite and fix its spike collision 2024-09-27 23:15:38 +08:00
En Yi 8bf1957e1e Fix incorrect velocity reflection on collision 2024-09-26 21:31:24 +08:00
En Yi 8a731637f7 Merge branch 'main' into profiling 2024-09-08 23:06:26 +08:00
En Yi 4abe996640 Add urchin enemy
Changelog:
- Ctransform component now has a bounce coeffcient which determines
  velocity reflection on contact.
2024-09-08 23:05:12 +08:00
En Yi f6847f1ffd Merge branch 'main' into profiling 2024-09-02 22:45:47 +08:00
En Yi 066ea5e080 Accumulate collided side before check 2024-09-02 22:45:16 +08:00
En Yi 3041f5df54 Merge branch 'remove_edge_check' into profiling 2024-09-02 22:02:37 +08:00
En Yi 41585f6938 Simplify edge velocity check
Internal Changelog:
- Use tile collision to determine which side has collided and perform
  the velocity zeroing, instead of separating out.
2024-09-02 21:58:11 +08:00
En Yi ca5c653b9d Test integrate tracy into scenes 2024-08-24 21:44:23 +08:00
En Yi add592afd2 Refactor out entity removal function
This allows a singular entity removal method for the game
2024-08-24 12:43:49 +08:00
En Yi 16714159bb Tweak air point check depending on player stance 2024-08-21 16:28:41 +08:00
En Yi 9f496b4bee Tweak player's swimming hitbox and hurtbox 2024-08-21 16:26:16 +08:00
En Yi 34041a68bb Fix particle emitter not unloading on player death 2024-08-21 16:25:30 +08:00
En Yi 89176142b6 Readjust arrows and bombs spawning
Changelog:
- Make use of anchor point function
- Readjust offsets and anchor points of sprites
- Readjust hitboxes offset and sizes
2024-08-21 12:52:19 +08:00
En Yi d45937da6a Recenter player on ladders 2024-08-21 10:35:23 +08:00
En Yi 2be80ea6bf Add sprites for player finishing the stage
Also add cave exit sprite

They are all placeholder for now.
2024-08-20 14:03:41 +08:00
En Yi e37e89505a Experiment with timer-based transition 2024-08-19 14:24:22 +08:00
En Yi 019f39f84c Implement basic level state management
Internal Changelog:
- Remove spawn position for entity
    - Not used. If spawning is needed, use a spawning entity
- Put in state machine callback function
    - Player spawning system is part of callback function
    - Remove player spawning system
- Incorporate state transition in systems
2024-08-19 11:55:48 +08:00
En Yi 5d8385f9ff Refactor camera update system 2024-08-17 14:10:59 +08:00
En Yi 9fdb8296ff Add key to toggle player movement
This key will be used for looking ahead
2024-08-17 13:58:06 +08:00
En Yi e762f62f40 Decouple player dead and respawn system 2024-08-15 11:55:22 +08:00
En Yi c3924c862b Adjust player swimming behaviour
Internal Changelog:
- Slightly increase upthrust
- Slightly reduce air time
2024-08-13 18:17:33 +08:00
En Yi 9f6c37c1fd Fix bubbling particles issue out-of-water 2024-08-11 15:50:11 +08:00
En Yi 657110a66d Implement sprite rendering anchor 2024-08-05 21:50:01 +08:00
En Yi 394825173d Fix inequality check for one way tile
Refactor the check as well
2024-05-14 23:22:03 +08:00
En Yi ededdb488b Fix off-by-one error in one-way tile check 2024-05-13 21:51:52 +08:00
En Yi 41e4b34869 Allow changing sound pitch 2024-05-01 17:08:29 +08:00
En Yi 1094e13c0a Fix some emitter positioning 2024-05-01 12:38:53 +08:00
En Yi 42c4572066 Rework sprite render system
Internal Changelog:
- Add more fields
    - Elapsed is now in sprite component
    - Add rotation fields
- Tweak early exit checks in render functions
2024-05-01 11:55:34 +08:00
En Yi 6bcccf7412 Fix regression in water air timer 2024-04-24 21:30:34 +08:00
En Yi c76ceba9bf Add delta time into particle system updates
Only update the callbacks to use it
2024-04-24 21:06:57 +08:00
En Yi 0a3f56f730 Fix out-of-bound access in water check function 2024-04-24 20:58:54 +08:00
En Yi 0a6e7b4ddc Add delta time handling
Internal Changelog:
- Major change: all engine that does counting uses delta time instead of
  frame counting
- Animation runs at 24 FPS
- Water fill is at a constant rate as well
- Particle update will need to be given delta time as well.
- Particle system is not updated to use float, so no delta time handling
  for the system in this commit
2024-04-23 22:44:52 +08:00
En Yi 6f3f391d8a Rework the offset collision checking
Change the function to check for collision at the specified point.
This is much straightforward to use.
The offset point to check must be computed before passing into the
function.
2024-04-22 22:42:32 +08:00
En Yi fec9ac268d Adjust simple collision function signatures
Remove redundant position argument for the straightforward collision
functions, as the entity would have it alread.

The collision offset check function is not as trivial and requires
some review
2024-04-22 22:31:58 +08:00
En Yi a2c061c5e8 Place position field into Entity
Position is so commonly used that placing it into Entity from the
CTransform components reduces the reference to CTransform.

Void Particle proved that it made development much easier.
2024-04-22 22:15:21 +08:00
En Yi 402d6f658e Attempt to tune up boulder sliding behaviour 2023-11-24 21:45:48 +08:00
En Yi bdbf936c7c Make boulder slide into wooden platform
Internal Changelog:
- Remove speed requirment for platform destruction
- Platform check is now 1 px lower
- Allow sliding if platform is on the lower tile on the sides
2023-11-24 21:24:11 +08:00
En Yi f3d48281f5 Adjust bubbles draw position 2023-11-23 20:53:04 +08:00