Commit Graph

547 Commits (bbf06c56553cbbd9f80d153c4ae0fa95cebbbf7e)
 

Author SHA1 Message Date
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 7851e05a12 Fix regression in one-tile collision 2024-09-30 21:37:48 +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 2ee1e38094 Remove unneeded code 2024-09-26 23:02:27 +08:00
En Yi 8bf1957e1e Fix incorrect velocity reflection on collision 2024-09-26 21:31:24 +08:00
En Yi 9854654d61 Slightly resize UI for spawning urchin 2024-09-26 20:46:58 +08:00
En Yi ce0ca96c67 Allow value snapping for urchin spawn velocity
Also, update the UI
2024-09-24 22:30:17 +08:00
En Yi b275caf795 Add spawning urchin in editor 2024-09-23 21:55:06 +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 c8059300ac Fix freecam bug on game restart
Changelog:
- Lock player if freecam is active
2024-08-27 16:02:55 +08:00
En Yi e00e1ff8d2 Remove player on finish level 2024-08-27 15:49:21 +08:00
En Yi d3ea551024 Tweak engine config to allow web build
Internal Changelog:
- Reduce particles number
- Use webGL2
2024-08-27 15:49:05 +08:00
En Yi ca5c653b9d Test integrate tracy into scenes 2024-08-24 21:44:23 +08:00
En Yi b2beaea248 Experiment with Tracy profiler 2024-08-24 19:14:53 +08:00
En Yi ef04e4ce42 Fix name mistake in README 2024-08-24 15:45:33 +08:00
En Yi bbe3a22cc5 Replace ringbuffer with sc_queue
It is more flexible and uses less heap.
2024-08-24 15:30:32 +08:00
En Yi cb9508a4b6 Update README 2024-08-24 14:43:52 +08:00
En Yi 10d48c1d70 Allow optional inits for scene
Particle system and entity management are now optional during scene
init.
2024-08-24 14:42:11 +08:00
En Yi 8645bbd963 Use heaptrack for memory profiling on main 2024-08-24 14:41:10 +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 fb0f16d984 Add addr sanitisation for main game 2024-08-24 00:26:17 +08:00
En Yi 24b407fec2 Free level select scene on exit 2024-08-24 00:26:05 +08:00
En Yi 03a4240c6d Simplify and unify level restarting
Changelog:
- Add function to clear all game entities
- This functions is called in both editor and main game
2024-08-24 00:25:33 +08:00
En Yi 2fe3faf08f Update exit rendering 2024-08-24 00:23:17 +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 f4167c6270 Add chest count in main game 2024-08-20 16:38:07 +08:00
En Yi bae17e8a87 Add level ending in main game 2024-08-20 14:52:26 +08:00
En Yi f208964e7f Fix rendering for finishing the level 2024-08-20 14:03:59 +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 bf655daf8d Add mempool macros to simplify definition 2024-08-19 20:29:49 +08:00
En Yi 056b50c431 Separate out component memory pools definition
Changelog:
- Refactor the EC header files to put struct in more sensible locations:
    - Sprite and Particle Emitter + Configs are now assets, as they
      should be
    - Components type are now unsigned int, thus it is not sensitive to
      any component enums
    - Components enums are now pure index store. There are two sets of
      components: Basic for engine use, Extended for game-specific ones
- Component memory pools are now defined on outside of engine. Majority
  of the components will be game-specific, so it should be on the game
  to define the components and the mempools for all of them.
2024-08-19 18:26:08 +08:00
En Yi d2af974b29 Experiment with extern component mempool
Internal Changelog:
- Split assets from engine so that rres_packer do not need to implement
  mempools
- The idea is that mempool is incomplete and requires implementation of
  the mempool in scenes.
    - Components are usually game-specific, so this is the first step to
      decouple it from the engine.
2024-08-19 17:33:05 +08:00
En Yi e4b5695a15 Allow level end to be deleted 2024-08-19 14:24:33 +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 f6f6d54ecf Put back the air meter
Render it on the game canvas layer
2024-08-17 20:37:20 +08:00
En Yi c20401c457 Rework free camera toggling behaviour for editor
Changelog:
- Reorder render layers
- Seperate out player related actions from others
- Add indication for free camera mode
2024-08-17 16:59:50 +08:00
En Yi acb1b7858c Add lookahead feature into main game 2024-08-17 14:59:17 +08:00
En Yi 90bbad09ae Add free-movement to camera in editor scene 2024-08-17 14:49:51 +08:00
En Yi 5d8385f9ff Refactor camera update system 2024-08-17 14:10:59 +08:00