Eevee (Evelyn Woods)
40aa845e92
Add sound effects!
2020-09-25 01:28:31 -06:00
Eevee (Evelyn Woods)
6aee8ed622
Overhaul the UI to be more good pretty; add CCLP2+4
2020-09-24 20:28:16 -06:00
Eevee (Evelyn Woods)
c231e7fc53
Add the Lexy tileset and make it the default, finally!
2020-09-24 19:20:29 -06:00
Eevee (Evelyn Woods)
19fd4273f1
Add three more songs; make music track deterministic
2020-09-24 17:23:31 -06:00
Eevee (Evelyn Woods)
f583fe3b10
Rewind at 2× speed
2020-09-23 21:43:24 -06:00
Eevee (Evelyn Woods)
a631b0f0e2
Fix demo playback (faucet was being created too early and immediately destroyed)
2020-09-23 21:42:05 -06:00
Eevee (Evelyn Woods)
b7ceafc5a1
Add a first pass at a soundtrack, with 5 tracks wow!
2020-09-21 02:08:03 -06:00
Eevee (Evelyn Woods)
0535cbc0bf
Stub out drawing connections in the editor
2020-09-20 21:17:18 -06:00
Eevee (Evelyn Woods)
8ac70f8ee6
Add some more obits and remove "player" from them
2020-09-20 21:17:01 -06:00
Eevee (Evelyn Woods)
ddfa7f562a
Extend the CC2 tile definition with some custom stuff
2020-09-19 23:32:13 -06:00
Eevee (Evelyn Woods)
32be0d0d71
Overhaul inventory: taking items is now undoable; inventory UI is correct, shows key counts
2020-09-19 22:43:04 -06:00
Eevee (Evelyn Woods)
bc08ec4ceb
Lazy-initialize the editor (to keep the TW tileset working in the player)
2020-09-16 23:34:52 -06:00
Eevee (Evelyn Woods)
ede7dbf424
Take inventory into account when auto-scaling the game
2020-09-16 19:46:39 -06:00
Eevee (Evelyn Woods)
063d9f9ef9
Implement rewind, add a key for it, and suggest keys in general
2020-09-16 19:40:38 -06:00
Eevee (Evelyn Woods)
57810da581
Add obituaries, and get them out of the game itself
2020-09-16 19:21:32 -06:00
Eevee (Evelyn Woods)
fe12c599bc
Abort the tic and draw a final frame after the game ends; fix dead player appearance
2020-09-16 18:14:06 -06:00
Eevee (Evelyn Woods)
e70e92b931
Move responsibility for drawing out of Tileset and into the renderer
2020-09-16 14:10:10 -06:00
Eevee (Evelyn Woods)
1dd617bbd0
Fix the editor's cell sort direction
2020-09-16 01:18:14 -06:00
Eevee (Evelyn Woods)
39a7985c1e
Add support for map compression; use URL-safe base64
2020-09-16 01:08:08 -06:00
Eevee (Evelyn Woods)
a7f00d6ec4
Get level encoding and URL sharing just barely working!
2020-09-16 00:11:52 -06:00
Eevee (Evelyn Woods)
cce28c2d7e
Rearrange C2M tile definitions to make saving easier
...
Also, tile templates no longer use name or carry format-specific
modifiers; they have the same properties as real tiles.
2020-09-15 22:45:15 -06:00
Eevee (Evelyn Woods)
325960b609
Allow only players, ice blocks, directional blocks, and rovers to reveal walls
2020-09-15 00:32:24 -06:00
Eevee (Evelyn Woods)
6d26362cb0
Remove the hesitation check from sliding teeth
2020-09-14 22:30:12 -06:00
Eevee (Evelyn Woods)
48e03f3225
Restore the splash when pushing a block into water; fix splash/explosion in TW tileset
2020-09-14 21:52:27 -06:00
Eevee (Evelyn Woods)
67228d89d1
Fix bumping to only happen on departure; add a CC2 input tiebreaker
2020-09-14 21:45:27 -06:00
Eevee (Evelyn Woods)
d3dfcba63b
Don't remove the player when stepping on a bomb; it breaks things
2020-09-12 20:45:34 -06:00
Eevee (Evelyn Woods)
5d39e37ad2
Implement CC2 input handling, bumping, and block slapping
2020-09-12 20:07:26 -06:00
Eevee (Evelyn Woods)
ee333ddb7d
Always update the previous cell when drawing force floors
2020-09-11 17:42:46 -06:00
Andrew Ekstedt
f0f2259aa1
Improve support for High DPI displays
...
On high DPI displays, a logical pixel does not necessarily equal a
device pixel. Images and such are scaled up to the logical pixel size;
unfortunately this introduces ugly aliasing. Web pages can take
advantage of high DPI screens by intentionally scaling stuff down to be
displayed at a higher resolution. By carefully canceling out the
automatic scaling of the game canvas we get nice crisp pixels even on
high DPI screens.
See the pull request for before/after screenshots.
2020-09-11 16:17:36 -07:00
Eevee (Evelyn Woods)
d3e60b88fa
Stub out enough for CC2's Lesson 3 to load
2020-09-10 21:21:30 -06:00
Eevee (Evelyn Woods)
e8d3adfe8e
Fix rotating actors in the editor
2020-09-10 21:06:58 -06:00
Eevee (Evelyn Woods)
6e7790efa6
Fix drawing with the mouse (button and buttons use different ordering)
2020-09-10 20:51:38 -06:00
Eevee (Evelyn Woods)
0c2295dc1d
Make the editor grid a bit more rigid; add a few more basic tiles
2020-09-10 20:44:34 -06:00
Eevee (Evelyn Woods)
6bfb5f7896
Add mouse3 panning to the editor
2020-09-10 20:31:01 -06:00
Eevee (Evelyn Woods)
7c9bc92627
Start on editor UI; introduce some tools; implement adjust and force floors
2020-09-10 20:24:20 -06:00
Eevee (Evelyn Woods)
5da3a0f473
Load random force floors from c2m; read the initial direction from replays
2020-09-10 18:22:50 -06:00
Eevee (Evelyn Woods)
55214fad75
Add some visual feedback to the chip, time, and score counters
2020-09-10 18:07:49 -06:00
Eevee (Evelyn Woods)
16bfe22593
Implement score flags and the stopwatches
2020-09-10 17:45:14 -06:00
Eevee (Evelyn Woods)
1453f68de5
Split up the actor loop, so actors make decisions in a separate pass
...
This fixes a lot of subtle issues: creatures hitting you when you push a
block past them, blocks moving jerkily while you push them (not even
sure why on that one), probably implementation of "the stupid glitch"...
2020-09-10 12:39:18 -06:00
Eevee (Evelyn Woods)
549b34ad30
Split out the game proper
2020-09-10 11:05:38 -06:00
Eevee (Evelyn Woods)
6b5b8b06aa
Spruce up the options dialog, though it still doesn't work
2020-09-09 21:39:24 -06:00
Eevee (Evelyn Woods)
e85a896f5c
Add CCLP3
2020-09-09 20:45:16 -06:00
Eevee (Evelyn Woods)
51a554286a
Fix teeth not moving on levels without a time limit
2020-09-09 20:08:51 -06:00
Eevee (Evelyn Woods)
ac053d6c1f
Restart the level when switching back from the editor
2020-09-09 18:47:18 -06:00
Eevee (Evelyn Woods)
a3928b2865
Implement splashes and explosions, at least partially
2020-09-08 15:16:35 -06:00
Eevee (Evelyn Woods)
321641d8d8
Make fire block monsters; cleanup in prep for more CC2 nonsense
2020-09-08 14:52:23 -06:00
Eevee (Evelyn Woods)
88ec9f89e7
Fix turtles and implement swivels; CC2 LESSON 1 now replays correctly!
2020-09-08 14:23:55 -06:00
Eevee (Evelyn Woods)
d38cbc9294
Add more items to the editor, fix its buttons, do smart drawing
2020-09-08 12:39:06 -06:00
Eevee (Evelyn Woods)
bb50189644
Actors who start on traps should start the level trapped
2020-09-07 14:38:31 -06:00
Eevee (Evelyn Woods)
2b07254d70
Fix undoing of slide moves
2020-09-05 19:50:09 -06:00
Eevee (Evelyn Woods)
9197061096
Don't stop when hitting a wall on a force floor
2020-09-05 19:41:36 -06:00
Eevee (Evelyn Woods)
136fa432e3
Prevent pushing a block off a cloner
2020-09-05 19:19:08 -06:00
Eevee (Evelyn Woods)
3d6dca2440
Fix blocks sliding on ice and also squishing the player
2020-09-05 17:57:48 -06:00
Eevee (Evelyn Woods)
4ccf17120b
Fix turning around when hitting a wall on an ice corner
2020-09-05 17:47:33 -06:00
Eevee (Evelyn Woods)
a43b7e1d37
Wire up the "change pack" button
2020-09-05 17:37:11 -06:00
Eevee (Evelyn Woods)
077999de57
Fix restart
2020-09-05 17:30:41 -06:00
Eevee (Evelyn Woods)
b01601fab6
Correctly identify DAT files; don't render editor when not in use
2020-09-05 17:17:59 -06:00
Eevee (Evelyn Woods)
bd526059f7
Unbreak opening CCLP1 (oops)
2020-09-05 17:11:34 -06:00
Eevee (Evelyn Woods)
6f6f0fab48
Finally support "uploading" your own levels
2020-09-05 17:10:52 -06:00
Eevee (Evelyn Woods)
dea7a7b754
Add a splash screen and the beginning of an editor
2020-09-05 16:21:31 -06:00
Eevee (Evelyn Woods)
25989fc75b
Limit the undo stack to 200 tics
2020-09-03 13:55:19 -06:00
Eevee (Evelyn Woods)
8384b8d268
Auto-pause when losing focus
2020-09-03 13:53:22 -06:00
Eevee (Evelyn Woods)
8309b80342
Fix draw order of tiles in a cell once and for all
2020-09-03 10:39:19 -06:00
Eevee (Evelyn Woods)
15d3d43b76
Let's just guarantee that tic_offset is never 1
2020-09-03 10:31:46 -06:00
Eevee (Evelyn Woods)
bd57f686c7
Fix walk animation speed; fix occasional camera hiccups
2020-09-03 10:28:34 -06:00
Eevee (Evelyn Woods)
041d0223c7
Make ignoring work on sliding tiles again
2020-09-03 10:28:17 -06:00
Eevee (Evelyn Woods)
4972b0bc82
Fix teeth behavior to match CC2
2020-09-03 10:11:26 -06:00
Eevee (Evelyn Woods)
2df8607243
Fixed several issues with animation and movement; quick stab at replay UI
...
- Animation now has its own timer and isn't linked to movement cooldown,
which is good for blocks since they don't have movement cooldown
- Destroyed actors don't crash the game again (oops)
- Slide and cooldown handling was reshuffled to better support the CC2
approach of landing on tiles with a delay; in particular, you move at
double speed on sliding tiles again!
- Demo playback got some rough UI so I don't have to keep editing the
source code to decide whether to play a demo
2020-09-03 09:46:37 -06:00
Eevee (Evelyn Woods)
13dc5f73b1
Start to split out the renderer and add support for smooth scrolling
2020-09-03 07:36:05 -06:00
Eevee (Evelyn Woods)
8d89f7d9dd
Finish removing 'doomed'; remove Cell.each
2020-09-02 05:26:59 -06:00
Eevee (Evelyn Woods)
0ba5ecc7e3
Implement (PARTIAL) undo; remove 'doomed'; fix a few small tile bugs
2020-09-02 05:20:23 -06:00
Eevee (Evelyn Woods)
1cc631c27e
Load custom trap/cloner connections from CC1 .DAT levels
2020-09-01 09:48:17 -06:00
Eevee (Evelyn Woods)
4d6d835895
Implement walkers, blobs, and teeth
2020-09-01 07:01:02 -06:00
Eevee (Evelyn Woods)
aa7952a3dd
Improve dialog styling; add about text; stub out options
2020-09-01 06:46:29 -06:00
Eevee (Evelyn Woods)
c8bdf121d0
Auto-size the game to fit the browser window
2020-09-01 05:51:26 -06:00
Eevee (Evelyn Woods)
9dccb310e0
Implement random force floors
2020-09-01 05:26:25 -06:00
Eevee (Evelyn Woods)
7a9bc725d4
Implement blue teleporters
2020-09-01 05:15:50 -06:00
Eevee (Evelyn Woods)
cd7a328963
Delete the demo scrubber; complex and not very useful
2020-09-01 05:01:48 -06:00
Eevee (Evelyn Woods)
ab377f6593
Fix demo playback (!): bumping doesn't cause cooldown, thieves were backwards
2020-09-01 05:00:57 -06:00
Eevee (Evelyn Woods)
eb2dd7a4a4
Implement clone machine!
2020-09-01 01:31:42 -06:00
Eevee (Evelyn Woods)
2b4450fc8c
Prevent spacebar from scrolling
2020-08-31 12:24:07 -06:00
Eevee (Evelyn Woods)
af65e3d5b3
Whoops, fix syntax error
2020-08-31 12:18:39 -06:00
Eevee (Evelyn Woods)
8309ff37a8
Add an incredibly crappy restart button
2020-08-31 12:18:09 -06:00
Eevee (Evelyn Woods)
051730750b
Always put the player first in actor order
2020-08-31 12:07:11 -06:00
Eevee (Evelyn Woods)
6076b3c9a1
Add an incredibly bad level select
2020-08-31 11:33:01 -06:00
Eevee (Evelyn Woods)
a76a44e1b8
Fuck it, I guess let anyone use the secret query args
2020-08-31 11:06:27 -06:00
Eevee (Evelyn Woods)
070d276e8a
Implement green/blue buttons, tanks, monster death; stub out remaining CC1 objects; easy restart on death
2020-08-31 11:03:14 -06:00
Eevee (Evelyn Woods)
0390d54909
Styled the whole page; reimplemented pausing; implemented success, score, and time
2020-08-31 10:27:29 -06:00
Eevee (Evelyn Woods)
b871181bf4
Add support for demos, terrible UI for it, and a clumsy pause button
2020-08-31 08:40:44 -06:00
Eevee (Evelyn Woods)
731d3c15a8
Rewrite movement loop and timing to better match Lynx rules
2020-08-30 01:50:34 -06:00
Eevee (Evelyn Woods)
413c511fe1
Implement specialized blocking for dirt, gravel, chips, etc.
2020-08-29 02:22:55 -06:00
Eevee (Evelyn Woods)
b3a0ff963c
Begrudgingly support letter tiles
2020-08-29 02:10:27 -06:00
Eevee (Evelyn Woods)
ec872d93d2
Implement implicit terrain for C2M; implement thin walls
2020-08-29 01:14:59 -06:00
Eevee (Evelyn Woods)
a9b1af8e62
Support CC2's multiple hints
2020-08-29 00:58:04 -06:00
Eevee (Evelyn Woods)
a50de91195
Implement appearing walls and popwalls
2020-08-29 00:30:01 -06:00
Eevee (Evelyn Woods)
bbfa0a6e8f
Split out CC2 tile bytes; stub out enough for Lesson 1 to load; show inventory; implement misc bits
2020-08-28 07:01:28 -06:00
Eevee (Evelyn Woods)
15d9101ebf
Allow me to play commercial levels locally
2020-08-28 05:38:23 -06:00
Eevee (Evelyn Woods)
0dd190fc5a
Finish CC1 parser; show hints; improve ice
2020-08-28 05:24:25 -06:00
Eevee (Evelyn Woods)
3084ca7b49
Initial commit: a game that plays through some of CCLP1
2020-08-28 04:02:03 -06:00