Commit Graph

55 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 ccd06091d7 add readme. 2023-10-27 14:42:18 +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