En Yi
613d5642cc
Add parsing for urchins
2024-11-09 16:15:59 +08:00
En Yi
ab2928fab9
Update level data packing
2024-11-09 15:02:51 +08:00
En Yi
188c2e30a5
Add tileset info in level pack
2024-11-09 13:30:32 +08:00
En Yi
abdf246382
Adjust explosion hitbox
2024-11-09 12:56:51 +08:00
En Yi
c33f6f0df0
Adjust jump speed
2024-11-09 12:56:40 +08:00
En Yi
214025bc81
Adjust title image
2024-11-03 16:41:10 +08:00
En Yi
1f8c2b2151
Add dark top bar in game
2024-10-12 23:11:55 +08:00
En Yi
f5fa46aeeb
Settle the window size and UIs
2024-10-12 13:35:42 +08:00
En Yi
b36592311a
Add water splash to urchins
2024-10-05 20:32:11 +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
e52c9445c9
Fix crash when player finish a level
...
This happens because the player exit entity is removed without checking
with the tilemap, causing it to linger
2024-10-05 19:07:55 +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
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
ca5c653b9d
Test integrate tracy into scenes
2024-08-24 21:44:23 +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
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
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
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
9410075207
Add placeholder images
2024-08-15 11:08:39 +08:00
En Yi
c1207ec5b4
Properly reset a level scene
2024-08-15 11:08:20 +08:00
En Yi
13d8aafec3
Increase engine limits
2024-08-15 11:00:16 +08:00
En Yi
259fa114ca
Fix water filling rate
2024-08-13 18:17:52 +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
979533092e
Update main game render
2024-08-13 15:34:31 +08:00
En Yi
639aed69db
Reposition level select UI
2024-08-13 15:33:38 +08:00
En Yi
0e9ba5795c
Center menu screen
2024-08-13 15:33:18 +08:00
En Yi
65b04523ce
Update game rendering
...
Internal Changelog:
- Port editor scene rendering improvements
- Make game scene ~640x480 for testing
2024-08-12 16:06:36 +08:00
En Yi
9f6c37c1fd
Fix bubbling particles issue out-of-water
2024-08-11 15:50:11 +08:00
En Yi
5d1784dad8
Attempt to fix BG scrolling
2024-08-10 17:45:09 +08:00
En Yi
2c908ffd46
Update rendering for editor scene
...
Internal Changelog:
- Add background
- Update grid and bbox drawing
2024-08-10 17:21:10 +08:00
En Yi
f20daa9cce
Update main game sprite rendering
2024-08-06 21:43:40 +08:00
En Yi
4a54bfe84f
Incorporate anchor point in player sprite info
...
Changelog:
- src anchorpoint is also an enum. The offset needs to be computed
dynamically due to flip_x
- Re-add back the offset field.
- Add symbol parsing for anchor point.
2024-08-06 21:36:17 +08:00
En Yi
1215746e05
Add x-flipping for anchoring
2024-08-06 20:36:23 +08:00
En Yi
657110a66d
Implement sprite rendering anchor
2024-08-05 21:50:01 +08:00
En Yi
2dbc1f19ab
Add additional sprites for swimming
2024-08-03 17:50:08 +08:00
En Yi
8207558be7
Add title to level select scene
2024-07-08 21:08:55 +08:00
En Yi
9b6c364269
Add mouse support for scroll area
...
Internal Changelog:
- Refactor scroll area refocus function
- This only triggers when selection is made
- Add mouse function process in test scene
- Add action for mouse selection
2024-07-08 19:16:10 +08:00
En Yi
eff3d090df
Add proper level selection actions
...
Internal Changelog:
- Scroll area will auto scroll to make selection completely visible
2024-07-08 18:42:29 +08:00
En Yi
41f3656ba1
Integrate Level Selection scene transition
...
Internal Changelog:
- Changing scene now return the scene to change into
- Set the level pack and selected level
2024-07-08 18:18:48 +08:00
En Yi
98b957a8ff
Encapsulate scroll area as UI component
2024-07-08 18:02:56 +08:00
En Yi
6dd185b6cd
Integrate scroll bar to level select
2024-07-08 12:40:27 +08:00
En Yi
33de816841
Replace hardcoded scene values to enum
2024-07-07 16:48:55 +08:00
En Yi
0c461d3167
Integrate level select screen to main
...
Not complete tho
2024-07-07 15:45:17 +08:00
En Yi
893fc1c73f
Add level select scene
...
Just a render texture with simple scroll
2024-07-02 21:54:54 +08:00
En Yi
b158bee1e8
Remove unused ActionResult
...
There is only one focused scene at a time as part of the design
limitation. Thus, it is no longer needed
2024-07-01 20:48:48 +08:00
En Yi
c5a30bee6d
Use scene idx instead of pointer
2024-06-29 13:26:48 +08:00
En Yi
0653cbd0a2
Continue plan data struct for scene management
2024-06-20 21:41:14 +08:00
En Yi
5a0c02b81a
Fix out-of-bound tile check due to uint
2024-05-14 23:22:26 +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
8765500606
Add button to toggle solid tilemap
2024-05-11 15:53:39 +08:00
En Yi
7b4af0b513
Add tilemap rendering from sprite
...
Internal Changelog:
- Add a mapping from connectivity to tile to render
- Add new field for static tilemap sprite
2024-05-09 21:07:15 +08:00
En Yi
d7113d42fe
Add neighbour solid counts
...
This is preparing for the tile sprites rework
2024-05-06 22:04:53 +08:00
En Yi
501a599336
Allow multi-rows sprites framing
...
Internal Changelog:
- Add a new field to store frames per row for a sprite
- Update sprite drawing function to bound check
- Update assets loader to look for the new field
- Refactor adding a sprite function to reduce repetition
- Update all main programs
2024-05-06 21:18:03 +08:00
En Yi
0f09a7b2bd
Remove obsolete render function field
2024-05-04 20:40:15 +08:00
En Yi
251360ca3e
Fix instructions not rendering correctly
2024-05-04 19:29:43 +08:00
En Yi
21e37a328e
Update editor rendering to use texture dimensions
2024-05-04 19:25:47 +08:00
En Yi
bef2ee2813
Expose initial window size to scene
...
This is so that each scene does not need to hardcode render layer size
2024-05-04 18:28:53 +08:00
En Yi
75d019aa34
Rework rendering to allow multi-layer render
...
Internal Changelog:
- A scene now has a maximum amount of render texture. It is to be
rendered in order of the array by the engine.
- A scene now needs an explicit render system to draw onto the render
textures. The scene will also init the number of render layers
needed.
- The change is to allow more separate of concerns when it comes to
rendering. A scene can also now compartmentalise the rendered items,
which hopefully make understanding the code easier.
- Update all exisiting code to use the new render system.
2024-05-04 17:57:07 +08:00
En Yi
0d4089d9ce
Tweak scene render function
...
Delegate BeginDrawing and EndDrawing to individual scenes
2024-05-01 19:56:10 +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
2bda67e917
Make player box a little smaller
2024-05-01 11:56:07 +08:00