Commit graph

98 commits

Author SHA1 Message Date
Juliana Sims
73ffad19f0 Implement orientation for logic gates
Note that orientation is called "direction" because it's named according to the
direction of electron flow.
2024-05-23 14:20:15 -04:00
David Thompson
4ec1666a1d Add end-game credits sequence. 2024-05-23 14:05:24 -04:00
Juliana Sims
91ba2fab66 Refactor logic gates to reduce code duplication 2024-05-23 13:19:20 -04:00
Juliana Sims
50b6c67db8 Add ^switched-emitter, test in level 4 2024-05-23 12:35:50 -04:00
David Thompson
aa8a302fcb Add simple wipe effect for undo. 2024-05-23 12:06:42 -04:00
David Thompson
98ae464ab9 Add script scheduler and pre/post visual effects system. 2024-05-23 11:44:24 -04:00
Christine Lemmer-Webber
67c25d93cb
Update level to have eye and moon 2024-05-23 10:14:59 -04:00
Christine Lemmer-Webber
b2d6d71b6a
Make new wall corners brickz 2024-05-23 10:14:52 -04:00
Christine Lemmer-Webber
02c331fa53
Slight tweak to star stuffs 2024-05-23 10:12:50 -04:00
Christine Lemmer-Webber
2273002d91
Use stars for background 2024-05-23 10:11:30 -04:00
Christine Lemmer-Webber
124de08764
Use the new corner tiles 2024-05-23 09:53:00 -04:00
David Thompson
2b6afada4d Add emitter sound effect. 2024-05-23 09:10:25 -04:00
David Thompson
d4065aa2bf Add gate and warp sound effects. 2024-05-23 07:48:53 -04:00
David Thompson
a24d737bc7 Allow any actor to push an event to the UI. 2024-05-22 22:00:48 -04:00
David Thompson
bcb235bd82 Allow the same sound effect to be played many times simultaneously. 2024-05-22 21:30:06 -04:00
David Thompson
e09efb46a0 Add media.ended binding. 2024-05-22 21:29:50 -04:00
David Thompson
111eb33429 Spawn ghost gems where gems used to be. 2024-05-22 18:34:29 -04:00
David Thompson
2dc354229d Draw player dead sprite. 2024-05-22 18:21:45 -04:00
David Thompson
9b88cb19c0 Add electron warp terminals. 2024-05-22 17:40:23 -04:00
Juliana Sims
311c4c2ed8 Ensure player cannot walk on electric switches 2024-05-22 15:07:20 -04:00
Juliana Sims
815c3c809a Render background and electron for logic gates 2024-05-22 14:43:40 -04:00
David Thompson
793a9ef027 Reduce size of exported maps. 2024-05-22 14:22:27 -04:00
David Thompson
f1afd9e177 Player always ticks first. 2024-05-22 13:36:32 -04:00
Juliana Sims
6b9edbca25 Add or gate, update level 4 to use all logic gates 2024-05-22 13:32:37 -04:00
Juliana Sims
a49808d70d Add xor and level 4 2024-05-22 12:08:23 -04:00
David Thompson
dc05a9cd05 Reindent some stuff. 2024-05-22 10:35:27 -04:00
David Thompson
71d62e596e Kill player when gate closes on them. 2024-05-22 09:29:44 -04:00
David Thompson
68b427e387 Remove some pks. 2024-05-22 08:01:14 -04:00
David Thompson
5756844161 Add basic AND gate and electric switch. 2024-05-22 08:00:39 -04:00
David Thompson
ff242fd1a5 Fix some slowness; clock emitters emit immediately. 2024-05-22 06:52:36 -04:00
David Thompson
984ea4df67 Reimplement wireworld update; add stubs for new object types. 2024-05-21 22:12:21 -04:00
David Thompson
4c12ccc559 Add physical gates and finish floor switches. 2024-05-21 17:28:57 -04:00
David Thompson
ba7b9ea9d8 Add gems and the start of floor switches. 2024-05-21 14:10:57 -04:00
David Thompson
9a36c8e004 Remove outdated comment. 2024-05-20 22:14:42 -04:00
David Thompson
3925e39737 Remove unused procedures. 2024-05-20 22:14:21 -04:00
David Thompson
816d9d149d Big actor refactor; use local storage for auto-save. 2024-05-20 22:12:35 -04:00
David Thompson
ce0c002e8b Add level progression. 2024-05-20 14:09:42 -04:00
David Thompson
111f4d37f1 Add support for more objects to map editor. 2024-05-20 12:31:56 -04:00
David Thompson
950361a9c4 Fix a tile on the map for symmetry reasons lol 2024-05-19 18:14:23 -04:00
David Thompson
f3ad31d244 Pack and parse wall data from map files. 2024-05-19 18:12:30 -04:00
David Thompson
3a3f4e31a1 Add start of tiled map compilation for levels. 2024-05-19 17:31:08 -04:00
David Thompson
e7e5413460 Add exit actor that doesn't really work yet. 2024-05-19 06:15:46 -04:00
David Thompson
a01fdd8983 Remove comment. 2024-05-18 19:08:28 -04:00
David Thompson
9b6ed8ba71 Add basic undo with Z key. 2024-05-18 18:51:45 -04:00
David Thompson
de7078ef85 Take the "wh" out of whactormaps.
WeakMaps are NOT ITERABLE in JavaScript for security/GC reasons!!!  I
don't know what to do about this long-term but for now I'm just going
to use a regular hashtable so I can keep making progress on the game!
2024-05-18 18:47:58 -04:00
David Thompson
a34a7e9b7a Add block pushing and wireworld simulation. 2024-05-18 14:04:35 -04:00
David Thompson
1b950264d1 Splat a bunch of modules from elsewhere. 2024-05-17 17:51:11 -04:00
David Thompson
2c824b40a9 First commit! 2024-05-17 13:08:43 -04:00