Commit graph

54 commits

Author SHA1 Message Date
trans_soup
ca534d91f0 work more on level 6. 2023-10-27 21:12:21 +02:00
trans_soup
0fa9117aa4 start working on level 6. 2023-10-27 20:55:39 +02:00
trans_soup
57014262cd add "path" behaviour. 2023-10-27 20:55:27 +02:00
trans_soup
25f020dd78 fix error in enemy behaviour initialization. 2023-10-27 20:53:28 +02:00
trans_soup
094369460b remove unused export. 2023-10-27 20:46:37 +02:00
trans_soup
ca608a2b8c refactor level 4.
extract bounding wall generation into template.
2023-10-27 20:16:33 +02:00
trans_soup
cadacacfc4 fix oscillators in level 4.
fix oscillator creation in level 4 not using the right structure for
data passed to the function that creates oscillators.
2023-10-27 20:04:28 +02:00
trans_soup
01d20766b4 remove unused entity property id. 2023-10-27 20:02:38 +02:00
trans_soup
c9dbfe9c2b refactor entity metadata storage. 2023-10-27 20:02:13 +02:00
trans_soup
8ccff8a3bb complete level 5. 2023-10-27 16:26:21 +02:00
trans_soup
8878134d33 extract oscillator creation into shared function. 2023-10-27 15:43:18 +02:00
trans_soup
c437b07b03 allow for levels to change player & goal sizes. 2023-10-27 15:40:23 +02:00
trans_soup
d85bd962a0 finish level 4. 2023-10-27 15:36:33 +02:00
trans_soup
21845018d0 fix sine behaviour's offset calculation. 2023-10-27 15:01:03 +02:00
trans_soup
2ca7cb9ecb start working on level 4. 2023-10-27 14:35:20 +02:00
trans_soup
f416711f29 add optional offset to sine behaviours. 2023-10-27 14:28:05 +02:00
trans_soup
d672652473 add enemy behaviour "sine_y". 2023-10-27 14:11:18 +02:00
trans_soup
3a2cf99357 refactor enemy behaviour handling. 2023-10-27 14:10:51 +02:00
trans_soup
bcf7ecba0a implement progress saving & loading. 2023-10-27 13:57:10 +02:00
trans_soup
e67e4f82fa refactor level creation. 2023-10-27 13:42:35 +02:00
trans_soup
4bd9de007c level design.
modify level 2 and create level 3.
2023-10-27 13:37:57 +02:00
trans_soup
5725179847 make player speed framerate-independent.
express player speed in pixels per second instead of pixels per tick.
2023-10-27 13:20:27 +02:00
trans_soup
68f7084d5b allow levels to change player speed. 2023-10-27 13:17:30 +02:00
trans_soup
f14cdf8be4 add walls to level 1. 2023-10-27 13:13:46 +02:00
trans_soup
d39c226046 fix error in enemy loading code.
enemy loading no longer assumes that the enemy-describing data it
recieves has certain optional properties.
2023-10-27 13:12:10 +02:00
trans_soup
4de8228579 implement level winning and basic level progression. 2023-10-27 13:07:34 +02:00
trans_soup
5d8b44aec6 move player-enemy collision handling from player to enemy code. 2023-10-27 13:02:24 +02:00
trans_soup
ed942840eb make player and goal non-physical outside levels.
make player and goal have their `physical` attribute set to false when
the level gets unloaded.
2023-10-27 12:59:56 +02:00
trans_soup
915136e755 add physical attribute to entities.
entities with `physical` set to false will not collide with other
entities.
2023-10-27 12:58:10 +02:00
trans_soup
27e1f71600 minor refactor of entity creation. 2023-10-27 12:56:31 +02:00
trans_soup
884b276640 add (currently useless) goal entity. 2023-10-27 12:54:38 +02:00
trans_soup
c2a1acb335 tiny refactor of player code.
remove unused function.
2023-10-27 12:50:57 +02:00
trans_soup
434f1d9df8 little bit of refactoring. 2023-10-27 12:48:52 +02:00
trans_soup
b51b776137 rework level loading & restarting, and player death.
level loading is now based on events; the level loading code doesn't
know anything about how things are loaded, it just tells things to load.

player death is also now based on events; instead of directly restarting
the level, it simply sends out an event that the level handling code
listens for.
2023-10-27 12:35:04 +02:00
trans_soup
92fdab8fbd minor refactor of entity movement.
rewrite entity `move` function to be defined in terms of `get_pos` and
`set_pos`, so that it doesn't need to know how entity positions are
stored.
2023-10-26 22:01:44 +02:00
trans_soup
56fd6f7ba8 refactor entity tests. 2023-10-26 21:59:40 +02:00
trans_soup
4893d15739 tiny refactor. 2023-10-26 21:29:49 +02:00
trans_soup
d3be0a782e "fix" level resetting.
change it to something that's worse, but also more easy to identify as
bad in the future.
2023-10-26 21:28:14 +02:00
trans_soup
4f560c0c60 add onto the demo/test level. 2023-10-26 21:25:08 +02:00
trans_soup
98b59134a1 separate level data from level loading. 2023-10-26 21:20:27 +02:00
trans_soup
fe8616ff6f tiny refactor. 2023-10-26 21:10:19 +02:00
trans_soup
377026c360 read enemies of level as data.
instead of having a demo enemy hardcoded into the level code.
2023-10-26 21:09:30 +02:00
trans_soup
8867a60c94 implement basic loss condition and restarting.
the "level" will now restart (currently to a hardcoded state) when the
player touches an enemy.
2023-10-26 02:22:49 +02:00
trans_soup
351846f4ac implement collision detection for entities. 2023-10-25 21:45:18 +02:00
trans_soup
6c9199923e refactor enemy behaviour code. 2023-10-25 21:33:24 +02:00
trans_soup
3c8954ad4e implement basic enemy behaviour handling. 2023-10-25 21:04:53 +02:00
trans_soup
304dfc4eec create enemy prototype. 2023-10-25 20:10:32 +02:00
trans_soup
30df97d31b don't render invisible entities. 2023-10-25 20:10:12 +02:00
trans_soup
af3ec008c9 pass deltatime in seconds during ticks.
previously it was passed in milliseconds.
2023-10-25 20:08:29 +02:00
trans_soup
b367c4b3a3 add entity metadata. 2023-10-25 20:08:10 +02:00