|
|
2c643a1500
|
change speed that projectile moves at (should be faster than player)
|
2025-01-13 12:46:10 +00:00 |
|
|
|
2a940a9392
|
done with patroll function, successfully making enemy switch directions while patrolling
|
2025-01-13 12:40:23 +00:00 |
|
|
|
ee5f3c628d
|
progress towards having enemy patrol area when on wall/platform
|
2025-01-13 11:28:49 +00:00 |
|
|
|
690bfe75da
|
make plan for writing how enemy should patrol on wall/platform
|
2025-01-13 11:02:34 +00:00 |
|
|
|
50238b8dac
|
done getting physics + environment to work on enemy as well, in addition to player
|
2025-01-13 09:52:25 +00:00 |
|
|
|
4484eb0ef0
|
functorise environment collision patches
|
2025-01-13 09:42:32 +00:00 |
|
|
|
7290d9865d
|
have enemy physics working and applied to enemy
|
2025-01-12 23:58:21 +00:00 |
|
|
|
ce7520ce81
|
derive EnemyPhysics module from functor
|
2025-01-12 23:33:20 +00:00 |
|
|
|
27fbe1c12e
|
create enemy patch structure
|
2025-01-12 23:28:03 +00:00 |
|
|
|
ca6b0b2160
|
done refactoring player-specific logic, and also enemy-specific logic, from player-enemy.sml (which now just calls different functions from the player.sml and enemy.sml modules, to help player-enemy.sml maintain a high level overview)
|
2025-01-12 22:14:36 +00:00 |
|
|
|
3dddd096f7
|
a bit of additional refactoring
|
2025-01-12 22:10:58 +00:00 |
|
|
|
8052ad53f7
|
a bit of refactoring and clearer naming
|
2025-01-12 21:59:33 +00:00 |
|
|
|
442c489af7
|
remove unused 'enemyTree' value returned from player-enemy.sml function
|
2025-01-12 19:31:29 +00:00 |
|
|
|
8906d244eb
|
extract player patch types and functions to its own module
|
2025-01-12 19:25:05 +00:00 |
|
|
|
e280274ed0
|
add xAxis and yAxis fields to enemy type
|
2025-01-12 13:07:32 +00:00 |
|
|
|
c4989711df
|
refactor constants out of enemy.sml
|
2025-01-12 12:53:41 +00:00 |
|
|
|
9280a12911
|
functorise physics for player
|
2025-01-12 12:36:26 +00:00 |
|
|
|
ec44dd9966
|
refactor constants out from player.sml
|
2025-01-12 11:46:32 +00:00 |
|
|
|
a7c2e2ef01
|
progress moving constant values into own module
|
2025-01-12 07:18:44 +00:00 |
|
|
|
49282887e3
|
remove enemyTree (quad tree holding enemies) from game type as this is not static geometry and, since enemies are moving every frame, this should also be regenerated on every frame
|
2025-01-11 22:06:08 +00:00 |
|
|
|
8498eacde2
|
a little bit of refactoring
|
2025-01-11 21:58:34 +00:00 |
|
|
|
75e28b892e
|
done getting player's projectiles to collide with enemies successfully, and tested (although the code of the enemy reacting to the player is not the best)
|
2025-01-11 21:35:55 +00:00 |
|
|
|
0367b3a23c
|
progress detecting collision between enemy and player's projectile, and decrementing enemy's health once detected
|
2025-01-11 13:45:29 +00:00 |
|
|
|
df0926195d
|
decide on a different structure/module for each collision
|
2025-01-10 10:12:59 +00:00 |
|
|
|
f9f56e3b38
|
make sure projectiles are shot from the same x/y coordinates they are spinning at from the player
|
2025-01-09 15:00:56 +00:00 |
|
|
|
06bc691c7f
|
done drawing player projectiles
|
2025-01-09 12:11:41 +00:00 |
|
|
|
2433797caf
|
progress drawing projectiles
|
2025-01-09 11:52:39 +00:00 |
|
|
|
011fadb9f1
|
move projectiles in every frame
|
2025-01-09 11:08:15 +00:00 |
|
|
|
941d90b6be
|
ensure that we do not draw field over player when player is throwing
|
2025-01-09 10:38:34 +00:00 |
|
|
|
a2dc00704c
|
add 'facing' field to player projectiles, so it is known which direction projectile should travel in
|
2025-01-08 20:26:53 +00:00 |
|
|
|
bd946bf635
|
require attack button to be pressed twice in order to trigger throwing of defeated enemies
|
2025-01-08 13:18:35 +00:00 |
|
|
|
f7ee3e9e29
|
when attack is pressed and more than one enemy has been defeated, place defeated enemies into projectiles vector, and make the vector of defeated enemies an empty vector
|
2025-01-08 12:49:29 +00:00 |
|
|
|
29de4ea4b6
|
progress shooting off enemies as projectiles
|
2025-01-07 13:31:17 +00:00 |
|
|
|
c080398dd5
|
multiply defeatedSize by ratio to ensure that pellets change size along with other objects when window is resized
|
2025-01-07 13:03:17 +00:00 |
|
|
|
f54fa1bf02
|
move projectile type into player type
|
2025-01-07 12:57:15 +00:00 |
|
|
|
8d81a4f354
|
remove player projectile tree from game type
|
2025-01-07 11:23:22 +00:00 |
|
|
|
60c93f54cc
|
add player projectiles to game type
|
2025-01-07 11:05:53 +00:00 |
|
|
|
61bb214150
|
change size and distance of pellets (defeatedSize and defeatedDistance bindings)
|
2025-01-06 11:26:20 +00:00 |
|
|
|
097d1502ad
|
have pellets fly around player when player has attacked enemy
|
2025-01-01 14:17:42 +00:00 |
|
|
|
8e75d09fc1
|
add defeated enemies to player record
|
2025-01-01 09:53:30 +00:00 |
|
|
|
f7f9b1e29b
|
turne 'defated_enemies' type into '{angle: int}' record, because it is probably visually cleaner to have defeated enemies turn into small pellets
|
2025-01-01 09:38:04 +00:00 |
|
|
|
2eb2de8910
|
change alpha opacity of attack depending on current charge
|
2024-12-31 10:08:18 +00:00 |
|
|
|
f199da790d
|
add ability to charge for attack
|
2024-12-31 10:04:40 +00:00 |
|
|
|
eacc68e80e
|
add charge field to player
|
2024-12-28 08:41:10 +00:00 |
|
|
|
7d09661e98
|
use different collision size when player is attacking
|
2024-12-28 04:11:29 +00:00 |
|
|
|
5f437ae76d
|
draw basic field over player when player is attacking
|
2024-12-28 04:06:27 +00:00 |
|
|
|
fccbb15f15
|
add shader strings which will allow us to make an xyrgba shader in OpenGL
|
2024-12-27 20:48:36 +00:00 |
|
|
|
8804847d7a
|
use binary search to find enemy with ID in 'GameUpdate.checkEnemies' function, because we previously relied on the enemy's index
|
2024-12-27 18:26:57 +00:00 |
|
|
|
ada63d54ce
|
progress on player-enemy collisions when player is attacking enemy
|
2024-12-27 18:12:42 +00:00 |
|
|
|
01bc91e201
|
return (player, enemies vector) tuple from function to check player-enemy collisions, because we will later want to update both player and enemy in the event that both collide
|
2024-12-27 17:32:42 +00:00 |
|